Algoritma Gost ( Computer Scurity )

21

Transcript of Algoritma Gost ( Computer Scurity )

Page 1: Algoritma Gost ( Computer Scurity )
Page 2: Algoritma Gost ( Computer Scurity )

GOST merupakan singkatan dari “Gosudarstvennyi Standard” atau

“Government Standard”. Metoda GOST merupakan suatu algoritma block

cipher yang dikembangkan oleh seorang berkebangsaan Uni Soviet.

Algoritma ini merupakan suatu algoritma enkripsi sederhana yang

memiliki jumlah proses sebanyak 32 round (putaran) dan menggunakan 64

bit block cipher dengan 256 bit key. Metoda GOST juga menggunakan 8

buah S-Box yang berbeda-beda dan operasi XOR serta Left Circular Shift.

SEJARAH

Page 3: Algoritma Gost ( Computer Scurity )

Kelemahan & Kelebihan

key schedule-nya yang sederhana sehingga pada keadaan

tertentu menjadi titik lemahnya terhadap metoda kriptanalisis seperti

Related-key Cryptanalysis. Tetapi hal ini dapat diatasi dengan

melewatkan kunci kepada fungsi hash yang kuat secara kriptografi

seperti SHA-1, kemudian menggunakan hasil hash untuk input

inisialisasi kunci.

Kelebihan dari metoda GOST ini adalah kecepatannya yang

cukup baik, walaupun tidak secepat Blowfish tetapi lebih cepat dari

IDEA.

Page 4: Algoritma Gost ( Computer Scurity )

Komponen

Key Store Unit (KSU) menyimpan 256 bit string dengan

menggunakan 32 bit register (K0, K1, …, K7).

Dua buah 32 bit register (R1, R2).

32 bit adder modulo 232 (CM1).

Bitwise Adder XOR (CM2).

Substitusion block (S) yaitu berupa 8 buah 64 bit S-Box.

Rotasi Left shift register (R) sebanyak 11 bit.

Page 5: Algoritma Gost ( Computer Scurity )

Proses Pembentukan Kunci Proses pembentukan kunci ini memerlukan input data key dengan

panjang 256 bit atau 64 digit heksadesimal atau 32 buah karakter.

Proses ini dapat dilihat pada contoh berikut ini :

Misalkan key : „Kriptografi Metoda GOST, Rosmaya‟

1. KUNCI = 'Kriptografi Metoda GOST, Rosmaya'.

2. Ubah kunci ke bentuk biner.

Page 6: Algoritma Gost ( Computer Scurity )

Hasil konversi kunci ke bentuk biner

= (k(1), k(2), k(3), ... , k(256))

=010010110111001001101001011100000111010001101111011001110111001001

1000010110011001101001001000000100110101100101011101000110111101

1001000110000100100000010001110100111101010011010101000010110000

10000001010010011011110111001101101101011000010111100101100001

3. Kelompokkan hasil yang didapat pada K(0) - K(7)

K(0) = k( 32), ... , k( 1) = 00001110100101100100111011010010

K(1) = k( 64), ... , k( 33) = 01001110111001101111011000101110

K(2) = k( 96), ... , k( 65) = 00000100100101100110011010000110

K(3) = k(128), ... , k( 97) = 11110110001011101010011010110010

K(4) = k(160), ... , k(129) = 11100010000001001000011000100110

K(5) = k(192), ... , k(161) = 00110100001010101100101011110010

K(6) = k(224), ... , k(193) = 11001110111101100100101000000100

K(7) = k(256), ... , k(225) = 10000110100111101000011010110110

Proses Pembentukan Kunci

Page 7: Algoritma Gost ( Computer Scurity )
Page 8: Algoritma Gost ( Computer Scurity )

Proses Enkripsi Proses enkripsi dari metoda GOST memproses input data plaintext 64 bit atau

16 digit heksadesimal atau 8 karakter dengan melalui 32 tahapan iterasi (putaran).

Misalkan diambil hasil pembentukan kunci di atas dan plaintext „ENKRIPSI‟,

PROSES ENKRIPSI - PUTARAN 0

(1) PLAIN TEXT = 'ENKRIPSI'

Konversi ke biner =

0100010101001110010010110101001001001001010100000101001101001001

L(0) = 10010010110010100000101010010010

R(0) = 01001010110100100111001010100010

(2) R(0) + K(0) mod 232

R( 0) = 1255305890

K( 0) = 244731602

-------------------------------- +

Hasil = 1500037492 mod 232

= 1500037492

= 01011001011010001100000101110100

Page 9: Algoritma Gost ( Computer Scurity )

Proses Enkripsi

Page 10: Algoritma Gost ( Computer Scurity )

Proses Enkripsi

Page 11: Algoritma Gost ( Computer Scurity )

Proses Enkripsi

Page 12: Algoritma Gost ( Computer Scurity )

Proses Enkripsi

Untuk putaran ke-31, langkah 5 dan 6

agak sedikit berbeda. Langkah 5 dan 6

untuk putaran 31 adalah sebagai

berikut,

R32 = R31 sebelum dilakukan proses

L32 = L31 XOR R31

Sehingga, ciphertext yang dihasilkan

adalah

L32 : b(32), b(31), …, b(1)

R32 : a(32), a(31), …, a(1)

T = a(1), …, a(32), b(1), …, b(32)

Page 13: Algoritma Gost ( Computer Scurity )

Proses Dekripsi Proses dekripsi merupakan kebalikan dari proses enkripsi. Proses

dekripsi dari metoda GOST menggunakan algoritma yang sama dengan proses

enkripsi.

PROSES DEKRIPSI - PUTARAN 0

(1) CIPHER TEXT = '©-ñ¦k¾'

Konversi ke biner =

1010100100011110000000110001100111110001101001100110101110111110

L(0) = 01111101110101100110010110001111

R(0) = 10011000110000000111100010010101

Page 14: Algoritma Gost ( Computer Scurity )

Proses Dekripsi

Page 15: Algoritma Gost ( Computer Scurity )

Proses Dekripsi

Page 16: Algoritma Gost ( Computer Scurity )

Proses Dekripsi

Page 17: Algoritma Gost ( Computer Scurity )

Proses Dekripsi

Page 18: Algoritma Gost ( Computer Scurity )

Proses Dekripsi

Page 19: Algoritma Gost ( Computer Scurity )

Proses Dekripsi

Page 20: Algoritma Gost ( Computer Scurity )

Proses Dekripsi untuk langkah 5 dan 6 pada putaran

ke-31 adalah sebagai berikut,

R32 = R31 sebelum dilakukan proses.

L32 = R31 XOR L31.

Plaintext yang dihasilkan pada proses

dekripsi adalah,

L32 = b(32), b(31), …, b(1)

R32 = a(32), a(31), …, a(1)

P = a(1),, a(32), b(1), , b(32)

Page 21: Algoritma Gost ( Computer Scurity )