• Tidak ada hasil yang ditemukan

1. Pendahuluan. 2. Tujuan Desain

N/A
N/A
Protected

Academic year: 2022

Membagikan "1. Pendahuluan. 2. Tujuan Desain"

Copied!
14
0
0

Teks penuh

(1)

Studi Grǿstl sebagai salah satu kandidat SHA 3

Daniel Melando, Ninik Ratna Dewi, R. Ahmad Immanullah Zakariya Tingkat II Teknik Kripto

Sekolah Tinggi Sandi Negara

1. Pendahuluan

Grǿstl adalah salah satu kandidat SHA 3 yang diadakan oleh NIST. Algoritma ini dikirim oleh Lars Ramkilde Knudsen. Grǿstl adalah algoritma iterated compression hash function yang dibangun dari dua permutasi yang jelas, tetap, dan besar. Desain Grǿstl sangat berbeda dengan SHA family. Terdapat dua permutasi yang dibangun dari trail design strategy yang besar yang membuat algoritma ini menjadi tahan terhadap kriptanalisis. Ditambah lagi asumsi bahwa permutasi yang digunakan adalah permutasi ideal, maka menambah kekuatan fungsi hash yang dibangun.

Grǿstl berbasis SP network yang mengadopsi banyak komponen AES termasuk S-box yang digunakan maupun layer difusi yang digunakan sehingga kekuatannya ada pada difusi dan konfusi yang dibangun.

Grǿstl juga disebut dengan konstruksi wide pipe yang ukuran internal statenya sangat besar dibanding dengan ukuran output. Efek yang ditimbulkan yaitu sangat sulit dalam melakukan serangan. Grǿstl juga memunyai performa yang bagus pada range platform yang luas dan tahan terhadap side channel attack sama seperti AES.

2. Tujuan Desain

Tujuan dari desain agoritma ini adalah untuk desain yang elegan, dan mudah dianalisis.

Pada kenyataannya, fungsi iterasi yang diaplikasikan pada fungsi kompresi membuat kemiripan dengan sifat algoritma hash yang lain.

2.1 Tujuan desain untuk Grøstl

 Analisis Grøstl sangat sederhana. Grøstl menggunakan permutasi bilangan kecil sebagai pengganti block cipher (dengan banyak permutasi)

 Terkonstruksi secara aman (dengan asumsi permutasi yang ideal).

 Permutasi didasari prinsip desain yang terkenal

(2)

 Tidak ada persyaratan khusus untuk bentuk tertentu dan ukuran kata, performance yang baik pada platform yang berjarak jauh

 Anti terhadap side-channel dengan tambahan biaya yang sedikit

 Mendefinisikan variant yang tereduksi untuk kemudahan kriptanalisis

 Mencegah length-extension attack

 Bisa diimplementasikan untuk mengeksploitasi paralelisasi dalam fungsi kompresi

2.2 Toleransi Kegagalan Desain

Permutasi yang digunakan seharusnya idela, sehingga serangan yang ada pada fungsi kompresi tidak akan mempengaruhi fungsi hash.

 Internal state lebih besar dibanding output akhir, oleh karena itu, semua jenis serangan yang umum digunakan akan gagal

 Teknik yang digunakan untuk mengetahui ketidak idealan permutasi hanya akan bisa dilakukan pada variant yang dikurangi

 Serangan pada fungsi kompresi tidak berpengaruh pada ungsi hash.

 Tidak ada serangan pada fungsi kompresi yang terbukti memenuhi lower bound

2.3 Pertimbangan desain untuk fungsi kompresi

Desain fungsi hash secara tradisional biasanya berdasarkan pada desain blok cipher.

Hal ini dikarenakan key schedule nya memiliki peran yang sangat penting. Keuntungan metodologi desain seperti itu adalah sebagai berikut:

 Tidak ada serangan melalui key schedule

 Karena key schedule pada block cipher seringkali lambat tetapi performance dapat ditingkatkan

 Sederhana 3 Spesifikasi Grøstl

Grøstl adalah kumpulan dari fungsi hash, mampu mencerna pesan kembali dari sejumlah byte dari 1 sampai 64, yaitu, dari 8 sampai 512 bit pada langkah 8-bit. Sisa varian n bit disebut Grøstl-n. Grøstl termasuk dalam ukuran message digest (MD) 224, 256, 384, dan 512 bit.

(3)

3.1 The hash function construction

Fungsi hash yang Grøstl mengiterasi fungsi kompresi fungsi f sebagai pesan berikut.

Pesan M telah di padding dan dipecah menjadi ℓ-bit blok pesan m1,..., mt, dan setiap pesan blok diproses satu-persatu. Sebuah initial nilai ℓ-bit h0=IV didefinisikan, dan kemudian subsekuen pesan blok mi diproses sebagai

Oleh karena itu, f memetakan dua input ℓ bit masing-masing ke output ℓ bit. Masukan pertama yang disebut chaining input, dan masukan kedua disebut message block. Untuk varian Grøstl mengembalikan sampai 256 bit, ℓ didefinisikan sebagai 512. Untuk varian yang lebih besar, ℓ adalah 1024.

Setelah blok pesan terakhir diproses, output H(M) pada fungsi hash dihitung sebagai

Dimana Ω adalah output transformation. Ukuran output dari Ω adalah n bit, n < ℓ .

Gambar 1. Grøstl

3.2 Konstruksi fungsi kompresi

Fungsi kompresi f berdasarkan 2 permutasi ℓ-bit P dan Q. Didefinisikan sebagai berikut:

.

(4)

Gambar 2. Fungsi Kompresi

3.3 Transformasi output

Truncn(x) menjadi operasi yang membuang semua deret kecuali deretan n bit dari x.

Kemudian output transformasi Ω didefinisikan dengan

3.4 Desain P and Q

Seperti disebutkan, fungsi kompresi f berbentuk dua varian, satu digunakan untuk message digest singkat, dan satu digunakan untuk message digest panjang. Setiap varian menggunakan pasangan sendiri dari permutasi P dan Q. Jadi, didefinisikan sebanyak empat permutasi. Permutasi akan ditetapkan dengan subskrip 512 atau 1024.

Gambar 3. Output Transformasi

Desain P dan Q terinspirasi oleh algoritma blok cipher Rijndael. Ini berarti bahwa desain Rijndael terdiri dari beberapa round R, yang terdiri dari beberapa round transformasi. Karena P dan Q jauh lebih besar daripada ukuran normal Rijndael, sebagian besar transformasi round

(5)

telah didefinisikan ulang. Dalam Grøstl, sebanyak empat putaran transformasi didefinisikan untuk setiap permutasi.

 AddRoundconstant

 SubBytes

 ShiftBytes

 MixBytes

Ketika perbedaan diperlukan, transformasi ketiga ShiftByteswill akan disebut ShiftBytesWide bila digunakan dalam permutasi besar P1024 dan Q1024. Transformasi lain dapat digambarkan dengan cara yang sama untuk semua empat permutasi.

Satu round R terdiri dari empat round transformasi ini diterapkan dalam urutan di atas.

Dengan demikian,

Semua round mengikuti definisi ini. Jumlah round dinotasikan r.

Transformasi yang beroperasi pada state direpresentasikan sebagai matriks A dari byte.

Untuk varian pendek, matriks memiliki 8 baris dan 8 kolom, dan untuk varian besar, matriks memiliki 8 baris dan 16 kolom degan notasi v nomor kolom, Bytes konstannya c3.

3.4.1 Pemetaan dari urutan byte ke negara matriks dan sebaliknya

Karen Grøstl beroperasi pada byte, pada umumnya endianness netral. Pemetaan yang dilakukan dengan cara yang sama seperti dalam Rijndael yaitu 64-byte urutan dengan urutan 000102...3f

Gambar 4. Transformasi dasar Grǿstl

(6)





















F F

F F

E E

E E

D D

D D

C C

C C

B B

B B

A A

A A

3 37 2 27 1 17 0 07

3 36 2 6 1 16 0 06

3 35 2 25 1 15 0 05

3 34 2 24 1 14 0 04

3 33 2 23 1 13 0 03

3 32 2 22 1 12 0 02

39 31 29 21 19 11 09 01

38 30 28 20 18 10 08 00

Gambar 5. Matrik Hasil Pemetaan

3.4.2 AddRoundConstant

P dan Q memiliki konstanta round yang berbeda yang terletak pada permutasinya.

Konstanta round adalah sebuah matrik yang pada kolom dan barisnya hanya terdapat 1 posisi yang bukan nol. Round constant ini digunakan pada P512 dan P1024 yang pada dasarnya sama.

Gambar 6. AddRoundConstant untuk Permutasi P dan Q

(7)

3.4.3 SubBytes

Subbytes mensubstitusi masing-masing byte pada state matriks dengan nilai lain, mengambil dari s-box S. S-Box yang dipakai sama dengan S-Box satu yang digunakan Rijndael. Oleh karena itu, jika ai,j adalah elemen di dalam baris i dan kolom j dari A, maka Subbytes melaksanakan transformasi sebagai berikut:

3.4.4 Shift Bytes

Shiftbytes dan Shiftbyteswide secara siklis menggeser bytes di dalam suatu baris ke kiri oleh sejumlah posisi. Misal s= [ s0, s1,..., s7] daftar bilangan bulat berbeda di dalam cakupan dari 0 untuk v-1.

Gambar 7. SubBytes Subtitude

Maka, Shiftbytes memindahkan semua bytes di baris i pada state matriks si ke kiri.

Vektor s didefinisikan sebagai s = [ 0, 1, 2, 3, 4, 5, 6, 7] dalam Shiftbytes, dan = [ 0, 1, 2, 3, 4, 5, 6, 11] pada Shiftbyteswide.

Gambar 8. ShiftByte

(8)

Gambar 9. ShiftBytesWide

4.5 Mix Bytes

Pada transformasi Mixbytes, masing-masing kolom di dalam matriks ditransformasi secara bebas. Untuk menguraikan transformasi yang dilakukan, kita harus mengenal finite field.

Finite field ini sama dengan Rijndael yang irreducible polinomial pada F2

Matriks ini adalah circulant, yang berarti bahwa masing-masing baris sama dengan pergeseran satu kali ke kanan.

Gambar 10. Matriks Circulant

(9)

3.4.6 Jumlah round

Jumlah r round adalah suatu parameter keamanan yang tuneable. Di sini direkomendasikan nilai r untuk empat permutasi.

Tabel 1. Permutasi yang Dipakai

3.5 Initial values

Initial value ivn Grøstl-N adalah l-bit yang mempresentasikan n. Tabel di bawah menunjukkan initial value yang diperlukan oleh ukuran output 224, 256, 384, dan 512 bit.

Tabel 2. Initial Value

3.6 Padding

Panjang masing-masing blok pesan adalah l. Untuk dapat mengoperasikan input dengan panjang sembarang, dilakukan padding. Fungsi padding ini mengambil string x dengan panjang N bit dan menghasilkan string x*= pad(x) yang panjangnya perkalian dari l.

Fungsi padding bekerja sebagai berikut. Pertama, menambahkan bit ‘1’ dari x.

Kemudian, menambahkan w = - N- 65 mod l ‘0’ bit, dan terakhir menambahkan 64-bit yang merupakan representasi dari ( N+ w+ 65)/l.

4. Keputusan dan Fitur Desain

Keuntugan Grǿstl dibanding algoritma yang lain yaitu : a. Keamanan

Karena menggunakan permutasi yang ideal, maka Grǿstl memiliki properti collision resistant dan preimage resistant.

b. Fleksibel

(10)

Algoritma ini bisa diimplementasi pada beberapa platform karena parameter keamanan r dan jumlah round dapat dengan mudah diubah.

c. Sederhana

Konstruksi permutasi sederhana dan mudah dipahami.

d. Tidak asing

Karena algoritma ini berdasar pada Rijndael, maka sudah banyak dikenal dan tidak asing lagi.

4.1 Keamanan konstruksi

Konstruksi fungsi kompresi yang digunakan dapat dibuktikan aman karena menggunakan dua permutasi P dan Q yang ideal. Dibutuhkan nilai yang besar dalam percobaan untuk menemukan nilai collision pada algoritma Grǿstl. Asumsi yang digunakan adalah permutasi yang digunakan ideal padahal, pada kenyataannya serangan terhadap permutasi yang tidak ideal tidak akan menambah peluang serangan pada algoritma itu sendiri.

4.2 AddRoundConstant

Tujuan dari penambahan konstanta round yaitu agar masing-masing round berbeda dan pada saat yang sama P dan Q juga berbeda. Bila permutasi yang digunakan sama, maka hasilnya merupakan perluasan dari permutasinya, dan hal itu akan menimbulkan jumlah fixed point P dan Q adalah 1. Pada implementasinya, penggunaan P dan Q yang berbeda tidak menimbulkan kesalahan yang besar karena kode masih dapat dishared antara P dan Q. Round constant yang digunakan sederhana agar mengurangi performa dalam melakukan kesalahan.

4.3 SubBytes

SubBytes adalah satu-satunya elemen non linear yang ada pada Grǿstl yang menggunakan s-box yang sama seperti AES. Alasan pemakaiannya sebagai berikut :

a. Ukuran yang mudah dalam implementasi

b. Menggunakan singe s-box agar implementasi mudah dan pertimbangan kriptanalisis c. S-box yang digunakan lebih efisien di hardware dibanding s-box acak

d. S-box AES sudah lama dipelajari dan termasuk s-box yang kuat e. Implementasi pada hardware sudah banyak dipelajari

4.4 ShiftBytes dan ShiftBytesWide

(11)

Niai pergeseran yang dimiliki harus optimal dalam arti state byte minimal 1 state byte lain. Nilai pergeseran yang digunakan juga merupakan nilai yang ada pada AES.

4.5 MixBytes

Tujuan dari mixbytes adalah memperluas transformasi trail stategi dengan menggunakan error correcting code dengan MDS.

4.6 Output Transformasi

Transformasi output dibutuhkan karena chaining ukuran variabel lebih besar dibanding output. Transformasi output yang dilakukan dengan cara pemotongan. Karena fungsi kompresi yang digunakan ini tidak ideal, maka fungsi yang dipakai adalah fungsi one way dan collision resistant tetapi bukan fungsi komresi sebelum dilakukan pemotongan. ω (x) = P (x) ⊕ x.

Konstruksi Matyas-Meyer-Oseas untuk fungsi hash didasarkan pada blok cipher yang menyediakan fungsi kompresi g dan didasarkan pada fungsi enkripsi EK g (h, m) = Eh (m) ⊕ m

Fungsi ini telah terbukti one way dan collision resistant dengan asumsi bahwa E yang digunakan adalah ideal. Dengan fakta itu, maka sulit menyerang Grǿstl dengan menggunakan output transformasi.

4,7 Jumlah putaran

Pada square attack, permutasi dapat dibedakan dari permutasi ideal jika jumlah round kurang dari 7. Semakin besar jumlah round, maka akan semakin kuat tingkat keamanan yang dimiliki.

4,8 Trapdoor

Semua konstanta yang digunakan dalam Grǿstl harus jelas termasuk penggunaan s-box sehingga termasuk dalam trapdoor.

5. Penggunaan Grǿstl

5.1 Otentikasi pesan

HMAC adalah salah satu cara membangun otentikasi pesan menggunakan hash function.

Ket :

(12)

K : Paddingan k menjadi blok dengan panjang sesuai degan fungsi hash Opad dan ipad : 2 konstanta yang berbeda yang sudah didefinisikan

Ada lagi metode lain

, M adalah M ditambah dengan perkalian dari l bit.

5.2 Randomized Hashing

Agar message authenticationnya aman, maka dilakukan penambahan nilai acak yang selalu baru z sebelum pesan dihash.

5.3 Klaim keamanan pada Grǿstl

Tabel 3. Klaim Keamanan Grǿstl 6. Hasil Kriptanalisis

Pada tulisan in tidak akan dibahas kriptanalisis Grǿstl secara detail. Secara umum, serangan pada Grǿstl dibagi menjadi lima serangan yakni serangan pada permutasi yang termasuk di dalamnya differential cryptanalysis,linier cryptanalysis, integral, dan algebraic attack collision attack yang di dalamnya mengandung collision attack pada fungsi kompresi, dan collision attack pada fungsi hash, iterasi yang di dalamnya termasuk multicollision attack, second preimage attack, dan length extension attack, dan fixed point.

Berdasarkan hal itu, maka hasil kriptanalis data dijadikan table sbagai berikut :

(13)

Tabel 4. Serangan Grǿstl

Ternyata selain serangan yang bersifat matematis itu, terdapat side channel attack yaitu cache based timing attacks, power- and em side-channel attacks, dan on countermeasures.

7. Implementasi

Secara umum Grǿstl mudah diimplementasikan baik pada software maupun hardware.

Pada software, Grǿstl diperuntukkan pada prosesor 64 bit, tetapi performanya bagus untuk prosesor ukuran 32 bit. Pada hardware, Grǿstl adalah algoritma yang mengijinkan penggunanya untuk trade off yang terlalu besar, laten, gerbang count, konsumsi daya, dan lain- lain. Benchmarks on pc platforms diperuntukkan bagi pesan yang panjang. Benchmarks on pc platforms ditunjukkan pada tabel di bawah ini

Tabel 5. Implementasi

(14)

8. Kesimpulan

Grǿstl adalah salah satu kandidat SHA 3 yang dikirim oleh Lars Ramkilde Knudsen dalam NIST. Grǿstl adalah algoritma iterated compression hash function yang dibangun dari dua permutasi yang jelas, tetap, dan besar. Terdapat dua permutasi yang dibangun dari trail design strategy yang besar yang membuat algoritma ini menjadi tahan terhadap kriptanalisis.

Grǿstl berbasis SP network yang S-box dan layer difusinya mengamil dari AES. Grǿstl juga disebut dengan konstruksi wide pipe yang ukuran internal statenya lebih besar dibanding dengan output. Hal ini dilakukan agar serangan yang dilakukan sulit. Grǿstl juga memunyai performa yang bagus pada range platform yang luas dan tahan terhadap side channel attack.

9. Referensi

Knudsen, dkk. 2008. Grøstl – a SHA-3 Candidate

Gambar

Gambar 1. Grøstl
Gambar 2. Fungsi Kompresi
Gambar 4. Transformasi dasar Grǿstl
Gambar 6. AddRoundConstant untuk Permutasi P dan Q
+5

Referensi

Dokumen terkait

Berdasarkan hasil penelitian yang telah dilakukan, faktor yang paling optimal untuk mendapatkan respon time machining yang minimal baik secara real atau simulation

Setelah dilakukan observasi dan wawancara, diketahui beberapa penyebab perusahaan melakukan pemesanan ketika persediaan material pada gudang tersedia dalam jumlah

Hal-hal yang dilakukan oleh kepala sekolah sebagai manajer adalah (1) pemberdayaan orangtua dilakukan kepala sekolah dengan melibatkan seluruh komponen masyarakat untuk ikut andil

Dalam hal ini perlu ada upaya guna mengintegrasikan lahan dari tiap pegaram dengan mengadopsi konsep “corporate farming” atau pembentukan kelompok atau usaha bersamamelalui

Sesuai dengan rumusan masalah yang dipaparkan, tujuan yang ingin dicapai dalam penelitian ini adalah untuk mengidentifikasi kemampuan menyimak mahasiswa semester II

Pada kulit pisang kepok mengandung senyawa flavonoid, alkaloid, tanin, saponin dan kuinon (Saraswati, 2015), dimana senyawa tersebut memiliki aktivitas antibakteri

Dalam upaya mencapai prestasi kerja karyawan yang tinggi, sangat diperlukan terjalinnya komunikasi yang baik antar unit yang ada dalam perusahaan tersebut, baik komunikasi

Hasil penelitian ekstrak etanol bulbus bawang dayak yang tumbuh liar asal Banjarbaru memiliki aktivitas antioksidan dengan nilai IC 50 sebesar 25,33 ppm dan berdasarkan