• Tidak ada hasil yang ditemukan

Contoh Manual Enkripsi and Dekripsi Berd

N/A
N/A
Protected

Academic year: 2018

Membagikan "Contoh Manual Enkripsi and Dekripsi Berd"

Copied!
23
0
0

Teks penuh

(1)

GOST ALGORITHYM

Sub Materi :

1. Konsep Kerja GOST

2. Contoh Enkripsi dan Dekripsi GOST

Sub Materi :

1. Konsep Kerja GOST

(2)

ALGORITMA GOST

GOST merupakan singkatan dari Gosudarstvennyi

Standard atau sering disebut Goverment Standard.

Penemu : Warga Kebangsaan Uni Soviet

Memiliki jumlah proses sebanyak 32 round (putaran)

Menggunakan 64 bit block cipher pada setiap kali

Menggunakan 64 bit block cipher pada setiap kali

prosesnya dan 256 bit kunci atau 32 karakter

Menggunakan 8 buah S-Box yang berbeda-beda

Menggunakan operasi XOR dan Left Circular Shift

11 bit atau Rotate Left Shift (RLS 11 bit)

(3)

PERTEMUAN XI-XII

Proses Enkripsi :

1.

Konversi Plaintext dan Kunci ke Biner

2.

Kelompokkan Biner Kunci menjadi 8 Kelompok

Jumlah bit kunci setiap kelompok adalah 32 bit.

dimulai dari

K[0] = bit ke 32..1,

K[1] = bit ke 64..33,

...dst, sampai

K[7] = bit ke 256..225

3.

Kelompokkan plainteks menjadi 2 bagian yaitu R[0] dan L[0] dengan

jumlah tiap kelompok adalah 32

bit.

32 bit bagian kiri menjadi

menjadi R[0] dan mulai bit ke 33 sampai bit ke 64 (sebelah kanan)

menjadi L[0]. Proses penulisan bitnya dilakukan secara terbalik.

(4)

PERTEMUAN XI-XII

4. Proses Enkripsi

Proses enkripsi dilakukan sebanyak 32 round (mulai dari Round 0 s/d 31) Pseudocode untuk setiap round :

j = 0 //array bit kunci; nilai i adalah putran For i = 0 to 31

//kelompok bit plaintext L[ i ] = 32 bit L[ i ] kemudian permutasikan dengan SBox

Gabungkan biner-biner hasil permutasi SBox

RLS = Lakukan proses Rotate Left Shift dari bit gabungan sebanyak 11 bit (dari kiri ke kanan)

Aturan Penggunaan Kunci :

Round 0 s/d Round 23 K[0] ... K[7] Round 24 s/d 31 K[7] ... K[0]

Aturan Penggunaan Kunci :

Round 0 s/d Round 23 K[0] ... K[7] Round 24 s/d 31 K[7] ... K[0]

L[i+1] = Reverse L[ i ]

(5)

PERTEMUAN XI-XII

5. Proses Dekripsi :

Proses dekripsi dilakukan sebanyak 32 round (mulai dari Round 0 s/d 31) sama seperti proses enkripsi Pseudocode untuk setiap round :

j = 0 //array bit kunci; nilai i adalah putran For i = 0 to 31

//kelompok bit ciphertext L[ i ] = 32 bit L[ i ] kelompok (4 bit per kelompok), kemudian permutasikan dengan SBox

Gabungkan biner-biner hasil permutasi SBox

RLS = Lakukan proses Rotate Left Shift dari bit gabungan sebanyak 11 bit (dari kiri ke kanan)

(6)

PERTEMUAN XI-XII

TABEL SBOX METODE GOST

Cara membaca tabel Sbox :

Misalnya pecahan biner 1011 dijadikan sebagai Sbox 3, maka nilainya adalah :

1011 = 11 (dlm desimal). Maka SBOX 3 yang nilainya 11 adalah :

(7)

PERTEMUAN XI-XII

Contoh Prosess ENKRIPSI :

Plaintext = STMIK_BD

Kunci

= Algoritma_GOST_Taroni_Zebua_2017

Plaintext :

Char

S

T

M

I

K

_

B

D

Dec

83

84

77

73

75

95

66

68

Biner

01010011

01010100

01001101

01001001 01001011 01011111 01000010

01000100

Biner

01010011

01010100

01001101

01001001 01001011 01011111 01000010

01000100

Gabungan Biner Plaintext :

01010011010101000100110101001001 (kiri)

R0

01001011010111110100001001000100 (kanan)

L0

(8)

PERTEMUAN XI-XII

Contoh Prosess Konversi Kunci (256 bit atau 32 karakter atau 32 byte):

Konversi Kunci

Char

Desimal

Biner

Char

Desimal

Biner

A

65

01000001

a

97

01100001

l

108

01101100

r

114

01110010

g

103

01100111

o

111

01101111

o

111

01101111

n

110

01101110

r

114

01110010

i

105

01101001

i

105

01101001

_

95

01011111

116

01110100

90

01011010

i

105

01101001

_

95

01011111

t

116

01110100

Z

90

01011010

m

109

01101101

e

101

01100101

a

97

01100001

b

98

01100010

_

95

01011111

u

117

01110101

G

71

01000111

a

97

01100001

O

79

01001111

_

95

01011111

S

83

01010011

2

50

00110010

T

84

01010100

0

48

00110000

_

95

01011111

1

49

00110001

(9)

PERTEMUAN XI-XII

Contoh Prosess Pengelompokkan Kunci:

Biner Kunci Seluruhnya :

01000001011011000110011101101111011100100110100101110100011011010110000101

011111010001110100111101010011010101000101111101010100011000010111001001101

1110110111001101001010111110101101001100101011000100111010101100001010111110

0110010001100000011000100110111

Pengelompokkan Biner Kunci :

Cara pengelompokkan :

Ambil 32 bit pertama

Tulis binernya dari bit

32 hingga bit 1 (ditulis

terbalik

dari kanan ke

kiri

).

Demikian

untuk

kelompok

bit

seterus-nya

Mis : ambil bit 33 hingga

64 (tulis mulai dari 64 –

33)

Kunci Posisi Bit

Biner yang diambil

K[0] =

32...1

11110110111001100011011010000010

01000001011011000110011101101111011100100110100101110100011011010110000101

011111010001110100111101010011010101000101111101010100011000010111001001101

1110110111001101001010111110101101001100101011000100111010101100001010111110

0110010001100000011000100110111

Pengelompokkan Biner Kunci :

Cara pengelompokkan :

Ambil 32 bit pertama

Tulis binernya dari bit

32 hingga bit 1 (ditulis

terbalik

dari kanan ke

kiri

).

Demikian

untuk

kelompok

bit

seterus-nya

Mis : ambil bit 33 hingga

64 (tulis mulai dari 64 –

33)

Kunci Posisi Bit

Biner yang diambil

(10)

PERTEMUAN XI-XII

Contoh Prosess Enkipsi :

PUTARAN – 0

i = 0 :

Tahap 1 : L[0] = 00100010010000101111101011010010

R[0] = 10010010101100100010101011001010 rubah ke desimal Tahap 2 : ( R[0] + K[0] ) Mod 232

R[0] = 2461149898 biner R[0] setelah di rubah ke Desimal K[0] = 4142282370 biner K[0] setelah di rubah ke Desimal Hasil = 6603432268 Mod 232

Hasil Mod = 2308464972 konversi ke biner Biner = 10001001100110000110000101001100

Tahap 3 : Kelompokkan biner hasil di atas menjadi 4 bit tiap kelompok :

Biner Kelompok

Dec

Nilai Bit SBOX

Hasil Permutasi

dengan SBOX Biner

(11)

PERTEMUAN XI-XII

Contoh Prosess Enkipsi :

PUTARAN – 0

i = 0 :

Tahap 4 : Gabungkan biner-biner hasil penukaran dari tabel Sbox dan lakukan Rotate Left Shift 11 bit Hasil Gabungan : 01100011111111101101101100110110

Hasil RLS[0] 11 bit : 11110110110110011011001100011111

Tahap 5 : R[1] = RLS[0] XOR L[0]

L[1] = R[0] sebelum di proses

RLS[0] = 111101 10110110011011001100011111 hasil RLS R[0] L [0] = 00100010010000101111101011010010 L[0] awal

R [1] = 11010100100110110100100111001101

L[1] = R[0] sebelum di proses

L[1] = 10010010101100100010101011001010

Tahap 6 : Hasil Putaran – 0 atau pada PUTARAN – i = 0, adalah :

(12)

PERTEMUAN XI-XII

Contoh Prosess Enkipsi :

PUTARAN – 1

i = 1 :

Tahap 1 : L[1] = 10010010101100100010101011001010

R[1] = 11010100100110110100100111001101 rubah ke desimal

Tahap 2 : ( R[1] + K[1] ) Mod 232

R[1] = 3566946765 biner R[1] setelah di rubah ke Desimal K[1] = 3056506446 biner K[1] setelah di rubah ke Desimal Hasil = 6623453211 Mod 232

Hasil Mod = 2328485915 konversi ke biner Biner = 10001010110010011110000000011011

Tahap 3 : Kelompokkan biner hasil di atas menjadi 4 bit tiap kelompok :

Biner kelompok

Dec

Nilai Bit SBOX

Hasil Permutasi

dengan SBOX Biner

(13)

PERTEMUAN XI-XII

Contoh Prosess Enkipsi :

PUTARAN – 1

i = 1 :

Tahap 4 : Gabungkan biner-biner hasil penukaran dari tabel Sbox dan lakukan Rotate Left Shift 11 bit Hasil Gabungan : 01101000011001001011010010111110

Hasil RLS[1] 11 bit : 00100101101001011111001101000011

Tahap 5 : R[2] = RLS[1] XOR L[1]

RLS[1] = 00100101101001011111001101000011 hasil RLS R[1] L [1] = 10010010101100100010101011001010  L[1] awal

R [2] = 10110111000101111101100110001001

L[2] = R[1] sebelum di proses

L[2] = 11010100100110110100100111001101

Tahap 6 : Hasil Putaran – 1 atau pada PUTARAN – i = 1, adalah :

L[2] = 11010100100110110100100111001101 R[2] = 10110111 000101111101100110001001

Lanjutkan untuk proses PUTARAN KE-2 sampai PUTARAN KE-30

(14)

PERTEMUAN XI-XII

Contoh Prosess Enkipsi :

PUTARAN – 31

i = 31 :

Tahap 1 : L[31] = 00001001000001110000000100000111

R[31] = 11001001000001000011010010101110 rubah ke desimal

Tahap 2 : ( R[31] + K[0] ) Mod 232

R[31] = 3372496046 biner R[30] setelah di rubah ke Desimal K[0] = 4142282370 biner K[0] setelah di rubah ke Desimal Hasil = 7514778416 Mod 232

Hasil Mod = 3219811120konversi ke biner Biner = 10111111111010100110101100110000

Tahap 3 : Kelompokkan biner hasil di atas menjadi 4 bit tiap kelompok :

Biner kelompok

Dec

Nilai Bit SBOX

Hasil Permutasi

dengan SBOX Biner

(15)

PERTEMUAN XI-XII

Contoh Prosess Enkipsi :

PUTARAN – 31

i = 31 :

Tahap 4 : Gabungkan biner-biner hasil penukaran dari tabel Sbox dan lakukan Rotate Left Shift 11 bit Hasil Gabungan : 11001001100101101101010100010001

Hasil RLS[31] 11 bit : 10110110101010001000111001001100

Tahap 5 : R[32 = R[31] sebelum diproses

R[32] = 11001001000001000011010010101110

Tahap 6 : L[32] = RLS[31] XOR L[31]

11010010111100011111010111111101 01110101001011000010000010010011

RLS[31] = 10110110101010001000111001001100 hasil RLS R[31] L [31] = 00001001000001110000000100000111 L[31] awal

L [32] = 10111 11 1101011111000111101001011

Tahap 7 : Lakukan pembalikkan penulisan biner-biner L[31] dan R[31]

L[32] = 11010010111100011111010111111101 R[32] = 01110101001011000010000010010011

Tahap 8 : Gabungkan R[32] dan L[32]

mulai dari bit R[1], R[2]...,.R[32], L[1], L[2],...L[32]

HASIL :0111010100101100001000001001001111010010111100011111010111111101

Tahap 9 : Kelompokkan Bit Hasil 8 bit per kelompok, kemudian masing-masing kelompok bit konversi menjadi karakter. Sehingga :

CIPHERTEXT :

u, “Òñõý

(16)

PERTEMUAN XI-XII

Contoh Prosess DEKRIPSI :

Ciphertext =

u, “Òñõý

Kunci : Algoritma_GOST_Taroni_Zebua_2017

Ciphertext :

Char

u

,

Ò

ñ

õ

ý

Dec

117

44

32

147

210

241

245

253

Biner

01110101

00101100

00100000

10010011

11010010 11110001 11110101 11111101

Gabungan Biner Ciphertext :

0111010100101100001000001001001111010010111100011111010111111101

L[0]

= 10111111101011111000111101001011

R[0]

= 11001001000001000011010010101110

Konversi kunci dan kelompokkan seperti pada proses ENKRIPSI

(17)

PERTEMUAN XI-XII

Contoh Prosess DEKRIPSI :

Penggunaan Kunci pada Proses Dekripsi :

Putaran ke-0 s/d 7

=

K[0], K[1], K[2], .... , K[7]

Putaran ke-8 s/d 15

=

K[7], K[6], K[5], .... , K[0]

Putaran ke-16 s/d 23 =

K[7], K[6], K[5], .... , K[0]

Putaran ke-24 s/d 31 =

K[7], K[6], K[5], .... , K[0]

PROSES DEKRIPSI :

PUTARAN KE-0 :

L[0] =

10111111101011111000111101001011

R[0] =

11001001000001000011010010101110

Konversi ke Desimal

Tahap 2: ( R[0] + K[0] ) Mod 2

23

PUTARAN KE-0 :

Tahap 1 :

L[0] =

10111111101011111000111101001011

R[0] =

11001001000001000011010010101110

Konversi ke Desimal

Tahap 2: ( R[0] + K[0] ) Mod 2

23

R[0] = 3372496046 biner R[0] setelah di rubah ke Desimal K[0] = 4142282370 biner K[0] setelah di rubah ke Desimal Hasil = 7514778416 Mod 232

(18)

PERTEMUAN XI-XII

Contoh Prosess DEKRIPSI :

PUTARAN – 0

i = 0 :

Tahap 3 : Kelompokkan biner hasil di atas menjadi 4 bit tiap kelompok : Hasil Biner pada Proses Tahap Ke-2 :

10111111111010100110101100110000dikelompokkan 4 bit per kelompok

Biner Kelompok

Dec

Nilai Bit SBOX

Hasil

Tahap 4 : Gabungkan biner-biner hasil penukaran dari tabel Sbox dan lakukan Rotate Left Shift 11 bit Hasil Gabungan : 11001001100101101101010100010001

(19)

PERTEMUAN XI-XII

Contoh Prosess DEKRIPSI :

PUTARAN – 0

i = 0 :

Tahap 5 : R[1] = RLS[0] XOR L[0]

L[1] = R[0] sebelum di proses

L[1] =

11001001000001000011010010101110

Tahap 6 : Hasil Putaran – 0 atau pada PUTARAN – i = 0, adalah :

RLS[0] = 10110110101010001000111001001100 hasil RLS R[0] L [0] = 10111 1111010111 11000111101001011  L[0] awal

R [1] = 00001001000001110000000100000111

11001001000001000011010010101110

Tahap 6 : Hasil Putaran – 0 atau pada PUTARAN – i = 0, adalah :

(20)

PERTEMUAN XI-XII

Contoh Prosess DEKRIPSI :

PUTARAN KE-1 :

Tahap 1 : L[1] = 11001001000001000011010010101110

R[1] = 00001001000001110000000100000111 Konversi ke Desimal

Tahap 2: ( R[1] + K[1] ) Mod 223

Tahap 3 : Kelompokkan biner hasil di atas menjadi 4 bit tiap kelompok :

R[1] = 151453959 biner R[0] setelah di rubah ke Desimal K[1] = 3056506446 biner K[0] setelah di rubah ke Desimal Hasil = 3207960405 Mod 232

Hasil Mod = 3207960405 konversi ke biner Biner = 10111111001101011001011101010101

Biner Dec SBOX Hasil Permutasi Biner L[1] =

R[1] = Konversi ke Desimal

Tahap 2: ( R[1] + K[1] ) Mod 223

Tahap 4 : Gabungkan biner-biner hasil penukaran dari tabel Sbox dan lakukan Rotate Left Shift 11 bit Hasil Gabungan : 11001001110110001010110111110111

Hasil RLS[1] 11 bit : 11000101011011111011111001001110 Biner

Kelompok

Dec

Nilai Bit SBOX

Hasil Permutasi

(21)

PERTEMUAN XI-XII

Contoh Prosess DEKRIPSI :

PUTARAN – 1

Tahap 5 : R[2] = RLS[1] XOR L[1]

L[2] = R[1] sebelum di proses

L[2] =

00001001000001110000000100000111

RLS[1] = 110001010110111 11011111 001001110 hasil RLS R[0] L [1] = 11001001000001000011010010101110  L[1] awal

R [2] = 00001100011010111000101011100000

Tahap 6 : Hasil Putaran – 1 atau pada PUTARAN – i = 1, adalah :

L[2] = 00001001000001110000000100000111 R[2] = 00001100011010111000101011100000

Lanjutkan untuk proses PUTARAN KE-2 sampai PUTARAN KE-30

(22)

PERTEMUAN XI-XII

Contoh Prosess DEKRIPSI:

PUTARAN – 31  i = 31 :

Tahap 1 : L[31] = 11010100100110110100100111001101

R[31] =10010010101100100010101011001010 rubah ke desimal

Tahap 2 : ( R[31] + K[0] ) Mod 232

Tahap 3 : Kelompokkan biner hasil di atas menjadi 4 bit tiap kelompok :

Biner kelompok

Dec

Nilai Bit SBOX

Hasil Permutasi

dengan SBOX Biner

R[31] = 2461149898 biner R[30] setelah di rubah ke Desimal K[0] = 4142282370 biner K[0] setelah di rubah ke Desimal Hasil = 6603432268 Mod 232

Hasil Mod = 2308464972konversi ke biner

Biner =10001001100110000110000101001100

11010100100110110100100111001101 10010010101100100010101011001010

Tahap 4 Gabungkan biner-biner hasil Tahap 3, kemudian lakukan RLS sebanyak 11 bit Gabungan : 01100011111111101101101100110110

Hasil RLS : 11110110110110011011001100011111

Biner kelompok

Dec

Nilai Bit SBOX

Hasil Permutasi

dengan SBOX Biner

(23)

PERTEMUAN XI-XII

Contoh Prosess Enkipsi :

PUTARAN – 31

i = 31 :

Tahap 5 : R[32 = R[31] sebelum diproses

R[32] =

10010010101100100010101011001010

Tahap 6 : L[32] = RLS[31] XOR L[31]

Tahap 7 : Lakukan pembalikkan penulisan biner-biner L[31] dan R[31]

L[32] = 01001011010111110100001001000100

RLS[31] =

11110110110110011011001100011111

hasil RLS R[31] L [31] =

11010100100110110100100111001101

L[31] awal

L [32] =

00100010010000101111101011010010

10010010101100100010101011001010

L[32] = 01001011010111110100001001000100 R[32] = 01010011010101000100110101001001

Tahap 8 : Gabungkan R[32] dan L[32]

mulai dari bit R[1], R[2]...,.R[32], L[1], L[2],...L[32]

HASIL :0101001101010100010011010100100101001011010111110100001001000100

Tahap 9 : Kelompokkan Bit Hasil 8 bit per kelompok, kemudian masing-masing kelompok bit konversi menjadi karakter. Sehingga :

Gambar

TABEL SBOX METODE GOST

Referensi

Dokumen terkait

KAJIAN REDUPLIKASI MORFEMIS BAHASA INDONESIA BERANCANGAN BENTUK DASAR DAN MODEL PROSES SEBAGAI ALTERNATIF PENYUSUNAN SUBBAHAN AJAR.. MORFOLOGI

Penulisan laporan Tugas Akhir ini merupakan Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang serta sebagai

Melakukan pemeriksaan/pengujian hasil pekerjaan pengadaan barang/jasa sesuai dengan ketentuan yang tercantum dalam Surat Perintah Kerja (SPK) khusus untuk pengadaan

Namun demikian Pemerintah Kota Depok terus berupaya mengatasi keterbatasan-keterbatasan keuangan daerah dengan menyempurnakan manajemen keuangan, melakukan efisiensi dan

bertindak sebagai wali amanat ( trustee ) untuk mewakili kepentingan investor. Investor, adalah pemegang sukuk yang memiliki hak atas imbalan, margin, dan nilai

Dengan keunggulan yang diperoleh dari sistem perawatan usulan (preventive maintenance), yaitu dapat memberikan dampak penurunan rata-rata downtime komponen kritis sebesar

Sejak beberapa tahun terakhir, penulisan referensi R dalam bentuk buku teks berbahasa Inggris mulai digalakkan oleh beberapa penerbit terkenal diantaranya Chapmann

Dengan peralatan yang masih sederhana dan kapasitas produksi yang masih rendah, serta mengandalkan jumlah tenaga kerja manusia, pembuatan kerupuk ikan memerlukan waktu yang lebih