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