Professional Documents
Culture Documents
Abstrak
Makalah ini membahas tentang studi dan perbandingan International Data Encryption Algorithm (IDEA)
dengan Data Encryption Standard (DES). IDEA adalah algoritma kriptografi simetri yang beroperasi dalam
bentuk blok 64 bit. IDEA ini mengenkripsi plaintext menjadi chiperteks dalam delapan putaran. Algoritma
ini membagi plaintext yang akan dienkripsi menjadi empat blok, masing-masing terdiri dari enam belas bit.
Lima puluh dua upa kunci (sub-keys) yang terdiri dari enam belas bit dibangkitkan dari kunci utama
(master-key) yang terdiri 128 bit. Lalu pada setiap putarannya digunakan enam kunci. Setelah itu dilakukan
transformasi final dengan empat kunci untuk membalikkan posisi ke operasi dasar.
Dalam makalah ini akan dibahas sejarah dari algoritma IDEA, proses mengenkripsi suatu file dengan
menggunakan algoritma IDEA, lalu akan dibahas pula proses cara melakukan dekripsi kembali untuk
mengembalikan plaintext hasil enkripsi menjadi seperti sedia kala dengan menggunakan algoritma IDEA
ini pula. Lalu akan dijelaskan pula proses pembangkitan kunci yang dilakukan untuk melakukan proses
enkripsi. Dalam makalah ini juga akan dianalisis mengenai kekuatan dan kelemahan dari algoritma IDEA
itu sendiri. Serta akan diberikan pula contoh komputasi dari algoritma IDEA ini.
Algoritma IDEA yang akan dibahas dalam makalah ini juga akan dibandingkan dengan algoritma yang
sudah menjadi standar dalam algoritma chiper block, yaitu DES. Makalah ini akan membandingkan
performansi masing-masing algoritma dalam mengenkripsi dan mendekripsi berbagai jenis file dalam
berbagai ukuran. Sebuah perangkat lunak bernama DEC (Delphi Encryption Compendium) Part 1 akan
digunakan untuk membandingkan antara algoritma IDEA dengan algoritma DES. Perangkat lunak inilah
yang digunakan untuk membandingkan performansi algoritma IDEA dengan DES.
Kata kunci: International Data Encryption Algorithm, Data Encryption Standard, plaintext, chipertext,
Delphi Encryption Compendium, dekripsi, enkripsi, sub-key, master-key.
untuk k > 0
a[k] = a[k − 2] − q[k − 1]a[k − 1] for k > 1 Gambar 4 : Gambar operasi pada algoritma
x[k] = x[k − 2] − q[k − 1]x[k − 1] for k > 1 kriptografi IDEA.
y[k] = y[k − 2] − q[k − 1]y[k − 1] for k > 1
Gambar di atas adalah operasi-operasi yang
Jika a[p] adalah nilai a[k] terakhir yang bukan mengakibatkan confusion dan dalam operasi-
nol maka operasi ini tidak berlaku hukum distributif atau
a[p] = x[p] × m + y[p] × n hukum asosiatif. Struktur dari difusion ini
dan gcd(m, n) = a[p]. menciptakan sebuah blok dasar yang dinamakan
Jika gcd(m, n) = 1 maka MA Structure Multiplication / Addition. Ini
y[p] = n−1 mod m hanya menggunakan dua kunci untuk setiap
Catatan a[k] = a[k − 2] − q[k − 1]a[k − 1] putarannya dan masukannya adalah F1, F2 sama
Akan sama dengan: seperti luarannya G1, G2 yang dihubungkan oleh
a[k] = a[k − 2] mod a[k − 1] XOR. Berikut ini adalah gambar dari blok utama
IDEA :
Contoh
m = 65537, n = 4
gcd(65537, 4) = 1
Invers
−16384 mod 65537 = 49153
a[p] = x[p] × m + y[p] × n
1 = 1 × 65537 + (−16384 × 4)
1 = 65537 − 65536
Invers
1 = (y[p] × n) mod m Gambar 5 : Blok Utama IDEA
1 = (−16384 × 4) mod 35567
1 = (49153 ¤ 4) mod 65537
1 = ((3 × 65537) + 1) mod 65537
X Y X+Y X⊗ Y X⊕ Y
0 00 0 00 0 00 1 01 0 00
0 00 1 01 1 01 0 00 1 01
0 00 2 10 2 10 3 11 2 10
0 00 3 11 3 11 2 10 3 11
1 01 0 00 1 01 0 00 1 01
1 01 1 01 2 10 1 01 0 00
1 01 2 10 3 11 2 10 3 11
1 01 3 11 0 00 3 11 2 10
2 10 0 00 2 10 3 11 2 10
2 10 1 01 3 11 2 10 3 11
2 10 2 10 0 00 0 00 0 00
2 10 3 11 1 01 1 01 1 01
3 11 0 00 3 11 2 10 3 11
3 11 1 01 0 00 3 11 2 10
3 11 2 10 1 01 1 01 1 01
3 11 3 11 2 10 0 00 0 00
Tabel 1: Operasi XOR, penambahan, dan 7) Perkalian hasil langkah 5) dengan sub-
perkalian pada grup kecil. kunci kelima
8) Penjumlahan hasil langkah 6) dengan
Blok pesan terbuka dengan lebar 64-bit , X, langkah 7)
dibagi menjadi 4 sub-blok 16-bit, X , X , X , X , 9) Perkalian hasil langkah 8) dengan sub-
1 2 3 4
kunci keenam
sehingga X = (X , X , X , X ). Keempat sub-
1 2 3 4 10)Penjumlahan hasil langah 7) dengan 9)
blok 16-bit itu ditransformasikan menjadi sub- 11)Operasi XOR hasil langkah 1) dan 9)
blok 16-bit, Y , Y , Y , Y sebagai pesan rahasia 12)Operasi XOR hasil langkah 3) dan 9)
1 2 3 4,
13)Operasi XOR hasil langkah 2) dan 10)
64-bit Y = (Y , Y , Y , Y ) yang berada dibawah 14)Operasi XOR hasil langkah 4) dan 10)
1 2 3 4
kendali 52 sub_blok kunci 16-bit yang dibentuk
dari dari blok kunci 128 bit. Untuk lebih jelasnya bisa dilihat dari notasi-
notasi berikut :
Keempat sub-blok 16-bit, X , X , X , X , IDEA Round
1 2 3 4 • 14 Langkah
digunakan sebagai masukan untuk putaran • © = Xor
pertama dari algoritma IDEA. Dalam setiap • ¤ = Perkalian Modulo 216 + 1
putaran dilakukan operasi XOR, penjumlahan, • + = Penambahan modulo 216
perkalian antara dua sub-blok 16-bit dan diikuti 1. A = X1 ¤ K1
pertukaran antara sub-blok 16-bit putaran kedua 2. B = X2 + K2
dan ketiga. Keluaran putaran sebelumnya 3. C = X3 + K3
menjadi masukan putaran berikutnya. Setelah 4. D = X4 ¤ K4
putaran kedelapan dilakukan transformasi 5. E = A © C
keluaran yang dikendalikan oleh 4 sub-blok 6. F = B © D
kunci 16-bit. 7. G = E ¤ K5
8. H = G + F
Pada setiap putaran dilakukan operasi-operasi 9. J = H ¤ K6
sebagai berikut : 10. L = J + G
1) Perkalian X dengan sub-kunci pertama 11. R1 = A © J
1
2) Penjumlahan X dengan sub-kunci kedua 12. R2 = C © J
2 13. R3 = B © L
3) Pejumlahan X dengan sub kunci ketiga 14. R4 = D © L
3
4) Perkalian X dengan sub kunci keempat
4 Di bawah ini adalah gambar dari putaran yang
5) Operasi XOR hasil langkah 1) dan 3) dimiliki oleh IDEA :
6) Operasi XOR hasil angkah 2) dan 4)
berkorespondensi dengan upa-kunci (sub-key)
enkripsi.
Invers :
Invers XOR: sama seperti fungsi yang sudah
diaplikasikan
Invers Penambahan :penambahan dengan mod
216
Invers Perkalian : perkalian dengan mod 216+1
Module IDEA
Untuk dekripsi,
setiap blok dari
Gambar 7 : Transformasi Luaran kriptogram dibagi
menjadi empat
sub-blok 16 bit.
Notasi superscript K9n menandakan jumlah
putaran dari upa-kunci (sub-key). Pada kasus ini
Operasi
putaran sembilan adalah transformasi final. sekarang
maju
4. Proses Dekripsi IDEA
Tabel 4
Keterangan :
-1 16
• Z merupakan invers perkalian modulo 2 +1
-1
dari Z, dimana Z Z = 1
16
• -Z merupakan invers penjumlahan modulo 2
-1
dri Z, dimana Z Z = 0
Sebanyak 52 upa-kunci blok 16-bit untuk proses Berikut ini adalah gambar pembangkitan kunci
enkripsi diperoleh dari sebuah kunci 128-bit untuk algoritma IDEA
pilihan pemakai. Enam upa-kunci digunakan
masukan 128 A geser 25 bit yang
setiap putarannya sehingga terpakai 48 uap- bit,upakunci 52 akan dihasilkan di bagian kiri
kunci. Sedangkan sisa empat upa-kunci untuk dibangkitkan pada setiap fase pada 7 fase
transformasi final. Blok kunci 128-bit dipartisi pembangkitan kunci
menjadi 8 sub-blok kunci 16-bit yang langsung 128 bit
64 bit 26 pertama
dipakai sebagai 8 sub-blok kunci pertama.
terakh ,8
Kemudian blok kunci 128-bit dirotasi dari kiri 25 ir dari upakun
posisi untuk dipartisi lagi menjad 8 sub-blok fase 7 ci 16 bit
kunci 16-bit berikutnya. Proses rotasi dan partisi tidak akan
itu diulangi lagi terus menerus sampai diperoleh digun
23
dibangk
akan. itkan
52 sub-blok kunci 16-bit, dengan urutan sebagai satu-
berikut : persatu
Z Z Z Z Z Z
11 21 31 41 51 61
64 bits of last keys 86
Z Z Z Z Z Z
12 22 32 42 52 62
Z Z Z Z Z Z Gambar 10 Pembangkitan kunci pada
13 23 33 43 53 63 algoritma IDEA
Z Z Z Z Z Z
14 24 34 44 54 64
Z Z Z Z Z Z Pada setiap operasi pada kunci 128 bit, 8 kunci
15 25 35 45 55 65 dari 16 bits yang didapatkan, hanya enam kunci
Z Z Z Z Z Z yang digunakan pada setiap putarannya. Kunci
16 26 36 46 56 66 yang tersisa disimpan untuk putaran berikutnya.
Z Z Z Z Z Z Di bawah ini adalah gambar pergeseran kunci
17 27 37 47 57 67
Z Z Z Z Z Z pada IDEA:
18 28 38 48 58 68