Steganografi adalah seni menyembunyikan informasi rahasia dalam media yang tampak biasa atau tidak mencurigakan. Istilah ini berasal dari bahasa Yunani, di mana "steganos" berarti tersembunyi, dan "graphein" berarti menulis. Steganografi bertujuan untuk menyembunyikan keberadaan pesan itu sendiri, bukan hanya isinya, sehingga hanya penerima yang dituju yang bisa mengetahui bahwa ada pesan tersembunyi. Media yang sering digunakan dalam steganografi termasuk gambar, audio, video, dan teks.
Proyek ini merupakan implementasi gabungan dari kriptografi dan steganografi untuk menyembunyikan pesan rahasia di dalam gambar. Dua metode enkripsi yang digunakan adalah:
- Playfair Cipher: Kriptografi klasik berbasis matriks.
- ElGamal: Kriptografi modern yang lebih kuat dengan enkripsi asimetris.
- Least Significant Bit (LSB) Steganography: Teknik steganografi yang menyisipkan pesan di dalam bit paling tidak signifikan dari gambar digital.
⚙️ Tujuan utama proyek:
- Mengenkripsi pesan menggunakan algoritma Playfair dan ElGamal.
- Menyisipkan pesan yang telah dienkripsi ke dalam gambar dengan LSB Steganography.
- Mengekstrak dan mendekripsi pesan dari gambar yang tersisipkan untuk mengembalikan plaintext asli.
- Playfair Cipher: Metode enkripsi klasik yang menggunakan matriks 5x5 dan kunci khusus.
- ElGamal Encryption: Metode enkripsi modern yang mengandalkan kunci publik dan privat untuk keamanan ekstra.
- LSB Steganography: Teknik untuk menyembunyikan data di dalam gambar digital tanpa mengubah tampilannya secara kasat mata.
- Generate Kunci ElGamal: Pembangkit kunci publik dan privat untuk enkripsi asimetris.
- Enkripsi dengan Playfair & ElGamal:
- Teks asli dienkripsi menggunakan Playfair Cipher.
- Ciphertext Playfair kemudian dienkripsi kembali dengan ElGamal.
- Embed ke Gambar: Hasil enkripsi disisipkan ke dalam gambar melalui teknik LSB Steganography, memodifikasi bit paling tidak signifikan dari piksel gambar.
- Ekstraksi Pesan: Program mengekstrak ciphertext tersembunyi dari gambar.
- Dekripsi ElGamal: Ciphertext pertama didekripsi menggunakan kunci privat ElGamal.
- Dekripsi Playfair: Ciphertext hasil ElGamal didekripsi menggunakan Playfair Cipher untuk mendapatkan pesan asli.