LANDASAN TEORI
2.4 Metode Steganografi Enhanced LSB
Proses utama dari metode enhanced LSB akan dijelaskan bahwa setiap pixel
memiliki tiga buah komponen yaitu red, green, blue. Setiap komponen direpresentasikan oleh satu byte, setiap byte memiliki sebuah bit LSB. Apabila bit
LSB tersebut adalah 1, maka semua bit pada byte tersebut diganti dengan bit 1 sehingga nilai byte tersebut adalah 11111111 (biner) atau 255 (desimal). Sedangkan, apabila bit LSB tersebut adalah 0, maka semua bit pada byte tersebut diganti dengan bit 0 sehingga nilai byte tersebut adalah 00000000 (biner) atau 0 (desimal).
Misalnya terdapat sebuah pixel dengan komposisi byte sebagai berikut :
BLUE GREEN RED
10100101 10011100 11100111
Maka setelah mengalami enhanced LSB byte-byte di atas akan menjadi :
BLUE GREEN RED
11111111 00000000 11111111
Setelah melalui proses penyaringan, maka citra pada bagian gambar yang tidak disisipi pesan akan mendekati bagian gambar semula. Sedangkan bagian gambar yang mengandung pesan rahasia akan menjadi ”rusak” setelah disaring. Dengan demikian, dari gambar yang dihasilkan setelah penyaringan, mata manusia dapat dengan mudah membedakan apakah pada gambar tersebut terdapat pesan rahasia.
2.4.1 Fungsi Hash SHA-1
Secure Hash Algorithm, SHA-1 ini dikembangkan oleh NIST (National Institute of Standard and Technology). SHA-1 dapat diterapkan dalam penggunaan Digital Signature Algorithm (DSA) yang dispesifikasikan dalam Digital Signature Standard (DSS) dan SHA tersebut dapat diterapkan untuk aplikasi federal.
Untuk suatu pesan yang panjangnya < 2 ^ 64, SHA-1 akan menghasilkan keluaran sebanyak 160 bit dari pesan tersebut dan pesan keluaran itu disebut
message digest. Panjang jarak message digest dapat berkisar antara 160 sampai 512 bit tergantung algoritmanya. Berdasarkan cirinya SHA-1 dapat digunakan dengan algoritma kriptografi lainnya seperti Digital Signature Algorithms atau dalam generasi angka yang acak (bits).
SHA-1 dikatakan aman karena proses SHA-1 dihitung secara infisibel untuk mencari pesan yang sesuai untuk menghasilkan message digest atau dapat juga digunakan untuk mencari dua pesan yang berbeda yang akan menghasilkan
message digest yang sama.
Untuk SHA-1 ukuran blok pesan -m bit- dapat ditentukan tergantung dari algoritmanya. Pada SHA-1 masing-masing blok pesan mempunyai 512 bit dimana dapat dilakukan dengan 16 urutan sebesar 32 bit.
SHA-1 digunakan untuk menghitung message digest pada pesan atau file
data yang diberikan sebagai input. Tujuan pengisian pesan adalah untuk menghasilkan total dari pesan yang diisi menjadi perkalian dari 512 bits. Beberapa hal yang dilakukan dalam pengisian pesan :
1. Panjang dari pesan,M adalah k bits dimana panjang k < 264. Tambahkan bit “1” pada akhir pesan. Misalkan pesan yang asli adalah “01010000” maka setelah diisi menjadi “010100001”.
2. Tambahkan bit “0”, angka bit “0” tergantung dari panjang pesan. Misalnya Pesan asli yang merupakan bit string : abcde
01100001 01100010 01100011 01100100 01100101. Setelah langkah (a) dilakukan
Panjang k = 40 dan angka bit di atas adalah 41dan 407 ditambah bit “0” (448 – (40+1) = 407). Kemudian diubah dalam hex:
61626364 65800000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000
3. Untuk memperoleh 2 kata dari k,angka bit dalam pesan asli yaitu jika k < 232 maka kata pertama adalah semua bit ”0”. Maka gambaran dari 2 kata dari k = 40 dalam hex adalah 00000000 00000028.
61626364 65800000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000028
SHA-1 menggunakan urutan fungsi logika yang dilambangkan dengan f0, f1,…, f79. Untuk masing-masing ft, dimana 0 ≤ t < 79 akan menghasilkan output
sebanyak 32 bit.
Fungsinya adalah sebagai berikut:
(B ∧ C) ∨ (¬ B ∧ D) 0 ≤ t ≤ 19 B ⊕ C ⊕ D 20 ≤ t ≤ 39 (B ∧ C) ∨ (B ∧ D) ∨ (C ∧ D) 40 ≤ t ≤ 59 B ⊕ C ⊕ D 60 ≤ t ≤ 79 ft (B, C, D) =
Konstanta kata yang digunakan pada SHA-1 yang disimbolkan secara berurutan dari K(0), K(1),…, K(79) dalam bentuk hex adalah sebagai berikut :
5A827999 0 ≤ t ≤ 19 6ED9EBA1 20 ≤ t ≤ 39 8F1BBCDC 40 ≤ t ≤ 59 CA62C1D6 60 ≤ t ≤ 79 Kt =
Algoritma SHA-1 dapat diringkas sebagai berikut:
1. Penghitungan menggunakan dua buffer dimana masing-masing buffer terdiri dari lima sebesar 32 bit kata dan urutan 80 juga sebesar 32 bit kata. Lima kata pertama pada buffer kata diberi nama A, B, C, D, E sedangkan lima kata kedua diberi nama H0, H1, H2, H3, dan H4. Kemudian pada 80 kata yang berurutan diberi nama W0, W1, …, W79 dan pada penghitungan ini juga memakai TEMP.
2. Lakukan pengisian pesan, M dan kemudian parsingkan pesan tersebut ke dalam N 512 bit blok pesan, M(1), M(2), …, M(n). Caranya : 32 bit pertama dari blok pesan ditunjukkan ke M0(i), lalu 32 bit berikutnya adalah M1(i) dan selanjutnya berlaku hingga M15(i).
3. Inisialisasi Nilai Hash (dalam bentuk hex) :
H0 = 67452301 H3 = 10325476
H1 = EFCDAB89 H4 = C3D2E1F0
H2 = 98BADCFE
4. Lakukan proses M1, M2, …, Mn dengan cara membagi Mi ke dalam 16 kata W0, W1, …, W15 dimana W0 merupakan left most.
5. Hitung : For t = 16 to 79
Wt = S1(Wt-3 ⊕ Wt-8 ⊕ Wt-14 ⊕ Wt-16)
6. Inisialisasi 5 variabel A, B, C, D, dan E dengan nilai Hash : A = H0 ; B = H1; C = H2; D = H3; E = H4.
7. Hitung : For t = 0 to 79
TEMP = S5(A) + ft(B,C,D) + E + Wt + Kt E = D; D = C; C = S30(B); B = A; A = TEMP. 8. Hitung Nilai Hash :
H0 = H0 + A ; H1 = H1 + B ; H2 = H2 + C ; H3 = H3 + D ; H4 = H4 + E.
Hasil dari message digest sebesar 160 bit dari pesan, M adalah : H0 H1 H2 H3 H4. (Bruce Schneier, 1996)
2.4.2. Steganografi Teks Menggunakan Pangram dan Medium Citra
Metode ini menggunakan dua medium untuk mentransmisikan data teks rahasia dari pengirim kepada penerima. Medium pertama adalah sebuah kalimat teks bahasa Inggris pangram yang ditentukan oleh user yang terdiri dari maksimal 512 karakter yang mencakup huruf, digit angka dan karakter khusus. Medium kedua adalah sebuah citra digital tidak terkompresi, umumnya digunakan file citra bertipe BMP. Proses kerja dari algoritma adalah sebagai berikut:
Setiap karakter pada pesan rahasia di-encode menggunakan dua indeks, yaitu: 1. Indeks seed yang menunjuk ke sebuah karakter acak pada kalimat pangram
(medium pertama).
2. Indeks offset yang berarti jarak antara indeks seed dan karakter pada kalimat pangram yang sesuai dengan karakter yang di-encode. Karena pangram hanya memiliki panjang maksimum 512 (= 29) karakter, maka hanya terdapat 9 bit yang diperlukan untuk menghasilkan indeks. Kedua indeks akan ditempelkan pada citra pembawa (medium kedua) seperti indeks seed pada piksel tertentu dan indeks offset pada piksel berikutnya. Pembagian bit (indeks seed dan
offset) yang disimpan pada ketiga LSB dari channel warna pada citra pembawa adalah 3 bit pada channel Red, 3 bit pada channel Green dan 3 bit pada channel Blue. Terakhir, kedua medium, pangram dan citra dikirimkan kepada penerima (Youssef Bassil, 2012).
2.4.3. Medium Pertama : Kalimat Pangram
Metode ini menggunakan medium pertama untuk mengirimkan data rahasia, sebuah kalimat bahasa Inggris pangram yang distrukturisasi secara benar dan dibentuk oleh sekumpulan kata dalam bahasa Inggris. pangram, yang berarti setiap huruf dalam bahasa Yunani, adalah sebuah kalimat yang tersusun dari setiap huruf dari alfabet minimal sekali. Pangram digunakan untuk menguji perangkat telekomunikasi seperti telegraf, untuk menampilkan contoh font seperti
Salah satu pangram bahasa Inggris yang paling terkenal adalah “The quick brown fox jumps over the lazy dog”, yang mencakup semua huruf dalam alfabet bahasa Inggris. Metode steganografi yang dibahas ini tidak hanya memerlukan semua huruf bahasa Inggris, tetapi juga digit dan karakter spesial sehingga dapat cocok dengan semua kemungkinan karakter dari pesan rahasia untuk disembunyikan.
Secara formal, setiap karakter s pada pangram memiliki sebuah indeks yang disimbolkan dengan i yang secara unik menunjuk ke sebuah karakter tertentu pada pangram. Pangram akan direpresentasikan sebagai PAN = {Si=0, Si=1, Si=2, Si=3, ..., Si=511}. (Youssef Bassil, 2012)
2.4.4. Medium Kedua : Citra Pembawa
Medium kedua adalah sebuah file citra digital yang tidak terkompresi dari tipe BMP, yang berupa citra berwarna 24 bit, dimana pikselnya tersusun dari tiga buah
channel warna, yaitu channel Red, Green dan Blue (RGB). Medium ini akan bertindak sebagai file pembawa untuk menempelkan indeks SEED dan OFFSET
yang dihasilkan dari medium pertama yaitu kalimat pangram. SEED akan ditempelkan pada piksel khusus, sedangkan OFFSET akan ditempelkan pada piksel selanjutnya. Lokasi bit sebagai tempat penyimpanan indeks ini adalah tiga buah LSB (Least Significant Bit) dari channel warna yang membentuk piksel dari citra pembawa. (Youssef Bassil, 2012)