Skip to content

vincentbudianto/Stego-Helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aplikasi Steganografi pada Berkas Citra, Audio, dan Video dengan Metode LSB dan Metode BPCS

Aplikasi steganografi sederhana yang dibangun dengan menggunakan bahasa pemrograman python.

Requirement:

  • python 3.*
  • pip / conda
  • ffmpeg

Instalasi Environment

$ sudo apt install ffmpeg
$ conda env create -n stego-helper -f env.yml

Run Program

$ python main.py

Steganografi

Steganografi adalah proses penyembunyian file rahasia dalam file yang lebih besar sedemikian rupa sehingga orang lain tidak dapat mengetahui keberadaan atau isi pesan yang disembunyikan tersebut. Steganografi bertujuan untuk menjaga komunikasi rahasia antara dua pihak. Tidak seperti kriptografi yang menyembunyikan isi pesan rahasia, steganografi menyembunyikan fakta adanya pesan rahasia yang dikomunikasikan.

Metode Steganografi

  • LSB
    Metode Least Significant Bit (LSB) mengganti nilai bit terakhir dengan bit data informasi rahasia. Jika Most Significant Bit (MSB) diganti, maka akan menghasilkan dampak yang lebih besar pada nilai akhir tetapi jika Least Significant Bit (LSB) diganti, dampak yang dihasilkan minimal, sehingga digunakan least significant bit steganography.

  • BPCS
    Metode Bit-Plane Complexity Segmentation (BPCS) mengganti bitplane pada file gambar dengan bitplane pada file atau pesan rahasia jika nilai kompleksitas bitplane gambar diatas threshold yang ditentukan.

Media File :

  • Image
    Image steganography menyembunyikan file dalam sebuah file citra yang bertipe .bmp atau .png. File .bmp atau .png dipakai karena file tersebut tidak mengalami kompresi sehingga penerapan steganografi pada bit-bit data tidak akan terlalu mempengaruhi objek stego yang dihasilkan.

  • Video
    Video steganography menyembunyikan file dalam sebuah file video yang bertipe .avi. File .avi dipakai karena file tersebut tidak mengalami kompresi sehingga penerapan steganografi pada bit-bit data tidak akan terlalu mempengaruhi objek stego yang dihasilkan.
    Cara melakukan steganografi pada file video dengan tipe .avi adalah dengan mengubah bit pada layer frame, khususnya frame gambar sehingga proses steganografi yang dilakukan mirip dengan steganografi gambar dengan jumlah frame yang banyak sehingga ukuran message yang dapat disisipkan pada file video jauh lebih besar dibandingkan dengan steganografi gambar.

  • Audio
    Audio steganography menyembunyikan file dalam sebuah file audio yang bertipe .wav. Alasan file .wav yang dibutuhkan dikarenakan file tersebut tidak mengalami kompresi sehingga metode LSB pada bit-bit data tidak akan terlalu mempengaruhi hasil audio yang dihasilkan.
    Cara melakukan steganografi pada file audio dengan tipe .wav adalah dengan memulai encoding pada byte ke-44 dengan metode LSB. Setelah itu, file hasil embedding akan dihubungkan kembali dengan 44 bit yang sebelumnya.

Program Steganografi

Program steganografi yang dibuat dapat memproses media file gambar, video, maupun audio. Selain itu, untuk menambahkan tingkat kompeksitas penyisipan pesan, program memiliki 2 fitur, yaitu :

  • Enkripsi
    program dapat melakukan enkripsi untuk file pesan dengan menggunakan metode vigenere cipher sebelum pesan disisipkan pada media file
  • Random
    program dapat menyisipkan pesan secara acak untuk byte dari pesan, pada image dapat dilakukan random pada penyisipan dari posisi pixel, dan pada video juga dapat dilakukan random pada penyisipan dari posisi frame

Opsi Aplikasi Steganografi

  • Image (LSB)
    Steganografi melalui media gambar dengan metode LSB.

    • Acceptable file : .bmp, .png
    • Parameter input
      • stego key : key sebagai kunci enkripsi dan digunakan untuk membangkitkan nilai seed pada fungsi random
      • encryption : status enkripsi untuk file message
      • random pixel : metode pengacakan untuk penyisipan bit pada pixel gambar
  • Image (BPCS)
    Steganografi melalui media gambar dengan metode LSB.

    • Acceptable file : .bmp, .png
    • Parameter input
      • stego key : key sebagai kunci enkripsi dan digunakan untuk membangkitkan nilai seed pada fungsi random
      • threshold : nilai batas untuk menentukan informative regions dan noise-like regions
      • encryption : status enkripsi untuk file message
      • random pixel : metode pengacakan untuk penyisipan bit pada pixel bitplane
  • Video
    Steganografi melalui media gambar dengan metode LSB.

    • Acceptable file : .avi
    • Parameter input
      • stego key : key sebagai kunci enkripsi dan digunakan untuk membangkitkan nilai seed pada fungsi random
      • encryption : status enkripsi untuk file message
      • random frame : metode pengacakan untuk penyisipan bit pada frame video
      • random pixel : metode pengacakan untuk penyisipan bit pada pixel video
  • Audio
    Steganografi melalui media gambar dengan metode LSB.

    • Acceptable file : 'wav', '-wav', 'x-wav'
    • Parameter input
      • stego key : key sebagai kunci enkripsi dan digunakan untuk membangkitkan nilai seed pada fungsi random
      • encryption : status enkripsi untuk file message
      • random : metode pengacakan untuk penyisipan bit pada byte video

PSNR

Program juga dapat menghitung nilai PSNR atau Peak Signal-to-Noise Ratio yang menunjukkan perbandingan antara nilai maksimum dari sinyal yang diukur dengan besarnya dearu yang berpegaruh pada sinyal tersebut dan diukur dengan satuan desibel. Untuk menghitung PSNR gambar, dengan membandingkan perbedaan setiap pixel dari gambar, untuk video dengan menghitung rata-rata nilai PSNR setiap frame dengan menggunakan perhitungan PSNR gambar, sedangkan untuk menghitung PSNR audio dengan membandingkan setiap byte pada file audionya.

Referensi

Author

About

Steganography embedding and extraction tools

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages