Perbedaan Steganografi dengan Kriptografi Least Significant Bit

5. Menempatkan data pada byte stream file carrier, secara acak menggunakan bilangan pseudo-random yang dihasilkan dari PassPhrase, dan merubah bit bit lain pada byte stream file carrier untuk mengkompensasi perubahan yang ditimbulkan oleh data yang disisipkan dan untuk menghilangkan perubahan secara statistik pada file carrier.

2.3 Perbedaan Steganografi dengan Kriptografi

Steganografi berbeda dengan kriptografi, letak perbedaan dari kedua ilmu tersebut adalah pada hasil keluarannya. Hasil dari kriptografi biasanya berupa data yang berbeda dari bentuk aslinya dan biasanya data seolah-olah berantakan sehingga tidak dapat diketahui informasi apa yang terkandung didalamnya namun sesungguhnya dapat dikembalikan ke bentuk semula lewat proses dekripsi, sedangkan hasil keluaran dari steganografi memiliki bentuk persepsi yang sama dengan bentuk aslinya. Kesamaan persepsi tersebut adalah oleh indera manusia khususnya visual, namun bila digunakan komputer atau perangkat pengolah digital lainnya dapat dengan jelas dibedakan antara sebelum proses dan setelah proses steganografi dilakukan. Suhono, 2000.

2.4 Advanced Encryption Standard

Advanced Encryption Standard AES merupakan teknik atau algoritma kriptografi penyandian pesan yang menggunakan teknik blok simetris. Algoritma ini dikembangkan oleh dua kriptografer yang berasal dari Belgia, yaitu Dr. Joan Daemen dan Dr. Vincent Rijmen pada tahun 1997. Mereka berdua mengajukan algoritma ini sebagai proposal Rijndael bagi AES, dan pada November 2001 disahkan sebagai proposal terpilih bagi AES oleh National Institute of Standard and Technology NIST Stallings 2003. AES sendiri memiliki tipe yang terbagi berdasarkan panjang blok data seperti AES- 128, AES-192, AES-256 dimana masing-masing AES memiliki panjang blok sebanyak 128 bit, 192 bit, dan 256 bit. Perbedaan panjang blok tersebut berakibat berbedanya jumlah perputaran yang harus dilakukan pada masing-masing panjang kunci. Perbedaan tersebut dapat dilihat pada tabel 2.1. Tabel 2.1. Tabel Perbandingan jumlah putaran pada AES Jenis Jumlah Putaran Nr AES-128 10 AES-192 12 AES-256 14 Pada dasarnya, operasi AES dilakukan terhadap array of byte kedua dimensi yang disebut dengan state. State mempunyai ukuran NROWS X NCOLS. Pada awal enkripsi, data masukan yang berupa in0, in2, in3, in4, in5, in6, in7, in8, in9, in10, in11, in12, in13, in14, in15 disalin ke dalam array state. State inilah yang nantinya dilakukan operasi enkripsidekripsi. Kemudian keluarannya akan ditampung ke dalam array out.

2.4.1. Proses Enkripsi dan Dekripsi AES

Proses enkripsi dan dekripsi algoritma AES terdiri dari 4 jenis transformasi bytes, yaitu SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses enkripsi, input yang telah dicopykan ke dalam state akan mengalami transformasi byte AddRoundKey. Setelah itu, state akan mengalami transformasi SubBytes, ShiftRows, MixColumns, dan AddRoundKey secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma AES disebut sebagai round function. Round yang terakhir agak berbeda dengan round-round sebelumnya dimana pada round terakhir, state tidak mengalami transformasi MixColumns. Ilustrasi proses enkripsi AES dapat digambarkan seperti pada Gambar 2.1. Transformasi cipher dapat dibalikkan dan diimplementasikan dalam arah yang berlawanan untuk menghasilkan inverse cipher yang mudah dipahami untuk algoritma AES. Transformasi byte yang digunakan pada invers cipher adalah InvShiftRows, InvSubBytes, InvMixColumns, dan AddRoundKey. Gambar 2.1. Ilustrasi enkripsi pada AES Gambar 2.2. Ilustrasi Dekripsi pada AES 2.4.1.1 AddRoundKey Pada proses enkripsi dan dekripsi AES proses AddRoundKey berlangsung dengan cara kerja yang sama, sebuah round key ditambahkan pada state dengan operasi XOR. Setiap round key terdiri dari Nb word dimana tiap word tersebut akan dijumlahkan dengan word atau kolom yang bersesuaian dari state sehingga : [ ] [ ] ⨁ [ ] u tuk ≤ ≤ N [ w i ] adalah word dari key yang bersesuaian dimana i = roundNb+c. Transformasi AddRoundKey pada proses enkripsi pertama kali pada round = 0 untuk round selanjutnya round = round+ 1, pada proses dekripsi pertama kali pada round = 14 untuk round selanjutnya round = round - 1. 2.4.1.2 SubBytes SubBytes merupakan transformasi byte dimana setiap elemen pada state akan dipetakan dengan menggunakan sebuah tabel substitusi S-Box . Untuk setiap byte pada array state, misalkan S[r, c] = xy, yang dalam hal ini xy adalah digit heksadesimal dari nilai S[r, c], maka nilai subs titusi ya, di yataka de ga S’[r, c], adalah elemen di dalam tabel subtitusi yang merupakan perpotongan baris x dengan kolom y. 2.4.1.3 Shiftrows Transformasi Shiftrows pada dasarnya adalah proses pergeseran bit dimana bit paling kiri akan dipindahkan menjadi bit paling kanan rotasi bit . 2.4.1.4 MixColumns MixColumns mengoperasikan setiap elemen yang berada dalam satu kolom pada state.

2.5 Least Significant Bit

Metode LSB dilakukan dengan cara memodifikasi setiap bit yang termasuk dalam bit LSB pada setiap byte. Bit-bit LSB ini akan dimodifikasi dengan menggantikan setiap LSB yang ada dengan bit-bit informasi lain yang ingin disembunyikan. Setelah semua bit informasi lain menggantikan bit LSB didalam berkas tersebut, maka informasi telah berhasil disembunyikan. Ketika informasi rahasia tersebut ingin kembali dibuka, maka bit-bit LSB yang sekarang ada, diambil satu per satu kemudian disatukan kembali menjadi sebuah informasi yang utuh seperti semula. Penentuan bit-bit LSB dilakukan secara berurutan, mulai dari byte awal sampai byte terakhir sesuai panjang dari data rahasia yang akan disembunyikan. Mengubah bit LSB hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya tidak berpengaruh terhadap perubahan ukuran berkas. Pengubahan satu bit tidak dapat dikenali secara kasat mata oleh manusia, karena hal tersebut hanya mengubah nilai dari Byte tidak terlalu besar. Sebagai contoh sebuah Byte yang bernilai dalam biner 01010010, yang apabila dikonversikan dalam bilangan interger menjadi 82. Setelah mengalami pengubahan LSB akan menjadi 01010011 dimana setelah dikonversikan menjadi integer menjadi 83.

2.6 WAV