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