Akik Hidayat
Jurusan Matematika, Universitas Padjadjaran, Bandung Jatinangor, Km 21 Bandung Sumedang, 45363
ABSTRAK
Keamanan dan kerahasiaan sangat dibutuhkan dalam dunia komunikasi khususnya dalam dunia komunikasi digital. Diperlukan metode khusus untuk menjamin keamanan informasi, supaya informasi hanya dapat dimengerti oleh pihak yang dituju. Teknik yang umum digunakan adalah dengan mengacak data atau Kriptografi. Tetapi informasi yang diacak sering menimbulkan kecurigaan, maka dibutuhkan teknik lain yaitu dengan menyembunyian data atau Steganografi. Teknik Steganografi dapat diterapkan sebagai kelanjutan dari Kriptografi, dan kombinasi dari keduanya akan menghasilkan tingkat keamanan data yang sangat tinggi. Akan diperlihatkan menggabungkan teknik Kriptografi dan Steganografi untuk menjaga keamanan data teks sekaligus menyisipkan data teks tersebut dalam gambar digital tanpa mengubah gambar tersebut secara visual,sehingga menghasilkan sebuah metode Steganografi yang optimal untuk menyembunyikan suatu pesan teks di dalam sebuah gambar digital.
ABSTRACT
For many reasons, safety and secrecy is vitally needed in digital communication. There have to be some special method to ensure the safety of message, so only the correct recipient able to know the content of message. The general method is encrypt the message (Cryptography), but encrypted message is very suspicious and will attract everyone who see it. The other method is to hide the message (Steganography). Steganography can be applied with the Cryptography, and the combination of both methods will increase the safety of information. Cryptography scramble the message but it still exist, and Steganography cover and hide the encrypted message to other media so the original message cannot be seen. Combine the Cryptography and Steganography methods for data communication security, to hide the text message in a digital image without any change in image visually, targets is to know the Steganography and to make an optimal Steganography methods that can able to hide a text message into a digital image. Keyword : Cryptography, Encrypt, Descrypt, Stenografi
I. PENDAHULUAN.
Untuk berbagai alasan, keamanan dan kerahasiaan sangat kita butuhkan dalam komunikasi data. Ada berbagai cara untuk menjamin keamanan dan kerahasiaan komunikasi data kita di antaranya adalah dengan seni pengacakan data / Kriptografi dan seni penyembunyian data / Steganografi. Pada makalah ini Akan diperlihatkan teknik enkripsi serta dekripsi pada algoritma Vigenere dan TEA serta teknik Encoding data teks atau file text (TXT) ke dalam file gambar Bitmap (BMP) dan Decoding data teks tersebut dari dalam gambar. Yang bertujuan untuk memberikan salah satu solusi pada keamanan komunikasi data berupa teks atau file teks (TXT) karena telah dienkripsi dan disembunyikan ke dalam sebuah gambar Bitmap (BMP) dan menerapkan Kriptografi dan Steganografi serta gabungan keduanya menjadi suatu teknik dalam masalah pengamanan komunikasi data.
Kriptografi Klasik (Mode teks) Cipher Subsitusi (Subsitution Cipher) Cipher Transposisi (Transposition Cipher) Kriptografi Modern (Mode bit) Cipher Kunci Simetri : Cipher Aliran, Cipher Blok Cipher Kunci Publik (Cipher Public Key); Cipher Fungsi Hash
II.4. Steganografi
1
Steganografi adalah teknik/seni menyembunyikan informasi di balik informasi lain, sehingga informasi sesungguhnya tidak kelihatan. Media yang digunakan dalam Steganografi: Gambar (Image Steganography) Suara (Audio Steganography) Text (Text Steganography/Text Mimicking)
III. ANALISIS DAN PERANCANGAN III.1. Diagram Alur Proses Enkripsi dan Encoding :
1.Teks Pesan 2.Teks Kunci 3.Gambar Stego Image
Pengirim Pesan
Penerima Pesan
Pengirim Pesan
10 Tulis Kunci Proses Enkripsi dan Encoding gambar Gambar Teks pesan 20 Proses Decoding dan Dekripsi gambar output Stego image Tulis kunci Penerima Pesan Stego Image
Pesan
File teks
Pesan
14 12 Proses Enkripsi Cipherteks Encode teks ke file gambar Gambar Stego (BMP)
Tulis kunci
File gambar
Gambar
Stego Image
Kunci
teks kunci
122 Proses Enkripsi dengan Algoritma TEA Chiperteks Vigenere Ciphertext Cipher Text Vigenere & TEA
teks kunci
Cipher Text Vigenere & TEA teks 141 Ubah jadi bit teks Bit teks 143 Proses Encoding (Sisipkan bit teks ke dalam bit gambar) Bit gambar
gambar (BMP)
Stego Image
III.2. Algoritma Vignere Algoritma Enkripsi Vignere: a GetTextLen (plainteks) //Hitung jumlah array dari plaintext b GetTextLen(kunci) // Hitung jumlah array dari kunci x 0 // isi variabel x dengan nilai 0 While x <= a begin for j 1 to b do begin p Ord (plainteks [x] ) //Mengubah char menjadi kode ASCII p p 97 //Kode ASCII diubah (a menjadi 0) k ord ( kunci[j] ) // key menjadi ASCII k k 97 //K ode ASCII diubah (a menjadi 0) //operasi penambahan plaintext dengan key-nya c ( p + k ) mod 26 // operasi Vignere
c c + 97 // K ode ASCII diubah mjd huruf Ciphertext Ciphertext+c // Tulis hasil ke dalam Ciphertext inc ( x ) // nilai x ditambah 1 end end Algoritma Dekripsi Vignere: a GetTextLen (Ciphertext) //Hitung jumlah array dari Ciphertext b GetTextLen (kunci) // Hitung jumlah array dari kunci x 0 // isi variabel x dengan nilai 0 While x <= a begin for j 1 to b do begin c Ord (Ciphertext [x]) //Mengubah char menjadi kode ASCII c c 97 //Kode ASCII diubah (a menjadi 0) k ord ( kunci[j] ) // key menjadi ASCII k k 97 //Kode ASCII diubah (a menjadi 0) //operasi pengurangan Ciphertext dengan key-nya p ( c - k ) mod 26 // operasi Vignere p p + 97 // K ode ASCII diubah mjd huruf plaintext plaintext + p // Tulis hasil ke dalam plaintext inc ( x ) end end III.3. Algoritma TEA (Tiny Encryption Algorithm) TEA memproses 64-bit input dan menghasilkan 64-bit output. 64-bit input disimpan ke dalam L0 dan R0 @32-bit. Sedangkan 128-bit kunci disimpan ke dalam k[0], k[1], k[2], dan k[3] @32-bit. Output-nya disimpan dalam L32 dan R32. Algoritma Enkripsi TEA (Tiny Encryption Algorithm) procedure TeaEncrypt(var data: TLong2; const key: TTeaKey); var y,z,sum: Longword; a:byte; begin y:=data[0]; z:=data[1]; sum:=0; for a:=0 to 31 do begin inc(sum,Delta); inc(y,((z shl 4)+key[0]) xor (z+sum) xor ((z shr 5)+key[1])); inc(z,((y shl 4)+key[2]) xor (y+sum) xor ((y shr 5)+key[3])); end; data[0]:=y; data[1]:=z end; Algoritma Dekripsi TEA (Tiny Encryption Algorithm) procedure TeaDecrypt(var data: TLong2; const key: TTeaKey); var y,z,sum: Longword; a:byte; begin y:=data[0]; z:=data[1]; sum:=delta shl 5; for a:=0 to 31 do begin dec(z,((y shl 4)+key[2]) xor (y+sum) xor ((y shr 5)+key[3])); dec(y,((z shl 4)+key[0]) xor (z+sum) xor ((z shr 5)+key[1])); dec(sum,Delta); end; data[0]:=y; data[1]:=z end;
R2 = i j (ASCII) Penghitungan sampai round 32, akan diperoleh L31 dan R31 ciphertext sebagai berikut: Ciphertext: " z (138 - 240 - 223 - 198 - 34 - 122 - 154 - 179) II.A. Dekripsi TEA : Ciphertext : "z L0 : (138-240-223-198)d R0 : "z (34-122-154-179)d Kunci : abc Key[0] : abcKey[1] : - - - Key[2] : - - - Key[3] : - - - (97-98-99-0) d (0) d (0) d (0) d
(10001010 11110000 11011111 11000110)b (00100010 01111010 10011010 10110011)b (01100001 01100010 01100011 00000000)b (00000000 00000000 00000000 00000000)b (00000000 00000000 00000000 00000000)b (00000000 00000000 00000000 00000000)b
Round 1 : SUM = 32 X (2654435770) R1 = R0 ( (L0 Shl 4) + k[2]) XOR (L0+SUM) XOR ((L0 Shr 5) + k[3]) ) R1 = 00100010 01111010 10011010 10110011 + ( (10001010 11110000 11011111 11000110 Shl 4) + 00000000 00000000 00000000 00000000) XOR (10001010 11110000 11011111 11000110 + SUM ) XOR ( (10001010 11110000 11011111 11000110 Shr 5) + 00000000 00000000 00000000 00000000 ) R1 = 01010100 00100010 10011111 01000111 (Biner) R1 = 84 34 159 71 (Decimal) R1 = T G (ASCII) L1 = L0 ( (R1 Shl 4) + k[0]) XOR (R1+SUM) XOR ((R1 Shr 5) + k[1]) ) L1 = 10001010 11110000 11011111 11000110 + ( (01010100 00100010 10011111 01000111 Shl 4) + 01100001 01100010 01100011 00000000 ) XOR (01010100 00100010 10011111 01000111 + SUM) XOR ( (01010100 00100010 10011111 01000111 Shr 5) + 00000000 00000000 00000000 00000000 ) L1 = 10111101 10100001 11110000 11011011 (Biner) L1 = 189 161 240 219 (Decimal) (ASCII) L1 = Round 2 : SUM = 31 X (2654435770) R2 = R1 ( (L1 Shl 4) + k[2]) XOR (L1+SUM) XOR ((L1 Shr 5) + k[3]) ) R2 = 01010100 00100010 10011111 01000111 + ( (10111101 10100001 11110000 11011011 Shl 4) + 00000000 00000000 00000000 00000000 ) XOR (10111101 10100001 11110000 11011011 + SUM ) XOR ( (10111101 10100001 11110000 11011011 Shr 5) + 00000000 00000000 00000000 00000000 ) R2 = 10011101 11111111 10000010 10011010 (Biner) R2 = 157 255 130 154 (Decimal) R2 = (ASCII) L2 = L1 ( (R2 Shl 4) + k[0]) XOR (R2+SUM) XOR ((R2 Shr 5) + k[1]) ) L2 = 10111101 10100001 11110000 11011011 + ( (10011101 11111111 10000010 10011010 Shl 4) + 01100001 01100010 01100011 00000000 ) XOR (10011101 11111111 10000010 10011010 + SUM) XOR ( (10011101 11111111 10000010 10011010 Shr 5) + 00000000 00000000 00000000 00000000 ) L2 = 01011110 11110111 11110001 00011110 (Biner) 94 247 241 30 (Decimal) L2 = L2 = ^ (ASCII) Pada akhir penghitungan dekripsi TEA sebanyak 32 round ini diperoleh ciphertext sebagai berikut : SBAA . II.B. Dekripsi Vignere : Ciphertext : SBAA Kunci : abc Kode ASCII Ciphertext : 83 66 65 65 Kode ASCII Ciphertext - 65 (Diubah dlm skala 0-25) Kode ASCII Kunci : 18 - 1 - 0 - 0 : 0 - 1 2 - 0
Kode ASCII Ciphertext - Kunci (Ci-Ki mod(26)) : 18 0 - 25 - 0 Hasil Enkripsi VIGNERE : saya III.4. Image Steganografi Contoh kita mempunyai nilai titik-titik pixel bitmap 24 bit sebagai berikut: Titik (0,0) (01100101 11001001 11001001) Titik (0,1) (00100111 11101001 11001010) Titik (0,2) (00100111 11001000 11101001) Titik (0,3) (11001000 00100111 10101001) Titik (0,4) (00101110 11101001 11001010) Titik (0,5) (10100111 11000000 11101101) Titik (0,6) (11001000 00100011 11101001) Titik (0,7) (00100111 11101001 11001001) Kita akan menyisipkan huruf Z (90) representasi biner adalah 01011010 : Titik (0,0) (01100100 11001001 11001001) Titik (0,1) (00100111 11101001 11001010) Titik (0,2) (00100110 11001000 11101001) Titik (0,3) (11001001 00100111 10101001) Titik (0,4) (00101111 11101001 11001010) Titik (0,5) (10100110 11000000 11101101) 00100011 11101001) Titik (0,6) (11001001 Titik (0,7) (00100110 11101001 11001001) Gambar 3.1. Tampilan Halaman Enkripsi
IV. Kesimpulan
1. 2. 3. 4. 5. Kriptografi merupakan ilmu mengacak pesan, sedangkan Steganografi merupakan ilmu menyembunyikan informasi di balik informasi lain. Jenis informasi yang disembunyikan dan Medianya bermacam-macam seperti menyembunyikan pesan teks di dalam gambar Bmp. Kriptografi Klasik Vigenere (mode teks) dan Kriptografi Modern TEA (mode bit) dapat digabungkan. Teknik Kriptografi dan Steganografi dapat diintegrasikan. Stego Image yang dihasilkan Program Aplikasi dengan gambar inputnya secara kasat mata tidak terdapat perbedaan, jadi teknik Steganografi yang digunakan efektif. Gabungan Kriptografi dan Steganografi menghasilkan tingkat keamanan yang cukup tinggi.
V. DAFTAR PUSTAKA
1. Agus J. Alam. M. 2000. Belajar Sendiri Borland Delphi 5.0 Jakarta : PT Elex 2. 3. 4. 5. 6. 7.
Media Komputindo Kelompok Gramedia. Cantu, Marco. 1999, Mastering Delphi 5. San Fransisco, United States : Sybex. Pranata, Antony. 1997. Pemograman Borland Delphi. Yogyakarta : Andi. Munir, Rinaldi. 2006. Kriptografi. Bandung : Informatika. Johnson, Neil F. 1998. Exploring Steganography : Seeing the Unseen. George Mason University : Dep. Of Information and Software System. Roger M. Needham, David J. Wheeler. 1997. TEA (Tiny Encryption Algorithm) Extensions Technical report. University of Cambridge: Computer Laboratory. Andem , Vikram Reddy. 2003. A Cryptanalysis Of The Tiny Encryption Algorithm. University Of Alabama : Department Of Computer Science.