Anda di halaman 1dari 17

STUDI DAN PERBANDINGAN ALGORITMA IDEA

(INTERNATIONAL DATA ENCRYPTION ALGORITHM) DENGAN


DES (DATA ENCRYPTION STANDARD)

Stevens Jethefer – 13504080

Program Studi Teknik Informatika,


Sekolah Teknik Elektro dan Informatika
Institut Teknologi Bandung
Jl. Ganeca 10, Bandung
E-mail : if14080@students.if.itb.ac.id

ƒ 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.

1. Pendahuluan berhak sehingga mungkin saja membahayakan


bagi orang yang mengirim pesan atau dikirimi
Masalah keamanan dan kerahasiaan data pesan bahkan banyak orang. Informasi yang
merupakan hal yang sangat penting dalam suatu terkandung di dalamnya pun bisa saja berubah
organisasi maupun pribadi. Apalagi jika data sehingga menyebabkan salah penafsiran oleh
tersebut berada dalam suatu jaringan komputer penerima pesan sehingga bisa membahayakan
yang terhubung / terkoneksi dengan jaringan lain kedua pihak atau bahkan banyak orang. Selain
yang publik misalnya internet. Tentu saja data itu data yang dibajak tersebut akan memiliki
yang sangat penting tersebut jangan sampai jatuh kemungkinan rusak bahkan bisa hilang yang
ke tangan yang tidak berwenang sehingga bisa akan menimbulkan kerugian material yang besar.
dilihat atau dibajak oleh orang yang tidak Jadi bisa dikatakan tujuan-tujuan dari kriptografi
berwenang tersebut. Sebab kalau hal ini sampai antara lain :
terjadi kemungkinan informasi yang terkandung ƒ Convidentiality
di dalamnya bisa diketahui oleh lain yang tidak
Yaitu menjaga kerahasiaan pesan dan Gambar 1: Blok diagram Pembagian sistem
menyimpan data dengan menyembunyikan Kriptografi berdasarkan kunci
informasi lewat teknik-teknik enripsi.
ƒ Massage Integrity Algoritma chiper block penyandian/kriptografi
Yaitu memberikan jaminan bahwa untuk data yang populer dan telah dijadikan standard
tiap bagian pesan tidak akan mengalami enkripsi kunci simetri sejak tahun 1976 adalah
perubahan dari saat data dibuat/dikirim oleh Data Encryption Standard (DES). Algoritma
pengirim sampai dengan saat data tersebut chiper block adalah algoritma kriptografi yang
dibuka oleh penerima data. beroperasi pada plaintext / chipertext dalam
ƒ Non-repudiation bentuk blok bit, yang dalam hal ini rangkaian biit
Yaitu memberikan cara untuk membuktikan dibagi menjadi blok-blok bit yang panjangnya
bahwa suatu dokumen datang dari seseorang sudah ditentukan sebelumnya. Misalnya panjang
tertentu sehingga apabila ada seseorang blok adalah 64 bit, maka itu berarti algoritma
yang mencoba mengakui memiliki dokumen enkripsi memperlakukan 8 karakter setiap kali
tersebut, dapat dibuktikan kebenarannya dari penyandian.
pengakuan orang tersebut.
ƒ Authentication Algoritma DES ini dikembangkan oleh IBM di
Yaitu emberikan dua layanan. Pertama bawah kepemimpinan W.L Tuchman pada tahun
mengidentifikasikan keaslian suatu pesan 1972. Algoritma ini didasarkan pada algoritma
dan memberikan jaminan keotentikannya. Lucifer yang dibuat Horst Feistel. Kekuatan DES
Kedua untuk menguji identitas seseorang ini terletak pada panjang kuncinya yaitu 56-bit
apabila ia akan memasuki sebuah sistem. yang beroperasi pada ukuran blok 64 bit. Oleh
karena itu DES masih kadang-kadang digunakan
Oleh karena itu diciptakanlah suatu algoritma untuk keperluan kriptografi pada bank-bank.
modern untuk menggantikan kriptografi klasik. Namun perkembangan kecepatan perangkat
Kriptografi klasik menggunakan algoritma keras (hardware) komputer dan meluasnya
sederhana sehingga memungkinkan chipertext penggunaan jaringan komputer terdistribusi
dapat dipecahkan dengan mudah. Sehingga seperti internet mengakibatkan penggunaan DES,
diciptakan algoritma kriptografi modern yang dalam beberapa hal, terbukti sudah tidak aman
menggunakan algoritma yang lebih kompleks dan tidak mencukupi lagi. Terutama dalam hal
sehingga lebih sulit untuk dipecahkan oleh yang pengiriman data melalui jaringan internet.
kriptanalisis. Algoritma kriptografi modern yang Sudah banyak ahli kriptanalisis yang
dibahas ini termasuk dalam tipe dan mode menemukan kelemahan pada algoritma ini.
algoritma simetri. Algoritma kriptografi modern Perangkat keras khusus yang bertujuan untuk
kebanyakan beroperasi dalam mode bit daripada menentukan kunci 56-bit DES hanya dalam
beroperasi pada operasi karakter. Berikut ini waktu beberapa jam sudah dapat dibangun.
bagan suatu sistem penyandian berdasarkan Beberapa pertimbangan tersebut telah
kunci beserta contoh-contoh algoritma yang manandakan bahwa diperlukan sebuah standard
digunakan : algoritma baru dan kunci yang lebih panjang.
Oleh karena itu pada tahun 1990 Xue Jia Lai dan
James Massey menciptakan PES (Proposed
Encryption Standard) sebagai calon pengganti
DES. Namun pada tahun 1991, mereka berdua
menciptakan IPES (Improved Proposed
Encryption Standard) yang merupakan
perkembangan dari Biham dan Shamir pada
kriptanalisis diferesial. Pada tahun 1992,
akhirnya IDEA (International Data Encryption
Algorithm) diciptakan di ETH, Institut teknologi
federal Swiss oleh mereka berdua. Pada tahun
1999, algoritma IDEA yang lebih aman daripada
DES, mulai digunakan secara luas di Eropa pada
pengamanan sistem electronic mail (email) PGP
(Pretty Good Privacy). Algoritma IDEA ini
merupakan algoritma yang sudah dipatenkan dan
dipegang oleh Ascom di Swiss namun
penggunaan non-komersial dari algoritma IDEA
ini dapat masih dapat dilakukan secara gratis.
IDEA sudah dipatenkan di Austria, Perancis,
Jerman, Itali, Belanda, Spanyol, Swedia, Swss,
Inggris Raya, (Paten Eropa EP-B-0482154),
Amerika Serikat (Paten AS #5,214,703) dan
Jepang (JP 3225440).

2. Deskripsi Umum Algoritma IDEA

Algoritma utama dari sistem kriptografi IDEA


adalah sebagai berikut :
1. Proses enkripsi : e (M) = C
k
2. Proses dekripsi : d (C) = M
k
Dimana :
e = adalah fungsi enkripsi Gambar 2 : Struktur dan Skema IDEA
d = adalah fungsi dekripsi
M = adalah pesan terbuka Pesan dekripsi menggunakan blok penyandi
C = adalah pesan rahasia yang sama dengan blok proses enkripsi dimana
K = adalah kunci enkripsi atau dekripsi kunci dekripsinya diturunkan dari dari kunci
enkripsi. Algoritma ini menggunakan operasi
IDEA (International Data Encryption Algorithm) campuran dari tiga operasi aljabar yang berbeda,
16
merupakan algoritma simetris yang beroperasi yaitu XOR, operasi penjumlahan modulo 2 dan
pada sebuah blok pesan plaintext terbuka dengan 16
panjang blok 64-bit. Memilih panjang blok operasi perkalian modulo ( 2 + 1 ) . Semua
sebanyak 64 bit kaena dirasa sudah cukup operasi ini digunakan dalam pengoperasian sub-
panjang bila kita akan melakukan analisis blok 16-bit.
statistikal. Menggunakan kunci yang sama ,
berukuran 128-bit, untuk proses enkripsi maupun Algoritma ini melakukan iterasi yang terdiri dari
dekripsi. Kunci yang digunakan panjangnya 128 atas 8 putaran dan I transformasi keluaran pada
bit karena bila dilakukan serangan brute force putaran ke 9, dimana gambaran komputasi dan
pada IDEA menggunakan sebuah sistem yang transformasi keluaran ditunjukkan oleh gambar
dapat melakukan pengujian 109 kunci per sebagai berikut :
detiknya, akan diperlukan waktu 1013 tahun
untuk mencari kuncinya. Pesan rahasia yang
dihasilan oleh algoritma ini (chipertext) berupa
blok pesan rahasia dengan lebar satu blok 64-bit.
Sebuah sistem yang dapat melakukan pengujian
109 kunci akan mencari semua kemungkinan dari
256 kunci DES dalam waktu di bawah satu detik
(72 millidetik).
Dalam melakukan enkripsi memakai delapan
putaran. Setiap putarannya digunakan enam
kunci. Struktur dan skema dari IDEA adalah :

Gambar 3 : Algoritma IDEA


16
Prinsip perancangan dari algoritma kriptografi
integer 2 , yang disimbolkan dengan tanda
IDEA di sini adalah :
ƒ Diffusion
Konsep ini dilakukan dengan mengusahakan
setiap bit dari setiap plaintext Setiap operasi dibuat pada blok 16 bit dan trick
mempengaruhi setiap bit ciphertext dan yang digunakan di sini adalah blok-blok tersebut
setiap bit kunci untuk mempengaruhi setiap yang nilainya adalah 0 (16 bit) akan digantikan
bit ciphertext. oleh konstanta 216 ... dari 17 bits!.
ƒ Confusion Membuktikan hal ini dengan jumlah digit yang
Konsep ini dilakukan dengan mencampur sangat banyak tidak dapat dilakukan secara jelas.
tiga prinsip operasi grup aljabar yang Walaupun begitu, kita dapat melihat contoh nya
berbeda-beda : dengan menskalakannya dengan angka-angka
1. XOR (penambahan modulo 2). yang kecil. Pada tabel 1 adalah contoh pada
2. Penambahan modulo 216 kelompok kecil n di mana 2n + 1 harus prima, n
3. Perkalian dengan modulo 216 + 1 = 2 di mana 22=4 y 22 + 1 = 5.

Menggunakan sebuah arsitektur serial-bit untuk Penjelasan :


melakukan perkalian modulo 216 + 1, Ingat bahwa 0 sama dengan 2n = 4 sehingga :
implementasinya minimal membutuhkan ƒ 0⊗0 = 22 x 22
perangkat keras yang sederhana. Arsitektur = 16 mod 5
serial-bit memungkinkan algoritma menjadi =1
lebih dalam untuk mendapatkan sebuah sistem ƒ 0⊗1 = 22 x 1 = 4
dengan waktu clock sebesar 125MHz. Sebuah = 4 mod 5
implementasi pada Xilinx Virtex XCV300-4 =4=0
dapat dilakukan tes secara sukses., ƒ 0⊗2 = 22 x 2 = 8
mendistribusikan sebuah keluaran sebesar = 8 mod 5
500Mb/sec. Dengan alat XCV1000-6, perkiraan =3
performansi adalah 2.35Gb/detik, tiga lebih cepat ƒ 0⊗3 = 22 x 3 = 12
dari urutan magnitude daripada sebuah = 12 mod 5
implementasi perangkat lunak pada 450MHz =2
Intel Pentium II. Desain ini cocok bagi aplikasi Operasi-operasi yang dilakukan antara lain :
dengan enkripsi secara langsung (on-line ) pada + mod 2n (mod 4)
jaringan dengan kecepatan tinggi. ⊗ mod 2n+1 (mod 5)
XOR (mod 2)
3. Proses Enkripsi IDEA Kalkulasi lain dengan nilai x dan y yang berbeda
akan sama.
Pada proses enkripsi, algoritma IDEA ini
ditunjukkan oleh gambar 3 di atas, terdapat tiga Penambahan invers :
operasi yang berbeda untuk pasangan sub-blok Modulo 216 = Modulo 65536
16-bit yang digunakan, sebagai berikut : • A adalah penambahan invers dari B iff
ƒ XOR dua sub-blok 16-bit, bit per bit, yang (A + B) mod 65536 = 0
• Contoh penambahan pada 4 adalah:
disimbolkan dengan tanda .
16 −4 mod 65536 ´ (−4 + 65536) = 65532
ƒ Penjumlahan integer modulo 2 (mod
65.536) dua sub-blok 16-bit , dimana kedua Perkalian invers :
sub-blok itu dianggap sebagai representasi Modulo 216 + 1 = Modulo 65537
biner dari integer biasa, yang disimbolkan • A adalah perkalian invers dari B iff
(A × B) mod 65537 = 1
dengan tanda . • Gunakan algoritma Extended Euclidean untuk
16
mencari perkalian invers.
ƒ Perkalian modulo (2 + 1) yang nilainya
65.537 (bilangan ini prima dan invers dari Algoritma Extended Euclidean
perkalian bisa dijamin), dua sub-blok 16-bit,
dimana kedua sub-blok 16-bit itu dianggap Extended Euclidean (m, n) di mana m > n
sebagai representasi biner dari integer biasa a[0] = m a[1] = n
kecuali sub-blok nol dianggap mewakili x[0] = 1 x[1] = 0
y[0] = 0 y[1] = 1

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

Gambar 6 : Putaran dari IDEA


Di bawah ini adalah tabel kunci dekripsi pada
Keluaran setiap putaran adalah 4 sub-blok yang IDEA :
dihasilkan pada langkah 11), 12), 13), dan 14)
dan menjadi masukan putaran berikutnya.
d1 = k49-1 d2 = -k50 d3 = -k51 d4 = k52-1 d5 = k47 d6 = k48
Setelah putaran kedelapan terdapat transformasi d7 = k43-1 d8 = -k45 d9 = -k44 d10 = k46-1 d11 = k41 d12 = k42
keluaran, yaitu : d13 = k37-1 d14 = -k39 d15 = -k38 d16 = k40-1 d17 = k35 d18 = k36
d19 = k31-1 d20 = -k33 d21 = -k32 d22 = k34-1 d23 = k29 d24 = k30
1) Perkalian X dengan sub-kunci pertama d25 = k25-1 d26 = -k27 d27 = -k26 d28 = k28-1 d29 = k23 d30 = k24
1
d31 = k19-1 d32 = -k21 d33 = -k20 d34 = k22-1 d35 = k17 d36 = k18
2) Penjumlahan X dengan sub-kuci ketiga d37 = k13-1 d38 = -k15 d39 = -k14 d40 = k16-1 d41 = k11 d42 = k12
2 d43 = k7-1 d44 = -k9 d45 = -k8 d46 = k10-1 d47 = k5 d48 = k6
3) Penjumlahan X dengan sub-kunci kedua d49 = k1-1 d50 = -k2 d51 = -k3 d52 = k4-1
3
4) Perkalian X dengan sub-kunci keempat
4
Terahir, keempat sub-blok 16-bit 16-bit yang Inverses of addition Inverses of XOR
merupakan hasil operasi 1), 2), 3), dan 4) ii
digabung kembali menjadi blok pesan rahasia Inverses of the product
64-bit. Di bawah ini adalah gambar dari
transformasi luaran. Tabel 2 Kunci Dekripsi dari IDEA

Gambar Operasi Dekripsi dari IDEA adalah :

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

Proses dekripsi menggunakan algoritma yang


sama dengan proses enkripsi tetapi 52 buah sub-
blok kunci yang digunakan masing-masing
merupakan hasil turunan 52 buah sub-blok kunci Gambar 8 : Operasi Dekripsi pada IDEA
enkripsi. Sebagai operasi yang dibentuk dari
sebuah field terbatas, pada kasus ini akan diambil Gambar penggunaan kunci pada IDEA :
invers dari operasi XOR, penambahan oleh mod
216 dan perkalian mod 216+1, tergantung pada
operasi yang dibuat pada fase chiper. Setiap upa
kunci (sub-key) adalah salah satu dari
penambahan atau perkalian yang
Enam kunci
terakhir dekripsi

d1 = k49-1 d2 = -k50 d3 = -k51 d4 = k52-1 d5 = k47 d6 = k48


d7 = k43-1 d8 = -k45 d9 = -k44 d10 = k46-1 d11 = k41 d12 = k42
d13 = k37-1 d14 = -k39 d15 = -k38 d16 = k40-1 d17 = k35 d18 = k36
d19 = k31-1 d20 = -k33 d21 = -k32 d22 = k34-1 d23 = k29 d24 = k30
d25 = k25-1 d26 = -k27 d27 = -k26 d28 = k28-1 d29 = k23 d30 = k24
d31 = k19-1 d32 = -k21 d33 = -k20 d34 = k22-1 d35 = k17 d36 = k18
d37 = k13-1 d38 = -k15 d39 = -k14 d40 = k16-1 d41 = k11 d42 = k12
d43 = k7-1 d44 = -k9 d45 = -k8 d46 = k10-1 d47 = k5 d48 = k6
d49 = k1-1 d50 = -k2 d51 = -k3 d52 = k4-1

Gambar 9 Penggunaan kunci pada IDEA

Tabel sub-blok kunci dekripsi yang diturunkan


dari sub-blok kunci enkripsi dapat dilihat pada
tabel berikut :

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

Sehingga dapat dibandingkan kunci yang


digunakan untuk dekripsi dengan kunci yang
digunakan untuk enkripsi dalam tabel berikut :

Tabel 3 Tabel sub-blok kunci Dekripsi yang


diturunkan dari sub-blok kunci enkripsi

Tabel 5 Perbandingan Kunci


5. Pembentukan Upa Kunci (Sub-Key) Z Z Z Z
19 29 39 49

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

Main key k = 128 bits


001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032
033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064
065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096
097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128

First 16 bits of key …. Last 16 bits of key


1ª 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 …. 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
2ª 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 …. 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025
3ª 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 …. 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050
4ª 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 …. 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075
5ª 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 …. 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100
6ª 126 127 128 001 002 003 004 005 006 007 008 009 010 011 012 103 …. 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
7ª 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 …. 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022

Gambar 11 : Pergeseran Kunci pada IDEA

Sedangkan penggunaan kunci setiap putarannya


akan ditunjukkan oleh gambar di bawah ini :
Distribusi dari bit-bit dari tiap upa-
kunci pada setiap putarannya Jika kunci yang digunakan adalah “IDEA es la
mengikuti seperti logika clave”, cari 16 bit dari kunci kedua pada putaran
keempat.
First round: k1k2k3k4k5k6 B[1…96] Solusi:
Second round: k7k8k9k10k11k12 B[97…128; 26…89]
Third round: k13k14k15k16k17k18 B[90…128; 1…25; 51…8
Fourth round: k19k20k21k22k23k24 B[83…128; 1…50] 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
Fifth round: k25k26k27k28k29k30 B[76…128; 1…43] 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Sixth round: k31k32k33k34k35k36 B[44…75; 101…128; 1… 0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0
Seventh round: k37k38k39k40k41k42 B[37…100; 126…128; 1… 0 1 0 1 0 1 0 0 0 0
Eighth round: k43k44k45k46k47k48 B[30…125]
Transformation: k49k50k51k52 B[23…86]
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
47 48 49 50 51 52 53 54 55 56 57 58 59 60
Gambar 12 Penggunaan kunci setiap
0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1
putarannya
1 1 0 0 1 1 0 0 1 0
Kunci pertama untuk setiap putaran k1, k7, k13,
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
k19, k25, k31, k37 dan k43 menggunakan
77 78 79 80 81 82 83 84 85 86 87 88 89 90
sebuah himpunan bit-bit yang berbeda-beda.
0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1
Kecuali pada putaran pertama dan ke delapan, bit
0 0 1 0 0 0 0 0 0 1
ke-96 dari upa-kunci (subkey) digunakan pada
setiap putarannya, tidak berdampingan.
91 92 93 94 95 96 97 98 99 100 101 102 103 104
Dikarenakan adanya pergeseran 25 bit pada
105 106 107 108 109 110 111 112 113 114
bagian kiri di setiap fasenya, serangan yang
1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0
dilakukan pada kunci akan sangat sulit. Gambar
0 0 0 1 0 1
dari kunci pertama pada setiap putarannya bisa
dilihat pada gambar 13 di bawah ini :
115 116 117 118 119 120 121 122 123 124 125
126 127 128
K1: 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016
K7: 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112 1 1 0 1 1 0 0 1 1 0 0 1 0 1
K13: 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105
K19: 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098
K25: 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 Seperti pada setiap putaran enam penggunaan
K31: 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059
k37: 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052
upa-kunci (subkeys), kunci kedua dari putaran
k43: 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 keempat akan berupa penjumlahan 3∗6+2 = 20.
Seperti pada kunci 19 yang berhenti pada bit ke
98, kunci 20 akan sama 16 bit, hal ini berasal
dari 99 ke 114: k20 = 10110001 10000101.
Gambar 13 : Kunci pertama yang digunakan
pada setiap putaran.

6. Arsitektur Umum Prosesor Kriptografi


IDEA

Pada gambar berikut diperlihatkan arsitektur atau


penggambaran umum sebuah processor yang
mengolah sistem keamanan data dengan
menggunakan algoritma IDEA :
Blok ini berfungsi untuk mengontrol operasi
antara blok fungsional yang menyusun sebuah
blok besar seperti sinkronisasi transfer data
antar blok.

7. Kekuatan dari Algoritma IDEA

• IDEA menunjukkan dirinya sendiri bahwa


algoritma yang kebal menghadapi berbagai
serangan dari para kriptanalisis dengan
asumsi tertentu. Pembuat dari algoritma ini
mengetahui kelemahan dari DES dan
mencoba memperbaikinya dan membuat
suatu algoritma yang lebih kebal/tangguh
terhadap berbagai jenis serangan.
• Pada tahun 1992, Joan Daemen menemukan
sebuah kelas yang merupakan titik lemah
dari kunci. Contoh kunci berikut ini, k =
0000,0000,0x00,0000,0000,000x,xxxx,x000
Gambar 14 : Arsitektur prosesor IDEA
dalam bentuk hexadecimal akan menjadi
lemah/rentan terhadap serangan, artinya
Keterangan :
adalah seorang kriptanalisis dapat
1. Blok penyandi IDEA
mengidentifikasi kunci ini dengan satu
Blok ini berfungsi untuk melakukan proses
serangan pada plaintext yang sudah terpilih.
penyandian data. Jika sub-kunci yang diproses
Posisi x dapat memiliki nilai apapun dalam
oleh blok ini berupa sub-kunci enkripsi maka
hexadecimal.
pesan yang dihasilkan adalah pesan rahasia
• Kemungkinan dari tipe kunci yang seperti
(chipertext) dan jika yang diproses berupa sub-
ini dapat digunakan adalah hanya 1 sampai
kunci dekripsi maka pesan yang dihasilkan
296, dan itu semua mungkin terjadi. Namun
adalah pesan sebenarnya (plaintext).
hal ini juga bisa dihindari dengan melakukan
2. Blok pembangkit sub-kunci
proses desain yang baik.
Blok ini berfungsi untuk membentuk 52 buah
sub-kunci enkripsi 16 bit dari kunci enkripsi • Sampai tahun 2004, serangan terbaik yang
128 bit. Sehingga membentuk 52 buah sub- dapat dilakukan pada semua kunci yang
kunci dekripsi 16 bit dari kunci dekripsi 128 dapat memecahkan IDEA dilakukan di
bit. bawah putaran ke-5 (algoritma IDEA yang
3. Blok port data-in penuh menggunakan 8.5 putaran).
Blok ini berfungsi untuk membaca 2 buah blok • Pada tahun 1996, Bruce Schneier sangat
data masukan 32 bit dan penyimpananya memandang tinggi IDEA, beliau menulis,
sebagai blok data masukan 64 bit yang akan "Menurut saya, IDEA merupakan algoritma
dienkripsi atau didekripsi. blok-chiper yang terbaik dan paling aman
yang tersedia pada masyarakat luas pada
4. Blok port data-out
saat ini." (Applied Cryptography, 2nd ed.)
Blok ini berfungsi untuk mengeluarkan blok
Akan tetapi, pada tahun 1999 dia tidak lagi
data keluaran 64 bit yang merupakan hasil
merekomendasikan algoritma IDEA
enkripsi atau dekripsi dengan cara membagi
dikarenakan ketersediaan dari algoritma lain
menjadi 2 buah blok data keluaran 32 bit.
yang lebih cepat, beberapa perkembangan
5. Blok port kunci-n
para kriptanalisis, dan munculnya hak paten
Blok ini berfungsi untuk membaca 4 buah blok
pada IDEA.
kunci 32 bit dan menyimpanya sebagai blok
• Sampai saat ini, serangan apapun pada
kunci 128 bit.
sistem yang menggunakan algoritma
6. Blok mode operasi
kriptografi IDEA baik secara aljabar
Blok ini berfungsi untuk menentukan mode
maupun linear masih belum diketahui oleh
operasi yang digunakan pada proses ekripsi
para kriptanalisis.
dan dekripsi.
7. Blok kontrol • Pada tahun 1997, Joan Daemen and Vincent
Rijmen akan menciptakan RIJNDAEL,
sebuah standar NIST yang baru pada akhir
tahun 2001.

8. Contoh Komputasi Penggunaan


Algoritma IDEA

Pada tabel berikut dapat dilihat data hasil


enkripsi tiap putaran yang diproses dengan
sebuah program yang mengimplementasikan
algoritma IDEA. Untuk sebuah pesan terbuka
dalam bentuk bilangan integer 11121314 yang
telah dibagi-bagi menjadi empat bagian yaitu X
1
= 11, X = 12, X = 13,dan X = 14 , dan kunci
2 3 4
telah dibagi-bagi menjadi Z = 2 Z = 4 Z = 6
11 , 21 , 31 ,
Z = 8 Z = 10 Z = 12 Z = 14 Z = 16 :
41 , 51 , 61 , 12 , 22

Tabel 7: Tabel Hasil Dekripsi

Hasil dekripsi akan sesuai dengan pesan asli


seperi terlihat pada tabel putaran kesembilan
yaitu bilangan integer Y Y Y Y = X X X X
1 2 3 4 1 2 3 4
= 11121314

Algoritma kriptografi IDEA ini juga bisa


digunakan dalam berbagai mode operasi, seperti
pada mode ECB, CBC, CFB, dan OFB.
Perbedaan mode operasi yang digunakan ini
dapat mempengaruhi hasi enkripsi data yang
dilakukan algoritma IDEA. Di bawah ini adalah
contoh perbedaan dari enkripsi sebuah gambar
menggunakan algoitma kriptografi IDEA pada
mode operasi yang berbeda (ECB, CBC, CFB,
dan OFB).

Tabel 6 : Tabel hasil enkripsi

Dari tabel diatas dapat dilihat data hasl enkripsi


tiap putaran untuk pesan rahasia, yaitu :
Y = 25112, Y = 33467, Y = 3103, Y = 35414
1 2 3 4
Yang dihasilkan oleh proses enkripsi, dengan
menggunakan kunci yang diturunkan dari kunci
enkripsi dan dengan menggunakan blok dekripsi
yang sama dengan proses enkripsi.Terlihat
bahwa pesan rahasia telah didekripsi menjadi Gambar 15 : gambar asli yang akan
pesan terbuka sebenarnya seperti tabel berikut: dienkripsi
dimaksud di pada makalah ini adalah sebuah
persamaan linear pada kunci, bit input dan output
yang mempengaruhi semua kemungkinan input.
Faktor linear ini bisa dicari dengan membuat
ekspresi penjumlahan (modulo 2) LSB pada
subblok output dari putaran IDEA pada saat
input dan bit kunci. Contoh, kita akan
mengekspresikan XOR dari LSB pada sub-blok
pertama dan kedua output dari sebuah putaran :
y1 ⊕ y2 (dengan indeks yang merefer pada
nomor subblok). Dari gambar 3 dapat dilihat y1
Gambar 16 : gambar yang sudah dienkripsi ⊕ y2 = (X1. Z1)|0 ⊕ 1 ⊕ x3 ⊕ z3. Jika
menggunakan mode ECB. Z1 = -1, contoh : jika 15 bit MSB bit dari Z1
adalah 0,
Seperti yang bisa kita lihat pada gambar di atas,
gambar yang dienkripsi dengan menggunakan
algoritma IDEA menggunakan mode ECB masih
dapat dilihat. Mode ini tidak dapat jika bit kunci yang dipertimbangkan adalah
menyembunyikan semua informasi yang terdapat konstan, faktor linear ini dapat diintepretasikan
pada gambar asli. Kita masih bisa melihat / sebagai propagasi pengetahuan dari x1 ⊕ x3
mengenali garis-garis dari gambar yang menjadi y1 ⊕ y2, merefer dari (1, 0, 1, 0) -> (1,
dienkripsi serta teks yang terdapat pada gambar 1, 0, 0). Faktor yang sama dan kondisi
tersebut. berkorespondensi pada blok upa-kunci
dapat dicari dari semua 15 kombinasi dari output
bit LSB dan terdapat pada tabel 8 di bawah ini :

Gambar 17 : gambar yang sudah dienkripsi


menggunakan mode CBC

Seperti yang bisa kita lihat pada gambar di atas,


gambar yang dienkripsi dengan algoritma IDEA Tabel 8 : Faktor linear pada fungsi putaran
menggunakan mode CBC sudah tidak dapat
dikenali lagi gambar aslinya. Begitu pula bila Faktor linear dengan putaran yang banyak dapat
kita menggunakan mode operasi CFB dan OFB ditemukan dengan mengobinasikan faktor linear
dalam melakukan enkripsi. Semua informasi di mana keterlibatan waktu pertengahan dibuang.
pada gambar disembunyikan dan tidak dapat Untuk setiap putaran diberikan kondisi pada upa-
dilihat. Sehingga kita bisa mengambil kunci yang dapat diubah menjadi kondisi pada
kesimpulan bahwa mode-mode inilah yang kunci bit global pada tabel 9.
terbaik dilakukan untuk mengenkripsi bila kita
ingin melindungi suatu informasi pada file secara
menyeluruh/sempurna.

9. Kunci Lemah dari algoritma IDEA

Penggunaan perkalian upa-kunci dengan nilai 1


atau -1 menyebabkan terjadinya faktor linear
pada fungsi putaran. Faktor linear yang
MSB dari kedua Z4 and Z6 adalah 0, masukan
XOR (0, 0, 0, v) memberikan output
XOR (v, v, v, 0) dengan kumungkinan 1, direfer
dari (0, 0, 0, v) ) (v, v, v, 0). Sebuah analisis
yang sama dapat dibuat dari 15 kemungkinan
input XOR tidak 0 yang lain di mana hanya bit
MSB dari subblok diperbolehkan untuk menjadi
1. Hasilnya dapat dilihat pada tabel 11.

Tabel 9 : Turunan dari kunci putaran


enkripsi pada kunci 128.

Contoh ada pada tabel 10 untuk faktor linear


global (1, 0, 1, 0) ->(0, 1, 1, 0). Kunci global
yang diindeks pada tabel ini adalah 0. Sejak bit
kunci dengan indeks 26-28, 72-74 atau 111-127
tidak muncul, ada 223 kunci global yang
memiliki faktor linear. Ini disebut dengan kelas
kunci lemah sejak keanggotaannya bisa dicek
dengan mudah dengan mengobservasi kombinasi
plaintext dan chipertext yang berkorespondensi.

Tabel 11 : Propagasi XOR pada fungsi


putaran.

Sebuah contoh dari plaintext XOR (0, v, 0, v)


terdapat pada tabel 12 di bawah. Dapat dilihat
kunci dengan bit yang hanya bukan 0 pada posisi
26-40, 72-76 dan 108-122, output XOR harus
sama dengan (0, v, v, 0). Ini adalah kelas terbesar
yang kita temukan, bandingkan dengan jumlah
kunci 235. Anggotanya dapat dicek dengan
Tabel 10 : Kondisi kunci bit pada faktor melakukan 2 enkripsi di mana plaintext pilihan
linear (1,0,1,0) -> (0,1,1,0) yang berbeda dan memeriksa perbedaan pada
ciphertext. Tabel yang sama bisa dibuat dari
Penggunaan perkalian upa-kunci dengan nilai 1 input XOR apapun sesuai v dan 0.
atau -1 memberikan peningkatan dengan
karakteristik dengan probabilitas 1 pada fungsi
putaran. Sebuah putaran dieksekusi pada sebuah
pasangan dari input X and X* dengan XOR X’ =
X ⊕ X*. Bila v adalah 16-bit blok 8000 (HEX),
contoh : MSB adalah sebagai 1 dan yang lainnya
bitnya adalah 0. anggap X and X* diturunkan
pada bit MSB bit di subblok ke-4, sehingga
X’1 = X’2 = X’3 = 0 dan X’4 = v. Jika Z4 = -1, ini
merupakan kasus yang sama setelah aplikasi
pada Z1 pada Z4. Masukan kiri pada struktur MA
sama dengan X dan X*. Input kanan diturunkan
Tabel 12 :Propagasi pada plaintext XOR
dari v. XOR tidak mengubah dari penambahan
(0,v,0,v) pada IDEA
ujung kanan atas sampai dasar kanan dengan
perkalian dengan Z6. Jika ini sama dengan -1,
Kelas dari kunci lemah kadang-kadang dapat
XOR output dengan v. Perbedaan ini tidak
dikembangkan secara signifikan dengan dibayar
berubah sepanjang penambahan ujung bawah kiri usaha lebih pada pengecekan keanggotaan.
dan XOR pada 4 subblok. Perbedaan output Y ‘
Sesuai tabel 12, kondisi dari upa-kunci pada
pada putaran ini sama dengan (v, v, v, 0). Jika 15
putaran 8 meningkat pada kelas of kunci 251
dengan bit-bit yang bukan 0 pada posisi 26-40, diketahui dari Z(8)4 . Sebuah pengecekan
72-83 dan 99-122. konsistensi dapat dieksekusi pada bit-bit ini
dengan cara berikut.. Anggap Z(9)2 dan Z(9)4
9.1 Tes Keanggotaan diketahui. Pada kasus ini memungkinkan untuk
menghitung perbedaan yang direfer oleh K pada
Masukan XOR pada putaran 8 sama dengan gambar 18. Untuk nilai K ini, pasti ada sebuah
output XOR pada putaran 7 dan dijamin akan vektor A (dengan MSB 0) seperti :
sama dengan (0, 0, v, v) dengan kondisi dari
upakunci 7 putaran pertama. Menggunakan fakta
bahwa Z(9)3 , sesuai dengan kunci bit global 54- Dari vektor K yang diberikan, merupakan hal
69 adalah 0000 untuk kunci ini dapat dengan yang mudah untuk mencari nilai yang
mudah diturunkan di mana : memungkinkan dari Z(8)4 . Hanya nilai dari Z(8)4
dengan 9 LSB sama dengan 0 valid. Informasi
ini dapat dihitung lebih jauh untuk setiap nilai
Hal ini dapat dibuktikan dengan memeriksa dari K dan menyimpan dalam array 216. Rata-
gambar 18. Pada persamaan di atas, hanya Z(9)1 rata dari kemungkinan nilai Z(8)4 per K berubah
yang tidak diketahui. Upa-kunci ini sesuai menjadi lebih kecil dari 1. Sepanjang tabel ini,
dengan kunci bit global 22-37. Untuk kelas yang nilai K yang diperiksa menspesifisikan
diberikan, hanya 12 LSB yang bisa dibedakan himpunan nilai yang memungkinkan dari Z(8)4.
dari 0. Jika kunci global tidak dimiliki oleh kelas Jika himpunan tersebut kosong, nilai yang dipilih
kunci lemah, kemungkinan dari persamaan di dari Z(9)2 dan Z(9)4 pasti salah. Jika himpunan
atas memiliki solusi adalah 1=16. Penambahan tersebut tidak kosong, nilai K value dihasilkan
enkripsi dapat dilakukan dengan mengeliminasi dari pasangan lain dari enkripsi (dengan input
solusi-solusi ini. Setiap pasang dari hasil enkripsi XOR pada putaran 8 sama dengan (0, 0, v,v)
adalah persamaan dari Z(9)1 yang sama dengan dapat diperiksa. Nilai yang benar dari Z(8)4pasti
persamaan di atas. pada list untuk kedua nilai K yang diperiksa. Hal
ini dapat diulangi sampai tidak ada lagi nilai
untuk Z(8)4 yang masih tersisa. Nilai Z(9)2 dan
Z(9)4 ditemukan. Jika tidak ada nilai bagi Z(8)4
yang konsisten untuk semua (dikatakan sebagai
maksimun dari 8) pasangan enkripsi. Sekarang
34 bit sudah diperbaiki. Sisa 17 bit dapat dengna
mudah ditemukan dengan cara exhausted pada
semua 217 kemungkinan yang masih tersisa dan
membandingkannya dengan pasangan plaintext-
ciphertext apapun yang didapat pada saat
penyerangan. Pengerjaan yang lengkap pada
penentuan kunci pada 16 plaintext-enkripsi
berbeda yang terpilih, ada sekitar 215
penambahan modular, perkalian dan table-
lookups dan 217 kunci enkripsi pencarian.

9.3 Modifikasi IDEA tanpa kunci lemah


Gambar 18 : Propagasi XOR dari X’= (0, v, 0,
v) pada putaran terakhir dari IDEA untuk Pada spesifikasi IDEA sekarang, kondisi untuk
kunci yang tidak memiliki bit 0 pada posisi putaran perkalian kunci putaran yang lemah
26-40, 72-83 dan 99-122. XOR digambarkan diubah menjadi kondisi di mana kunci bit global
dengan kotak. harus 0. Pada tabel 10 dan 12 dapat dilihat
banyak kunci bit global yang muncul lebih dari
9.2 Penentuan Kunci sekali pada berbagai kondisi. Sekarang biarkan
Z(r)i = α ⊕ Z(r)I dengan α adalah vektor biner
Nilai dari 12 bit yang tidak diketahui dari Z(9)1 yang pasti tidak 0. Jika dalam IDEA upakunci
sudah ditentukan dari tes keanggotaan. Langkah- Z(r)i sudah diganti dengan ^Z(r)i, kondisi dari
langkah berikut adalah penentuan dari 3 bit yang perkalian kunci lemah diubah menjadi kondisi di
tidak diketahui Z(9)2 , ke-12 bit yang tidak mana beberapa kunci bit global harus 0 dan
diketahui pada Z(9)4 dan 7 bit yang tidak beberapa harus 1. Vektor α harus dipilih seperti
itu supaya semua multi-putaran potensial faktor mode operasi untuk algoritma kriptografi IDEA
linear dan karakteristiknya, kondisi dari upa- dan DES dengan benar. Proses enkripsi dengan
kunci memberikan kondisi konflik kunci bit menggunakan kunci tertentu dengan panjang
global. Karena overlap besar di antara upa-kunci, tertentu akan menyandikan isi arsip asal menjadi
nilai yang sebenarnya dari α tidak terlalu chipertext. Proses dekripsi dengan menggunakan
kritikal. Contohnya, untuk α = 0DAE (HEX) kunci yang sama dengan kunci yang digunakan
tidak ada kunci lemah yang ditemukan. dalam proses enkripsi (kunci simetris) akan
mengembalikan isi arsip hasil dekripsi menjadi
isi arsip asal (plaintext). Dalam program tes yang
10. Kasus Pengujian saya gunakan, DEC Part I, proses enkripsi dan
dekripsi dilakukan secara sekaligus. Sehingga
Berikut ini adalah contoh-contoh kasus, yang kesalahan penggunaan kunci dalam melakukan
akan diujikan pada algoritma IDEA dan DES dekripsi file enkripsi tidak akan terjadi karena
untuk dibandingkan performansinya. Dalam proses enkripsi dan dekripsi dilakukan secara
kasus pengujian kali ini, mode operasi yang sekaligus. Dari kasus uji 1, 2, 3, dan 4 yang
digunakan adalah ECB, CBC, CFB, dan OFB dilakukan juga menunjukkan bahwa:
baik untuk algoritma IDEA maupun untuk 1. Lama waktu yang digunakan untuk proses
algoritma DES . Sedangkan algoritma DES yang enkripsi dan dekripsi file dengan algoritma
dijadikan bahan pengujian kali ini adalah kriptografi IDEA dan DES dengan mode
algoritma DES biasa/single 8 byte. operasi ECB dan CBC adalah relatif
1. Kasus Uji 1 sama/tidak jauh berbeda.
Kasus Uji 1 bertujuan untuk menguji 2. Lama waktu yang digunakan untuk proses
kebenaran proses enkripsi dan dekripsi enkripsi dan dekripsi file dengan algoritma
beserta lama waktu proses enkripsi dan kriptografi IDEA dan DES dengan mode
dekripsi dengan menggunakan algoritma operasi CFB 8-bit dan OFB 8-bit adalah
kriptografi IDEA dan DES dengan mode relatif berbeda. Algoritma DES bisa
operasi ECB. mengenkripsi dan mendekripsi file dalam
2. Kasus Uji 2 waktu yang relatif lebih cepat daripada
Kasus Uji 2 bertujuan untuk menguji IDEA.
kebenaran proses enkripsi dan dekripsi
beserta lama waktu proses enkripsi dan Berikut ini adalah daftar pengujian enkripsi dan
dekripsi dengan menggunakan algoritma dekripsi berbagai jenis file dengan algoritma
kriptografi IDEA dan DES dengan mode kriptografi IDEA dan DES dalam mode ECB,
operasi CBC. CBC, CFB, dan OFB untuk dibandingkan
3. Kasus Uji 3 kecepatannya :
Kasus Uji 3 bertujuan untuk menguji
kebenaran proses enkripsi dan dekripsi Jenis Ukuran Mode Waktu
beserta lama waktu proses enkripsi dan .txt 6.78 Mb ECB 0.89 detik
dekripsi dengan menggunakan algoritma .txt 6.78 Mb CBC 0.94 detik
kriptografi IDEA dan DES dengan mode .txt 6.78 Mb CFB 5.85 detik
operasi CFB. .txt 6.78 Mb OFB 5.55 detik
4. Kasus Uji 4 .mp3 5.82 Mb ECB 0.78 detik
Kasus Uji 4 bertujuan untuk menguji .mp3 5.82 Mb CBC 1.12 detik
kebenaran proses enkripsi dan dekripsi .mp3 5.82 Mb CFB 4.56 detik
beserta lama waktu proses enkripsi dan .mp3 5.82 Mb OFB 4.94 detik
dekripsi dengan menggunakan algoritma .exe 2.55 Mb ECB 0.47 detik
kriptografi IDEA dan DES dengan mode .exe 2.55 Mb CBC 0.44 detik
operasi OFB. .exe 2.55 Mb CFB 2.17 detik
.exe 2.55 Mb OFB 2.15 detik
11. Evaluasi Hasil Pengujian dengan DEC
.pdf 9.81 Mb ECB 1.21 detik
Part I
.pdf 9.81 Mb CBC 1.28 detik
.pdf 9.81 Mb CFB 7.95 detik
Dari hasil pengujian yang dilakukan untuk Kasus
Uji 1, 2, 3, dan 4 diketahui bahwa perangkat .pdf 9.81 Mb OFB 8.26 detik
lunak DEC Part I telah melakukan proses .avi 12.7 Mb ECB 1.98 detik
enkripsi dan dekripsi berbagai jenis file dan .avi 12.7 Mb CBC 1.62 detik
.avi 12.7 Mb CFB 10.57 detik ƒ Algoritma kriptografi IDEA lebih aman
.avi 12.7 Mb OFB 10.35 daripada algoritma kriptografi DES. Hal ini
Tabel 13 : Tabel enkripsi dan dekripsi dikarenakan panjang kunci yang berbeda
berbagai file dengan menggunakan algoritma antara kedua algoritma ini serta algoritma
IDEA pengenkripsian yang berbeda.

Jenis Ukuran Mode Waktu 13. Penutup


.txt 6.78 Mb ECB 0.71 detik
.txt 6.78 Mb CBC 0.69 detik Dari uraian makalah ini, secara umum untuk
.txt 6.78 Mb CFB 3.71 detik menjaga keamanan dan kerahasiaan data dalam
.txt 6.78 Mb OFB 4.29 detik suatu jaringan komputer, diperlukan beberapa
.mp3 5.82 Mb ECB 0.61 detik jenis enkripsi. Guna melindungi data agar tidak
.mp3 5.82 Mb CBC 0.60 detik dapat dibaca atau diintepretasi oleh sembarang
orang, kecuali untuk penerima yang berhak.
.mp3 5.82 Mb CFB 3.28 detik
Enkripsi merupakan salah satu metode untuk
.mp3 5.82 Mb OFB 3.21 detik
menjamin dan melidungi agar komunikasi data
.exe 2.55 Mb ECB 0.34 detik atau informasi menggunakan jaringan komputer
.exe 2.55 Mb CBC 0.33 detik menjadi lebih aman. Dalam melakukan langkah-
.exe 2.55 Mb CFB 1.49 detik langkah enkripsi banyak cara atau algoritma
.exe 2.55 Mb OFB 1.54 detik yang tersedia, algoritma IDEA yang dibahas
.pdf 9.81 Mb ECB 0.95 detik pada makalah ini hanyalah salah satu dari sekian
.pdf 9.81 Mb CBC 0.93 detik benyak algoritma kriptografi yang berkembang
.pdf 9.81 Mb CFB 5.30 detik saat ini. Dan algoritma IDEA ini sampai
.pdf 9.81 Mb OFB 5.60 detik sekarang masih cukup handal dan tangguh untuk
.avi 12.7 Mb ECB 1.80 detik diterapkan sebagai metoda pengamanan data.
.avi 12.7 Mb CBC 1.16 detik Namun sampai sekarang ini masih berkembang
.avi 12.7 Mb CFB 7.15 detik berbagai algoritma untuk meningkatkan
.avi 12.7 Mb OFB 6.91 detik keamanan tersebut.
Tabel 14 : Tabel enkripsi dan dekripsi
berbagai file dengan menggunakan algoritma 14. Daftar Pustaka
DES
[1] Munir, Rinaldi. (2006). Bahan Kuliah
12. Kesimpulan IF5054 Kriptografi. Departemen Teknik
Informatika, Institut Teknologi Bandung
Dari uraian di atas, dapat diambil kesimpulan
kelebihan algoritma IDEA dari algoritma lain [2] P Pfleegeer, Charles. (1996). Security in
dalam hal ini DES adalah: Computing, Prentice Hall PTR,1996
ƒ Menyediakan keamanan tingkat tinggi
karena algoritma ini tidak berdasarkan [3] Schneier, Bruce. (1996). Applied
penjagaan kerahasiaan dari algoritma Cryptography 2nd. John Wiley & Sons.
tersebut, tetapi lebih kepada penjagaan
terhadap kerahasiaan kunci yang digunakan [4] Joan Daemen, Rene Govaerts, dan Joos
oleh pemakai. Vandewalle. (1993). Weaks Keys for
ƒ Sudah mudah untuk digunakan oleh orang- IDEA.http://www.cosic.esat.kuleuven.ac.be
orang dan mudah untuk dimengerti. /publications/article-140.pdf.
ƒ Tersedia bagi semua orang.
ƒ Cocok untuk digunakan secara luas pada [5] MediaCrypt. Benefits of IDEA.
berbagai aplikasi. http://www.mediacrypt.com.
ƒ Dapat secara ekonomis diimplementasikan
pada komponen elektronik (chip VLSI). [6] Marnane, Liar, dr. lec-idea1.pdf. http://
ƒ Dapat digunakan secara efisien. www.rennes.ucc.ie.
ƒ Dapat dikirim/disebarluaskan ke seluruh
dunia. [7] Dr. Aguirre, Jorge Ramió. (2005).
ƒ Sudah dilindungi hak paten untuk mencegah Symmetric Block Chipper. Polytechnic
pembajakan dan kejahatan. University of Madrid