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
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
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
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.
Blowfish
Plaintext
64 bit
.
Blowfish
Plaintext
64 bit
32 bit 32 bitBlowfish
Plaintext
64 bit
32 bit 32 bit P1 32 bitF
32 bit 32 bitBlowfish
Plaintext
64 bit
32 bit 32 bit P1 32 bitF
32 bit 32 bitTukar XL menjadi XR dan XR menjadi XL
P2 32 bitF
Blowfish
Plaintext
64 bit
32 bit 32 bit P1 32 bitF
32 bit 32 bitLakukan proses sebanyak 16 kali
P2 32 bitF
32 bit 32 bit P16 32 bitF
32 bit 32 bitBlowfish
Plaintext
64 bit
32 bit 32 bit P1 32 bitF
32 bit 32 bitPada proses ke-17
lakukan operasi untuk
XR=XR xor P17 dan
XL=XL xor P18
P2 32 bitF
32 bit 32 bit P16 32 bitF
32 bit 32 bit P17 32 bit P18 32 bitBlowfish
Plaintext
64 bit
32 bit 32 bit P1 32 bitF
32 bit 32 bitSatukan kembali XR dan
XL
P2 32 bitF
32 bit 32 bit P16 32 bitF
32 bit 32 bit P17 32 bit P18 32 bitChipertext
32 bit 32 bit64 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.
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
GifShuffle
Alur GifShuffle
Start
Baca pesan
Baca Citra
Gif
Hitung Total
warna
M>N!-1End
yesi = 1
Warna N-I
posisinya menjadi
(M mod i)
M / i
i++
i > NAtur Ulang
Colormap
yesEnd
no noRancangan Sistem
Input
Proses
Output
Pesan
Enkripsi
Blowfish
Penyisipan
GifShuffle
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”
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
1
No Faktor Keterangan
1 Panjang pesan 17 karakter
2 Panjang Chipertext 96 karakter
3 Ukuran gambar 1.55 KB
4 Resolusi 453 x 455
5 Tipe Gambar Bukan Animasi
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
Faktor Uji Coba Skenario 2
1
No Faktor Keterangan
1 Panjang pesan 17 karakter
2 Panjang Chipertext 96 karakter
3 Ukuran gambar 791 KB
4 Resolusi 1024 x 1024
5 Tipe Gambar Bukan animasi
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
Faktor Uji Coba Skenario 3
1
No Faktor Keterangan
1 Panjang pesan 17 karakter
2 Panjang Chipertext 96 karakter
3 Ukuran gambar 69 bytes
4 Resolusi 10 x 10
5 Tipe Gambar Bukan animasi
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
Faktor Uji Coba Skenario 4
1
No Faktor Keterangan
1 Panjang pesan 17 karakter
2 Panjang Chipertext 96 karakter
3 Ukuran gambar 42 KB
4 Resolusi 200 x 261
5 Tipe Gambar Bukan animasi
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
Faktor Uji Coba Skenario 5
1
No Faktor Keterangan
1 Panjang pesan 17 karakter
2 Panjang Chipertext 96 karakter
3 Ukuran gambar 4.23 KB
4 Resolusi 353 x 251
5 Tipe Gambar Bukan animasi
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
Faktor Uji Coba Skenario 6
1
No Faktor Keterangan
1 Panjang pesan 51 karakter
2 Panjang Chipertext 224 karakter
3 Ukuran gambar 4.23 KB
4 Resolusi 353 x 251
5 Tipe Gambar Bukan animasi
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
Faktor Uji Coba Skenario 7
1
No Faktor Keterangan
1 Panjang pesan 17 karakter
2 Panjang Chipertext 96 karakter
3 Ukuran gambar 32.4 KB
4 Resolusi 290 x 360
5 Tipe Gambar Animasi
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
Faktor Uji Coba Skenario 8
1
No Faktor Keterangan
1 Panjang pesan 17 karakter
2 Panjang Chipertext 96 karakter
3 Ukuran gambar 814 Bytes
4 Resolusi 3 x 5
5 Tipe Gambar bukan animasi
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
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.