Proses Enkripsi Algoritma GOST

GOST digunakan untuk mengenkripsi file rahasia.zip dan teks “ Ini Pesan Rahasia”. Untuk menutupi kelemahan dari algoritma GOST ini digunakan fungsi hash SHA-1. Untuk mengelabui para hacker yang ingin mengetahui pesan rahasia yang ditulis oleh user, pada tugas akhir ini menggunakan teknik steganografi. Teknik steganografi yang digunakan adalah LSB Least Significant Bit. Dari data sebelumnya dapat disimpulkan terdapat 2 dua proses kriptografi yaitu proses kripto file dan kripto teks di mana kripto file dan kripto teks memiliki proses yang sama dalam mengenkripsi, bedanya hanya data input yang akan dienkripsi.

3.2.1 Proses Enkripsi Algoritma GOST

Untuk mengenkripsi file rahasia.zip user harus menggunakan program enkripsi dekripsi data. Untuk mengatasi masalah dalam mengamanankan data, pada tugas akhir ini menggunakan algoritma kriptografi GOST. Logika pengamanan file rahasia.zip dapat diuraikan berikut ini: Dari file rahasia.zip dengan besar file 10 Kb, dapat dihitung jumlah bit datanya. Jika 1 byte terdiri dari 8 bit, maka 10 Kb = 10000 byte. Berarti besar file 10000 x 8 = 80000 bit. Sehingga dihitung jumlah proses yang akan dilakukan sebanyak 80000 64 = 1250 proses. Universitas Sumatera Utara File rahasia.zip diinisialisasi menjadi plainteks yang panjangnya 64 bit akan dipecah menjadi 2 dua bagian sebesar 32 bit kiri L dan 32 bit kanan R pada proses pertama. pada setiap putarannya data kiri akan menjadi data kanan, data kanan akan dilakukan operasi data kiri di-XoR-kan dengan fungsi f. Misalkan: Cipher Kanan = 11110000 11001100 01010101 00001111 Cipher Kiri = 01010101 00001111 11110000 01010101 K0 = 11000011 10101010 00110011 11110011 Setelah didapat nilai dari cipher kanan dan cipher kiri serta K0 adalah sub- kunci ke-0 dari K=kunci, proses selanjutnya adalah penjumlahan sub-kunci K0 dengan cipher kanan dan dimodulokan dengan 2 32 . K0 adalah sub-kunci yang didapat dari input key yang telah dibagi menjadi 8 bagian yaitu K0 – K7. K0 adalah kunci putaran pertama pada proses enkripsi data. Proses penjumlahan K0 dengan cipher kanan dan modulo 2 32 dilakukan dalam bentuk desimal. Sehingga cipher kanan = 4039922959 dan K0 = 3282711539. P adalah variabel yang menyimpan nilai setiap putaran. P = R + K0 mod 2 32 . Dengan demikian, diperolehlah: P = 4039922959 + 3282711539 mod 2 32 P = 7322634498 mod 4294967296 Universitas Sumatera Utara P = 3027667202 P = 10110100 01110110 10001001 00000010 Proses sebelumnya adalah proses fungsi fR i-1 , K i-1 . Untuk lebih jelasnya, proses enkripsi dapat dilihat pada Diagram Alir Fungsi f metoda Gost pada Gambar 2.5. Untuk fungsi f, setiap putarannya data sebelah kanan akan dilakukan operasi penambahan dengan blok kunci yang berbeda modulus dengan 2 32 atau untuk hitungan per byte, setiap byte-nya dari bilangan itu akan modulus 2 8 . Fungsi modulus yaitu agar setiap bilangan tidak melebihi 255 untuk hitungan per byte. Kemudian data yang dihasilkan akan dipecah menjadi 8 bagian dan dijadikan input yang berbeda untuk tiap S-Boxnya. Algoritma GOST tidak menentukan standar dalam pembentukan S-Boxnya. Setelah itu data akan dikombinasikan lagi menjadi 32 bit. Terakhir data akan dirotasi 11 bit ke kiri, seperti yang telah disebutkan pada pembahasan sebelumnya. Dari hasil nilai P, nilai P akan dibagi menjadi 8 bagian dan masing –masing dimasukan ke dalam S1-S8. Dari nilai P = 1011 0100 0111 0110 1000 1001 0000 0010. S1 = 1011, S2 = 0100, S3 = 0111, S4 = 0110, S5 = 1000, S6 = 1001, S7 = 0000, S8 = 0010. Kemudian nilai masing –masing S diubah ke dalam decimal sehingga nilai S1 = 11, S2 = 4, S3 = 7, S4 = 6, S5 = 8, S6 = 9, S7 = 0, S8 = 2. Universitas Sumatera Utara Kemudian nilai masing –masing S dicocokkan nilai yang ada pada array S-Box. Untuk inisialisasi S-Box dapat dilihat pada S-Box berikut: S-Box pada GOST: Jika pada kotak S1, masukannya: 1011 nilai desimal 11 maka keluarannya: nilai di dalam elemen ke-11: 1 atau 0001 Jika pada kotak S2, masukannya: 0100 nilai desimal 4 maka keluarannya: nilai di dalam elemen ke-4: 12 atau 1100 Kotak-S 1: 4 10 9 2 13 8 14 6 11 1 12 7 15 5 3 Kotak-S 2: 14 11 4 12 6 13 15 10 2 3 8 1 7 5 9 Kotak-S 3: 5 8 1 13 10 3 4 2 14 15 12 7 6 9 11 Kotak-S 4: 7 13 10 1 8 9 15 14 4 6 12 11 2 5 3 Kotak-S 5 6 12 7 1 5 15 13 8 4 10 9 14 3 11 2 Kotak-S 6: 4 11 10 7 2 1 13 3 6 8 5 9 12 14 14 Kotak-S 7: 13 11 4 1 3 15 5 9 10 14 7 6 8 2 12 Kotak-S 8: 1 15 13 5 7 10 4 9 2 3 14 6 11 8 12 Universitas Sumatera Utara Dan seterusnya sampai ke S8. Hasil substitusi dari semua kotak S ini digabung menjadi pesan 32-bit, sehingga hasilnya: P = S1 + S2 + S3 + S4 + S5 + S6 + S7 + S8 P = 0001 1100 0111 0100 1000 0011 1101 1111. Kemudian pesan 32-bit ini digeser ke kiri sejauh 11 bit secara sirkuler. Hasil pergeseran 11 bit ke kiri P = 11100011 10100100 000111101 1111000. Hasil pergesaran P di XOR-kan dengan nilai cipher kiri. sehingga: P = 11100011 10100100 000111101 1111000 XoR L = 01010101 00001111 11110000 01010101 Sehingga cipher kanan yang baru = 10110110 10101011 11101110 10101101. Nilai cipher kiri yang baru adalah cipher kanan sebelum operasi fungsi f. Proses ini diulang sebanyak 32 kali. Hasil proses file rahasia.zip akan disimpan menjadi file rahasia.zip.Gst. Sedangkan kripto teks “ Ini Pesan Rahasia” memiliki proses yang sama seperti proses yang diuraikan sebelumnya.

3.2.2 Proses Dekripsi Algoritma GOST