Penyusun Tugas Akhir : Tegar Meda Rahman 5108100019 Dosen Pembimbing : Ary Mazharudin Shiddiqi, S.Kom, M.Comp.Sc Hudan Studiawan, S.Kom, M.Kom
IMPLEMENTASI KRIPTOGRAFI DAN STEGANOGRAFI PADA MEDIA GAMBAR DENGAN MENGGUNAKAN METODE BLOWFISH DAN GIFSHUFFLE
Point Latar Belakang Rumusan masalah Metode Rancangan Sistem Uji Coba Kesimpulan
Latar Belakang Komunikasi Kriptografi Steganografi Keamanan
Rumusan Masalah Bagaimana membuat program kriptografi dengan menggunakan algoritma Blowfish kemudian menyisipkan pesan yang telah di enkripsi tersebut ke dalam sebuah image dengan menggunakan algoritma GifShuffle. Bagaimana membuat program yang mampu melakukan Dekripsi dari file yang telah di enkripsi dengan menggunakan algoritma Blowfish dan GifShuffle.
Metode Blowfish GifShuffle
Blowfish Algoritma Blowfish merupakan Algoritma kunci simetrik chiper blok Blowfish dirancang dan diharapkan mempunyai kriteria perancangan yang diinginkan sebagai berikut: Cepat Compact Sederhana Memiliki keamanan yang bervariasi
Blowfish Untuk enkripsi terdiri dari perulangan fungsi sederhana sebanyak 16 kali. Setiap putaran terdiri dari permutasi key dependent, key subtitution dan data dependent. Semua operasi pada variabel 32 bit adalah penambahan dan XOR Operasi tambahan lainya hanya empat tabel penelusuran array (lookup table) berindeks untuk stiap putaranya. Jalur algoritma akan di jelaskan sebagai berikut
Blowfish 1. Bentuk inisial array P sebanyak 18 buah masing-masing bernilai 32 bit. 2. Bentuk S-box sebanyak 4 buah yang masing-masing bernilai 32 bit dan memiliki 256 masukan. 3. Plaintext yang akan di enkripsi diambil sebanyak 64 bit, bila kurang maka ditambahkan bitnya 4. Plaintext di bagi menjadi 2 bagian yaitu XL dan XR 5. Lakukan operasi XL = XL xor Pi dan XR = F(XL) xor XR. 6. Hasilnya ditukar XL menjadi XR, begitu juga sebaliknya 7. Lakukan proses sebanyak 16 kali 8. Pada proses ke-17 lakukan operasi untuk XR=XR xor P17 dan XL=XL xor P18. 9. Satukan kembali XL dan XR.
Blowfish Plaintext 64 bit. Plaintext yang akan dienkripsi diambil sebanyak 64 bit
Blowfish Plaintext 32 bit 32 bit 64 bit Plaintext di bagi menjadi 2 bagian yaitu XL dan XR
Blowfish P1 32 bit Plaintext 32 bit 32 bit 32 bit 32 bit F 64 bit XL = XL xor Pi dan XR = F(XL) xor XR
Blowfish P1 32 bit Plaintext 32 bit 32 bit 32 bit 32 bit F 64 bit P2 32 bit 32 bit 32 bit F Tukar XL menjadi XR dan XR menjadi XL
Blowfish P1 32 bit Plaintext 32 bit 32 bit 32 bit 32 bit F 64 bit P2 32 bit 32 bit 32 bit F P16 32 bit F 32 bit 32 bit Lakukan proses sebanyak 16 kali
Blowfish Plaintext 64 bit 32 bit 32 bit P1 32 bit 32 bit 32 bit F P2 32 bit 32 bit 32 bit F Pada proses ke-17 lakukan operasi untuk XR=XR xor P17 dan XL=XL xor P18 32 bit P16 F 32 bit P18 32 bit 32 bit 32 bit P17
Blowfish Plaintext 64 bit 32 bit 32 bit P1 32 bit 32 bit 32 bit F P2 32 bit 32 bit 32 bit F Satukan kembali XR dan XL P16 P18 32 bit F 32 bit 32 bit 32 bit 32 bit P17 32 bit 32 bit Chipertext 64 bit
Blowfish Untuk proses dekripsi algoritma Blowfish memiliki keunikan yaitu proses dekripsi dilakukan sama persis seperti proses enkripsi hanya saja urutan P1,P2,,P18 digunakan dalam urutan terbalik. Dalam algoritma Blowfish juga terdapat fungsi F.
Fungsi F
GifShuffle Inti dari algoritma GifShuffle adalah memanfaatkan header file GIF yang menyimpan colormap sebagai media penyisipan pesan. Algoritma GifShuffle nantinya akan melakukan penukaran posisi colormap. Hal ini aman dilakukan karena 2 buah berkas gif dengan posisi colormap yang berbeda akan menampilkan gambar yang sama.
GifShuffle 2 23 24 25
Start Alur GifShuffle Baca pesan i = 1 Warna N-I posisinya menjadi (M mod i) Baca Citra Gif Hitung Total warna no M / i i++ no i > N M>N!-1 yes End yes Atur Ulang Colormap End
Rancangan Sistem Input Proses Output Pesan Enkripsi Blowfish Penyisipan GifShuffle Chipertext
Uji Coba Data Uji Coba Skenario Uji coba
Data Uji Coba
Data Uji Coba
Data Uji Coba
Data Uji Coba
Data Uji Coba
Data Uji Coba Pesan yang di masukan Ujian Tugas Akhir dan Ujian Tugas Akhir Hari ini Semoga Sukses dan lancar Pesan terdiri dari 17 karakter dan 51 karakter
Uji Coba Skenario No Nama Jumlah Colormap Resolusi Ukuran 1 Transparan 252 435 x 455 1.55 KB 2 Matahari 185 1024 x 1024 791 KB 3 Box 4 10 x 10 69 Bytes 4 Mona 256 200 x 261 42 KB 5 Airplane 8 353 x 251 4.23 KB 6 Animasi 131 290 x 360 32.4 KB 7 test 252 3 x 5 814 Bytes
Faktor Uji Coba Skenario 1 No Faktor Keterangan 1 Panjang pesan 17 karakter 2 Panjang Chipertext 96 karakter 3 Ukuran gambar 1.55 KB 1 4 Resolusi 453 x 455 5 Tipe Gambar Bukan Animasi 6 Spesifikasi perangkat keras Sesuai Tabel 5.1 dan 5.2
Hasil Uji Coba Skenario 1 No Faktor Keterangan 1 Jumlah warna 252 2 Ukuran gambar 1.55 KB 3 Resolusi 453 x 455 4 Proses Enkripsi Berhasil 5 Proses Dekripsi Berhasil 6 Kecepatan Enkripsi Tabel 5.1 535 milidetik 7 Kecepatan Dekripsi Tabel 5.1 66 milidetik
Faktor Uji Coba Skenario 2 No Faktor Keterangan 1 Panjang pesan 17 karakter 2 Panjang Chipertext 96 karakter 3 Ukuran gambar 791 KB 1 4 Resolusi 1024 x 1024 5 Tipe Gambar Bukan animasi 6 Spesifikasi perangkat keras Sesuai Tabel 5.1 dan 5.2
Hasil Uji Coba Skenario 2 No Faktor Keterangan 1 Jumlah warna 185 2 Ukuran gambar 791 KB 3 Resolusi 1024 x 1024 4 Proses Enkripsi Berhasil 5 Proses Dekripsi Berhasil 6 Kecepatan Enkripsi Tabel 5.1 17133 7 Kecepatan Dekripsi Tabel 5.1 13541
Faktor Uji Coba Skenario 3 No Faktor Keterangan 1 Panjang pesan 17 karakter 2 Panjang Chipertext 96 karakter 3 Ukuran gambar 69 bytes 1 4 Resolusi 10 x 10 5 Tipe Gambar Bukan animasi 6 Spesifikasi perangkat keras Sesuai Tabel 5.1 dan 5.2
Hasil Uji Coba Skenario 3 No Faktor Keterangan 1 Jumlah warna 4 2 Ukuran gambar 69 bytes 3 Resolusi 10 x 10 4 Proses Enkripsi - 5 Proses Dekripsi - 6 Kecepatan Enkripsi Tabel 5.1-7 Kecepatan Dekripsi Tabel 5.1 4
Faktor Uji Coba Skenario 4 No Faktor Keterangan 1 Panjang pesan 17 karakter 2 Panjang Chipertext 96 karakter 3 Ukuran gambar 42 KB 1 4 Resolusi 200 x 261 5 Tipe Gambar Bukan animasi 6 Spesifikasi perangkat keras Sesuai Tabel 5.1 dan 5.2
Hasil Uji Coba Skenario 4 No Faktor Keterangan 1 Jumlah warna 256 2 Ukuran gambar 42 KB 3 Resolusi 200 x 261 4 Proses Enkripsi Berhasil 5 Proses Dekripsi Berhasil 6 Kecepatan Enkripsi Tabel 5.1 1177 7 Kecepatan Dekripsi Tabel 5.1 807
Faktor Uji Coba Skenario 5 No Faktor Keterangan 1 Panjang pesan 17 karakter 2 Panjang Chipertext 96 karakter 3 Ukuran gambar 4.23 KB 1 4 Resolusi 353 x 251 5 Tipe Gambar Bukan animasi 6 Spesifikasi perangkat keras Sesuai Tabel 5.1 dan 5.2
Hasil Uji Coba Skenario 5 No Faktor Keterangan 1 Jumlah warna 8 2 Ukuran gambar 4.23 KB 3 Resolusi 353 x 251 4 Proses Enkripsi Berhasil 5 Proses Dekripsi Berhasil 6 Kecepatan Enkripsi Tabel 5.1 227 7 Kecepatan Dekripsi Tabel 5.1 140
Faktor Uji Coba Skenario 6 No Faktor Keterangan 1 Panjang pesan 51 karakter 2 Panjang Chipertext 224 karakter 3 Ukuran gambar 4.23 KB 1 4 Resolusi 353 x 251 5 Tipe Gambar Bukan animasi 6 Spesifikasi perangkat keras Sesuai Tabel 5.1 dan 5.2
Hasil Uji Coba Skenario 6 No Faktor Keterangan 1 Jumlah warna 8 2 Ukuran gambar 4.23 KB 3 Resolusi 353 x 251 4 Proses Enkripsi Berhasil 5 Proses Dekripsi Berhasil 6 Kecepatan Enkripsi Tabel 5.1 258 7 Kecepatan Dekripsi Tabel 5.1 138
Faktor Uji Coba Skenario 7 No Faktor Keterangan 1 Panjang pesan 17 karakter 2 Panjang Chipertext 96 karakter 3 Ukuran gambar 32.4 KB 1 4 Resolusi 290 x 360 5 Tipe Gambar Animasi 6 Spesifikasi perangkat keras Sesuai Tabel 5.1 dan 5.2
Hasil Uji Coba Skenario 7 No Faktor Keterangan 1 Jumlah warna 131 2 Ukuran gambar 29.2 KB 3 Resolusi 290 x 360 4 Proses Enkripsi Berhasil 5 Proses Dekripsi Berhasil 6 Kecepatan Enkripsi Tabel 5.1 1073 7 Kecepatan Dekripsi Tabel 5.1 744
Faktor Uji Coba Skenario 8 No Faktor Keterangan 1 Panjang pesan 17 karakter 2 Panjang Chipertext 96 karakter 3 Ukuran gambar 814 Bytes 1 4 Resolusi 3 x 5 5 Tipe Gambar bukan animasi 6 Spesifikasi perangkat keras Sesuai Tabel 5.1 dan 5.2
Hasil Uji Coba Skenario 8 No Faktor Keterangan 1 Jumlah warna 252 2 Ukuran gambar 814 Bytes 3 Resolusi 3 x 5 4 Proses Enkripsi Berhasil 5 Proses Dekripsi Berhasil 6 Kecepatan Enkripsi Tabel 5.1 345 7 Kecepatan Dekripsi Tabel 5.1 39
Kesimpulan Pemanfaatan Algoritma Blowfish dan GifShuffle dengan menggunakan Java telah berhasil diimplementasikan. Media gambar yang digunakan sebagai media penyimpanan tidak mengalami perubahan pada ukuran dan dimensi. Secara kasat mata terlihat mirip tetapi sebenarnya berbeda karena nilai PSNR tidak lebih besar dari 50dB. Performa proses enkripsi dan dekripsi dipengaruhi oleh besarnya pesan yang akan disembunyikan dan besarnya ukuran media gambar yang digunakan untuk menyembunyikan pesan. Semakin besar pesan dan media gambar yang digunakan untuk menyembunyikan pesan, semakin lama waktu yang dibutuhkan. Proses Dekripsi memiliki performa yang lebih cepat daripada proses enkripsi, hal ini dikarenakan pada proses dekripsi pada algoritma GifShuffle prosesnya lebih sederhana karena tidak perlu mengganti colormap yang baru dengan yang lama yang lebih diutamakan adalah pesan yang disembunyikan dapat dibaca kembali. Setiap berkas GIF tidak selalu memiliki jumlah warna yang sama. Banyaknya kapasitas yang dapat ditampung oleh berkas GIF tidak tergantung pada ukuran dan resolusi. Tetapi pada banyaknya jumlah colormap yang ada pada berkas GIF. berkas dengan format GIF mengandung 256 colormap maka dapat disimpulkan bahwa total penyimpanan maksimum dari format ini adalah faktorial 256. Tingkat keamanan sangat tinggi karena algoritma Blowfish sampai saat ini masih belum ada yang berhasil mematahkan dengan sempurna, ditambah dengan algoritma steganografi GifShuffle yang secara kasat mata terlihat mirip.
Terima Kasih