56730691 STUDI DAN PERBANDINGAN ALGORITMA IDEA INTERNATIONAL DATA ENCRYPTION ALGORITHM DENGAN DES DATA ENCRYPTION STANDARD

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

Masalah keamanan dan kerahasiaan data
merupakan hal yang sangat penting dalam suatu

organisasi maupun pribadi. Apalagi jika data
tersebut berada dalam suatu jaringan komputer
yang terhubung / terkoneksi dengan jaringan lain
yang publik misalnya internet. Tentu saja data
yang sangat penting tersebut jangan sampai jatuh
ke tangan yang tidak berwenang sehingga bisa
dilihat atau dibajak oleh orang yang tidak
berwenang tersebut. Sebab kalau hal ini sampai
terjadi kemungkinan informasi yang terkandung
di dalamnya bisa diketahui oleh lain yang tidak

berhak sehingga mungkin saja membahayakan
bagi orang yang mengirim pesan atau dikirimi
pesan bahkan banyak orang. Informasi yang
terkandung di dalamnya pun bisa saja berubah
sehingga menyebabkan salah penafsiran oleh
penerima pesan sehingga bisa membahayakan
kedua pihak atau bahkan banyak orang. Selain
itu data yang dibajak tersebut akan memiliki
kemungkinan rusak bahkan bisa hilang yang

akan menimbulkan kerugian material yang besar.
Jadi bisa dikatakan tujuan-tujuan dari kriptografi
antara lain :
ƒ Convidentiality

ƒ

ƒ

ƒ

Yaitu menjaga kerahasiaan pesan dan
menyimpan data dengan menyembunyikan
informasi lewat teknik-teknik enripsi.
Massage Integrity
Yaitu memberikan jaminan bahwa untuk
tiap bagian pesan tidak akan mengalami
perubahan dari saat data dibuat/dikirim oleh
pengirim sampai dengan saat data tersebut
dibuka oleh penerima data.

Non-repudiation
Yaitu memberikan cara untuk membuktikan
bahwa suatu dokumen datang dari seseorang
tertentu sehingga apabila ada seseorang
yang mencoba mengakui memiliki dokumen
tersebut, dapat dibuktikan kebenarannya dari
pengakuan orang tersebut.
Authentication
Yaitu emberikan dua layanan. Pertama
mengidentifikasikan keaslian suatu pesan
dan memberikan jaminan keotentikannya.
Kedua untuk menguji identitas seseorang
apabila ia akan memasuki sebuah sistem.

Oleh karena itu diciptakanlah suatu algoritma
modern untuk menggantikan kriptografi klasik.
Kriptografi klasik menggunakan algoritma
sederhana sehingga memungkinkan chipertext
dapat dipecahkan dengan mudah. Sehingga
diciptakan algoritma kriptografi modern yang

menggunakan algoritma yang lebih kompleks
sehingga lebih sulit untuk dipecahkan oleh
kriptanalisis. Algoritma kriptografi modern yang
dibahas ini termasuk dalam tipe dan mode
algoritma simetri. Algoritma kriptografi modern
kebanyakan beroperasi dalam mode bit daripada
beroperasi pada operasi karakter. Berikut ini
bagan suatu sistem penyandian berdasarkan
kunci beserta contoh-contoh algoritma yang
digunakan :

Gambar 1: Blok diagram Pembagian sistem
Kriptografi berdasarkan kunci
Algoritma chiper block penyandian/kriptografi
data yang populer dan telah dijadikan standard
enkripsi kunci simetri sejak tahun 1976 adalah
Data Encryption Standard (DES). Algoritma
chiper block adalah algoritma kriptografi yang
beroperasi pada plaintext / chipertext dalam
bentuk blok bit, yang dalam hal ini rangkaian biit

dibagi menjadi blok-blok bit yang panjangnya
sudah ditentukan sebelumnya. Misalnya panjang
blok adalah 64 bit, maka itu berarti algoritma
enkripsi memperlakukan 8 karakter setiap kali
penyandian.
Algoritma DES ini dikembangkan oleh IBM di
bawah kepemimpinan W.L Tuchman pada tahun
1972. Algoritma ini didasarkan pada algoritma
Lucifer yang dibuat Horst Feistel. Kekuatan DES
ini terletak pada panjang kuncinya yaitu 56-bit
yang beroperasi pada ukuran blok 64 bit. Oleh
karena itu DES masih kadang-kadang digunakan
untuk keperluan kriptografi pada bank-bank.
Namun perkembangan kecepatan perangkat
keras (hardware) komputer dan meluasnya
penggunaan jaringan komputer terdistribusi
seperti internet mengakibatkan penggunaan DES,
dalam beberapa hal, terbukti sudah tidak aman
dan tidak mencukupi lagi. Terutama dalam hal
yang pengiriman data melalui jaringan internet.

Sudah
banyak
ahli
kriptanalisis
yang
menemukan kelemahan pada algoritma ini.
Perangkat keras khusus yang bertujuan untuk
menentukan kunci 56-bit DES hanya dalam
waktu beberapa jam sudah dapat dibangun.
Beberapa
pertimbangan
tersebut
telah
manandakan bahwa diperlukan sebuah standard
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

d = adalah fungsi dekripsi
M = adalah pesan terbuka
C = adalah pesan rahasia
K = adalah kunci enkripsi atau dekripsi
IDEA (International Data Encryption Algorithm)
merupakan algoritma simetris yang beroperasi
pada sebuah blok pesan plaintext terbuka dengan
panjang blok 64-bit. Memilih panjang blok
sebanyak 64 bit kaena dirasa sudah cukup
panjang bila kita akan melakukan analisis
statistikal. Menggunakan kunci yang sama ,
berukuran 128-bit, untuk proses enkripsi maupun
dekripsi. Kunci yang digunakan panjangnya 128
bit karena bila dilakukan serangan brute force
pada IDEA menggunakan sebuah sistem yang
dapat melakukan pengujian 109 kunci per
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 2 : Struktur dan Skema IDEA
Pesan dekripsi menggunakan blok penyandi
yang sama dengan blok proses enkripsi dimana
kunci dekripsinya diturunkan dari dari kunci
enkripsi. Algoritma ini menggunakan operasi
campuran dari tiga operasi aljabar yang berbeda,
16

yaitu XOR, operasi penjumlahan modulo 2 dan
16

operasi perkalian modulo ( 2 + 1 ) . Semua
operasi ini digunakan dalam pengoperasian subblok 16-bit.
Algoritma ini melakukan iterasi yang terdiri dari
atas 8 putaran dan I transformasi keluaran pada
putaran ke 9, dimana gambaran komputasi dan
transformasi keluaran ditunjukkan oleh gambar
sebagai berikut :

Gambar 3 : Algoritma IDEA

Prinsip perancangan dari algoritma kriptografi
IDEA di sini adalah :
ƒ Diffusion
Konsep ini dilakukan dengan mengusahakan
setiap
bit
dari
setiap
plaintext
mempengaruhi setiap bit ciphertext dan
setiap bit kunci untuk mempengaruhi setiap
bit ciphertext.
ƒ Confusion
Konsep ini dilakukan dengan mencampur
tiga prinsip operasi grup aljabar yang
berbeda-beda :
1. XOR (penambahan modulo 2).
2. Penambahan modulo 216
3. Perkalian dengan modulo 216 + 1
Menggunakan sebuah arsitektur serial-bit untuk
melakukan perkalian modulo 216 + 1,
implementasinya
minimal
membutuhkan
perangkat keras yang sederhana. Arsitektur
serial-bit memungkinkan algoritma menjadi
lebih dalam untuk mendapatkan sebuah sistem
dengan waktu clock sebesar 125MHz. Sebuah
implementasi pada Xilinx Virtex XCV300-4
dapat
dilakukan
tes
secara
sukses.,
mendistribusikan sebuah keluaran sebesar
500Mb/sec. Dengan alat XCV1000-6, perkiraan
performansi adalah 2.35Gb/detik, tiga lebih cepat
dari urutan magnitude daripada sebuah
implementasi perangkat lunak pada 450MHz
Intel Pentium II. Desain ini cocok bagi aplikasi
dengan enkripsi secara langsung (on-line ) pada
jaringan dengan kecepatan tinggi.
3.

Proses Enkripsi IDEA

Pada proses enkripsi, algoritma IDEA ini
ditunjukkan oleh gambar 3 di atas, terdapat tiga
operasi yang berbeda untuk pasangan sub-blok
16-bit yang digunakan, sebagai berikut :
ƒ XOR dua sub-blok 16-bit, bit per bit, yang
ƒ

ƒ

disimbolkan dengan tanda

.
16

Penjumlahan integer modulo 2
(mod
65.536) dua sub-blok 16-bit , dimana kedua
sub-blok itu dianggap sebagai representasi
biner dari integer biasa, yang disimbolkan
dengan tanda

.
16

Perkalian modulo (2 + 1) yang nilainya
65.537 (bilangan ini prima dan invers dari
perkalian bisa dijamin), dua sub-blok 16-bit,
dimana kedua sub-blok 16-bit itu dianggap
sebagai representasi biner dari integer biasa
kecuali sub-blok nol dianggap mewakili

16

integer 2 , yang disimbolkan dengan tanda

Setiap operasi dibuat pada blok 16 bit dan trick
yang digunakan di sini adalah blok-blok tersebut
yang nilainya adalah 0 (16 bit) akan digantikan
oleh konstanta 216
... dari 17 bits!.
Membuktikan hal ini dengan jumlah digit yang
sangat banyak tidak dapat dilakukan secara jelas.
Walaupun begitu, kita dapat melihat contoh nya
dengan menskalakannya dengan angka-angka
yang kecil. Pada tabel 1 adalah contoh pada
kelompok kecil n di mana 2n + 1 harus prima, n
= 2 di mana 22=4 y 22 + 1 = 5.
Penjelasan :
Ingat bahwa 0 sama dengan 2n = 4 sehingga :
ƒ 0⊗0 = 22 x 22
= 16 mod 5
=1
ƒ 0⊗1 = 22 x 1 = 4
= 4 mod 5
=4=0
ƒ 0⊗2 = 22 x 2 = 8
= 8 mod 5
=3
ƒ 0⊗3 = 22 x 3 = 12
= 12 mod 5
=2
Operasi-operasi yang dilakukan antara lain :
+ mod 2n (mod 4)
⊗ mod 2n+1 (mod 5)
XOR (mod 2)
Kalkulasi lain dengan nilai x dan y yang berbeda
akan sama.
Penambahan invers :
Modulo 216 = Modulo 65536
• A adalah penambahan invers dari B iff
(A + B) mod 65536 = 0
• Contoh penambahan pada 4 adalah:
−4 mod 65536 ´ (−4 + 65536) = 65532
Perkalian invers :
Modulo 216 + 1 = Modulo 65537
• A adalah perkalian invers dari B iff
(A × B) mod 65537 = 1
• Gunakan algoritma Extended Euclidean untuk
mencari perkalian invers.
Algoritma Extended Euclidean
Extended Euclidean (m, n) di mana m > n
a[0] = m a[1] = n
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
x[k] = x[k − 2] − q[k − 1]x[k − 1] for k > 1
y[k] = y[k − 2] − q[k − 1]y[k − 1] for k > 1

Gambar 4 : Gambar operasi pada algoritma
kriptografi IDEA.

Jika a[p] adalah nilai a[k] terakhir yang bukan
nol maka
a[p] = x[p] × m + y[p] × n
dan gcd(m, n) = a[p].
Jika gcd(m, n) = 1 maka
y[p] = n−1 mod m
Catatan a[k] = a[k − 2] − q[k − 1]a[k − 1]
Akan sama dengan:
a[k] = a[k − 2] mod a[k − 1]

Gambar di atas adalah operasi-operasi yang
mengakibatkan confusion dan dalam operasioperasi ini tidak berlaku hukum distributif atau
hukum asosiatif. Struktur dari difusion ini
menciptakan sebuah blok dasar yang dinamakan
MA Structure Multiplication / Addition. Ini
hanya menggunakan dua kunci untuk setiap
putarannya dan masukannya adalah F1, F2 sama
seperti luarannya G1, G2 yang dihubungkan oleh
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
1 = (−16384 × 4) mod 35567
1 = (49153 ¤ 4) mod 65537
1 = ((3 × 65537) + 1) mod 65537

Gambar 5 : Blok Utama IDEA

X

Y

0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3

00
00
00
00
01
01
01
01
10
10
10
10
11
11
11
11

X+Y

0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3

00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11

0
1
2
3
1
2
3
0
2
3
0
1
3
0
1
2

Tabel 1: Operasi XOR, penambahan, dan
perkalian pada grup kecil.
Blok pesan terbuka dengan lebar 64-bit , X,
dibagi menjadi 4 sub-blok 16-bit, X , X , X , X ,
1

2

3

4

sehingga X = (X , X , X , X ). Keempat sub1

2

3

4

blok 16-bit itu ditransformasikan menjadi subblok 16-bit, Y , Y , Y , Y sebagai pesan rahasia
1

2

3

4,

64-bit Y = (Y , Y , Y , Y ) yang berada dibawah
1

2

3

4

kendali 52 sub_blok kunci 16-bit yang dibentuk
dari dari blok kunci 128 bit.
Keempat sub-blok 16-bit, X , X , X , X ,
1

2

3

4

digunakan sebagai masukan untuk putaran
pertama dari algoritma IDEA. Dalam setiap
putaran dilakukan operasi XOR, penjumlahan,
perkalian antara dua sub-blok 16-bit dan diikuti
pertukaran antara sub-blok 16-bit putaran kedua
dan ketiga. Keluaran putaran sebelumnya
menjadi masukan putaran berikutnya. Setelah
putaran kedelapan dilakukan transformasi
keluaran yang dikendalikan oleh 4 sub-blok
kunci 16-bit.
Pada setiap putaran dilakukan operasi-operasi
sebagai berikut :
1) Perkalian X dengan sub-kunci pertama
1

2) Penjumlahan X dengan sub-kunci kedua
2

3) Pejumlahan X dengan sub kunci ketiga
3

00
01
10
11
01
10
11
00
10
11
00
01
11
00
01
10

1
0
3
2
0
1
2
3
3
2
0
1
2
3
1
0

X⊗ Y
01
00
11
10
00
01
10
11
11
10
00
01
10
11
01
00

X⊕
0
1
2
3
1
0
3
2
2
3
0
1
3
2
1
0

Y
00
01
10
11
01
00
11
10
10
11
00
01
11
10
01
00

7) Perkalian hasil langkah 5) dengan subkunci kelima
8) Penjumlahan hasil langkah 6) dengan
langkah 7)
9) Perkalian hasil langkah 8) dengan subkunci keenam
10)Penjumlahan hasil langah 7) dengan 9)
11)Operasi XOR hasil langkah 1) dan 9)
12)Operasi XOR hasil langkah 3) dan 9)
13)Operasi XOR hasil langkah 2) dan 10)
14)Operasi XOR hasil langkah 4) dan 10)
Untuk lebih jelasnya bisa dilihat dari notasinotasi berikut :
IDEA Round
• 14 Langkah
• © = Xor
• ¤ = Perkalian Modulo 216 + 1
• + = Penambahan modulo 216
1. A = X1 ¤ K1
2. B = X2 + K2
3. C = X3 + K3
4. D = X4 ¤ K4
5. E = A © C
6. F = B © D
7. G = E ¤ K5
8. H = G + F
9. J = H ¤ K6
10. L = J + G
11. R1 = A © J
12. R2 = C © J
13. R3 = B © L
14. R4 = D © L

4) Perkalian X dengan sub kunci keempat
4

5) Operasi XOR hasil langkah 1) dan 3)
6) Operasi XOR hasil angkah 2) dan 4)

Di bawah ini adalah gambar dari putaran yang
dimiliki oleh IDEA :

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
Keluaran setiap putaran adalah 4 sub-blok yang
dihasilkan pada langkah 11), 12), 13), dan 14)
dan menjadi masukan putaran berikutnya.
Setelah putaran kedelapan terdapat transformasi
keluaran, yaitu :
1) Perkalian X dengan sub-kunci pertama
1

2) Penjumlahan X dengan sub-kuci ketiga
2

3) Penjumlahan X dengan sub-kunci kedua
3

Di bawah ini adalah tabel kunci dekripsi pada
IDEA :
d1 = k49-1
d7 = k43-1
d13 = k37-1
d19 = k31-1
d25 = k25-1
d31 = k19-1
d37 = k13-1
d43 = k7-1
d49 = k1-1

d2 = -k50
d8 = -k45
d14 = -k39
d20 = -k33
d26 = -k27
d32 = -k21
d38 = -k15
d44 = -k9
d50 = -k2

d3 = -k51
d9 = -k44
d15 = -k38
d21 = -k32
d27 = -k26
d33 = -k20
d39 = -k14
d45 = -k8
d51 = -k3

d4 = k52-1
d10 = k46-1
d16 = k40-1
d22 = k34-1
d28 = k28-1
d34 = k22-1
d40 = k16-1
d46 = k10-1
d52 = k4-1

d5 = k47
d11 = k41
d17 = k35
d23 = k29
d29 = k23
d35 = k17
d41 = k11
d47 = k5

d6 = k48
d12 = k42
d18 = k36
d24 = k30
d30 = k24
d36 = k18
d42 = k12
d48 = k6

4) Perkalian X dengan sub-kunci keempat
4

Terahir, keempat sub-blok 16-bit 16-bit yang
merupakan hasil operasi 1), 2), 3), dan 4) ii
digabung kembali menjadi blok pesan rahasia
64-bit. Di bawah ini adalah gambar dari
transformasi luaran.

Inverses of addition

Inverses of XOR

Inverses of the product

Tabel 2 Kunci Dekripsi dari IDEA
Gambar Operasi Dekripsi dari IDEA adalah :
Module IDEA

Gambar 7 : Transformasi Luaran
Notasi superscript K9n menandakan jumlah
putaran dari upa-kunci (sub-key). Pada kasus ini
putaran sembilan adalah transformasi final.
4.

Untuk dekripsi,
setiap blok dari
kriptogram dibagi
menjadi empat
sub-blok 16 bit.
Operasi
sekarang
maju

Proses Dekripsi IDEA

Proses dekripsi menggunakan algoritma yang
sama dengan proses enkripsi tetapi 52 buah subblok kunci yang digunakan masing-masing
merupakan hasil turunan 52 buah sub-blok kunci
enkripsi. Sebagai operasi yang dibentuk dari
sebuah field terbatas, pada kasus ini akan diambil
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

Gambar 8 : Operasi Dekripsi pada IDEA
Gambar penggunaan kunci pada IDEA :

Enam kunci
terakhir dekripsi

d1 = k49-1
d7 = k43-1
d13 = k37-1
d19 = k31-1
d25 = k25-1
d31 = k19-1
d37 = k13-1
d43 = k7-1
d49 = k1-1

d2 = -k50
d8 = -k45
d14 = -k39
d20 = -k33
d26 = -k27
d32 = -k21
d38 = -k15
d44 = -k9
d50 = -k2

d3 = -k51
d9 = -k44
d15 = -k38
d21 = -k32
d27 = -k26
d33 = -k20
d39 = -k14
d45 = -k8
d51 = -k3

d4 = k52-1
d10 = k46-1
d16 = k40-1
d22 = k34-1
d28 = k28-1
d34 = k22-1
d40 = k16-1
d46 = k10-1
d52 = k4-1

d5 = k47
d11 = k41
d17 = k35
d23 = k29
d29 = k23
d35 = k17
d41 = k11
d47 = k5

d6 = k48
d12 = k42
d18 = k36
d24 = k30
d30 = k24
d36 = k18
d42 = k12
d48 = k6

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.

Z Z Z Z

Pembentukan Upa Kunci (Sub-Key)

19

Sebanyak 52 upa-kunci blok 16-bit untuk proses
enkripsi diperoleh dari sebuah kunci 128-bit
pilihan pemakai. Enam upa-kunci digunakan
setiap putarannya sehingga terpakai 48 uapkunci. Sedangkan sisa empat upa-kunci untuk
transformasi final. Blok kunci 128-bit dipartisi
menjadi 8 sub-blok kunci 16-bit yang langsung
dipakai sebagai 8 sub-blok kunci pertama.
Kemudian blok kunci 128-bit dirotasi dari kiri 25
posisi untuk dipartisi lagi menjad 8 sub-blok
kunci 16-bit berikutnya. Proses rotasi dan partisi
itu diulangi lagi terus menerus sampai diperoleh
52 sub-blok kunci 16-bit, dengan urutan sebagai
berikut :
Z Z Z Z Z Z
11

21

31

41

51

22

32

42

52

64 bit
terakh
ir dari
fase 7
tidak
digun
akan.

61

23

33

43

53

49

26

23

A geser

25 bit yang
dihasilkan di bagian kiri
pada setiap fase pada 7 fase
pembangkitan kunci
128 bit
pertama
,8
upakun
ci 16 bit
akan
dibangk
itkan
satupersatu

64 bits of last keys 86

62

Gambar 10 Pembangkitan
algoritma IDEA

Z Z Z Z Z Z
13

39

masukan 128
bit,upakunci 52 akan
dibangkitkan

Z Z Z Z Z Z
12

29

Berikut ini adalah gambar pembangkitan kunci
untuk algoritma IDEA

63

kunci

pada

Z Z Z Z Z Z
14

24

34

44

54

64

Pada setiap operasi pada kunci 128 bit, 8 kunci
dari 16 bits yang didapatkan, hanya enam kunci
yang digunakan pada setiap putarannya. Kunci
yang tersisa disimpan untuk putaran berikutnya.
Di bawah ini adalah gambar pergeseran kunci
pada IDEA:

Z Z Z Z Z Z
15

25

35

45

55

65

Z Z Z Z Z Z
16

26

36

46

56

66

Z Z Z Z Z Z
17

27

37

47

57

67

Z Z Z Z Z Z
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








….

001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016
026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041
051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066
076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
126 127 128 001 002 003 004 005 006 007 008 009 010 011 012 103
023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038

Gambar 11 : Pergeseran Kunci pada IDEA
Sedangkan penggunaan kunci setiap putarannya
akan ditunjukkan oleh gambar di bawah ini :

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

113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025
035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050
060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075
085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022

Distribusi dari bit-bit dari tiap upakunci pada setiap putarannya
mengikuti seperti logika
First round:
Second round:
Third round:
Fourth round:
Fifth round:
Sixth round:
Seventh round:
Eighth round:
Transformation:

Gambar 12
putarannya

k1k2k3k4k5k6
k7k8k9k10k11k12
k13k14k15k16k17k18
k19k20k21k22k23k24
k25k26k27k28k29k30
k31k32k33k34k35k36
k37k38k39k40k41k42
k43k44k45k46k47k48
k49k50k51k52

B[1…96]
B[97…128; 26…89]
B[90…128; 1…25; 51…8
B[83…128; 1…50]
B[76…128; 1…43]
B[44…75; 101…128; 1…
B[37…100; 126…128; 1…
B[30…125]
B[23…86]

Penggunaan

kunci

setiap

Kunci pertama untuk setiap putaran k1, k7, k13,
k19, k25, k31, k37 dan k43 menggunakan
sebuah himpunan bit-bit yang berbeda-beda.
Kecuali pada putaran pertama dan ke delapan, bit
ke-96 dari upa-kunci (subkey) digunakan pada
setiap
putarannya,
tidak
berdampingan.
Dikarenakan adanya pergeseran 25 bit pada
bagian kiri di setiap fasenya, serangan yang
dilakukan pada kunci akan sangat sulit. Gambar
dari kunci pertama pada setiap putarannya bisa
dilihat pada gambar 13 di bawah ini :
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
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
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
k43: 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045

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 :

Jika kunci yang digunakan adalah “IDEA es la
clave”, cari 16 bit dari kunci kedua pada putaran
keempat.
Solusi:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24 25 26 27 28 29 30
0 1 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0
0 1 0 1 0 1 0 0 0 0
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
0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1
1 1 0 0 1 1 0 0 1 0
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
77 78 79 80 81 82 83 84 85 86 87 88 89 90
0 0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1
91 92 93 94 95 96 97 98 99 100 101 102 103 104
105 106 107 108 109 110 111 112 113 114
1 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0
0 0 0 1 0 1
115 116 117 118 119 120 121 122 123 124 125
126 127 128
1 1 0 1 1 0 0 1 1 0 0 1 0 1
Seperti pada setiap putaran enam penggunaan
upa-kunci (subkeys), kunci kedua dari putaran
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.

Blok ini berfungsi untuk mengontrol operasi
antara blok fungsional yang menyusun sebuah
blok besar seperti sinkronisasi transfer data
antar blok.
7.




Gambar 14 : Arsitektur prosesor IDEA
Keterangan :
1. Blok penyandi IDEA
Blok ini berfungsi untuk melakukan proses
penyandian data. Jika sub-kunci yang diproses
oleh blok ini berupa sub-kunci enkripsi maka
pesan yang dihasilkan adalah pesan rahasia
(chipertext) dan jika yang diproses berupa subkunci dekripsi maka pesan yang dihasilkan
adalah pesan sebenarnya (plaintext).
2. Blok pembangkit sub-kunci
Blok ini berfungsi untuk membentuk 52 buah
sub-kunci enkripsi 16 bit dari kunci enkripsi
128 bit. Sehingga membentuk 52 buah subkunci dekripsi 16 bit dari kunci dekripsi 128
bit.
3. Blok port data-in
Blok ini berfungsi untuk membaca 2 buah blok
data masukan 32 bit dan penyimpananya
sebagai blok data masukan 64 bit yang akan
dienkripsi atau didekripsi.
4. Blok port data-out
Blok ini berfungsi untuk mengeluarkan blok
data keluaran 64 bit yang merupakan hasil
enkripsi atau dekripsi dengan cara membagi
menjadi 2 buah blok data keluaran 32 bit.
5. Blok port kunci-n
Blok ini berfungsi untuk membaca 4 buah blok
kunci 32 bit dan menyimpanya sebagai blok
kunci 128 bit.
6. Blok mode operasi
Blok ini berfungsi untuk menentukan mode
operasi yang digunakan pada proses ekripsi
dan dekripsi.
7. Blok kontrol











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
dalam bentuk hexadecimal akan menjadi
lemah/rentan terhadap serangan, artinya
adalah
seorang
kriptanalisis
dapat
mengidentifikasi kunci ini dengan satu
serangan pada plaintext yang sudah terpilih.
Posisi x dapat memiliki nilai apapun dalam
hexadecimal.
Kemungkinan dari tipe kunci yang seperti
ini dapat digunakan adalah hanya 1 sampai
296, dan itu semua mungkin terjadi. Namun
hal ini juga bisa dihindari dengan melakukan
proses desain yang baik.
Sampai tahun 2004, serangan terbaik yang
dapat dilakukan pada semua kunci yang
dapat memecahkan IDEA dilakukan di
bawah putaran ke-5 (algoritma IDEA yang
penuh menggunakan 8.5 putaran).
Pada tahun 1996, Bruce Schneier sangat
memandang tinggi IDEA, beliau menulis,
"Menurut saya, IDEA merupakan algoritma
blok-chiper yang terbaik dan paling aman
yang tersedia pada masyarakat luas pada
saat ini." (Applied Cryptography, 2nd ed.)
Akan tetapi, pada tahun 1999 dia tidak lagi
merekomendasikan
algoritma
IDEA
dikarenakan ketersediaan dari algoritma lain
yang lebih cepat, beberapa perkembangan
para kriptanalisis, dan munculnya hak paten
pada IDEA.
Sampai saat ini, serangan apapun pada
sistem yang menggunakan algoritma
kriptografi IDEA baik secara aljabar
maupun linear masih belum diketahui oleh
para kriptanalisis.
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
pesan terbuka sebenarnya seperti tabel berikut:

Gambar 15 : gambar asli yang akan
dienkripsi

Gambar 16 : gambar yang sudah dienkripsi
menggunakan mode ECB.
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
menyembunyikan semua informasi yang terdapat
pada gambar asli. Kita masih bisa melihat /
mengenali garis-garis dari gambar yang
dienkripsi serta teks yang terdapat pada gambar
tersebut.

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
⊕ y2 = (X1. Z1)|0 ⊕ 1 ⊕ x3 ⊕ z3. Jika
Z1 = -1, contoh : jika 15 bit MSB bit dari Z1
adalah 0,

jika bit kunci yang dipertimbangkan adalah
konstan, faktor linear ini dapat diintepretasikan
sebagai propagasi pengetahuan dari x1 ⊕ x3
menjadi y1 ⊕ y2, merefer dari (1, 0, 1, 0) -> (1,
1, 0, 0). Faktor yang sama dan kondisi
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
menggunakan mode CBC sudah tidak dapat
dikenali lagi gambar aslinya. Begitu pula bila
kita menggunakan mode operasi CFB dan OFB
dalam melakukan enkripsi. Semua informasi
pada gambar disembunyikan dan tidak dapat
dilihat. Sehingga kita bisa mengambil
kesimpulan bahwa mode-mode inilah yang
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

Tabel 8 : Faktor linear pada fungsi putaran
Faktor linear dengan putaran yang banyak dapat
ditemukan dengan mengobinasikan faktor linear
di mana keterlibatan waktu pertengahan dibuang.
Untuk setiap putaran diberikan kondisi pada upakunci yang dapat diubah menjadi kondisi pada
kunci bit global pada tabel 9.

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.

Tabel 10 : Kondisi kunci bit pada faktor
linear (1,0,1,0) -> (0,1,1,0)
Penggunaan perkalian upa-kunci dengan nilai 1
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
dari v. XOR tidak mengubah dari penambahan
ujung kanan atas sampai dasar kanan dengan
perkalian dengan Z6. Jika ini sama dengan -1,
XOR output dengan v. Perbedaan ini tidak
berubah sepanjang penambahan ujung bawah kiri
dan XOR pada 4 subblok. Perbedaan output Y ‘
pada putaran ini sama dengan (v, v, v, 0). Jika 15

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
melakukan 2 enkripsi di mana plaintext pilihan
yang berbeda dan memeriksa perbedaan pada
ciphertext. Tabel yang sama bisa dibuat dari
input XOR apapun sesuai v dan 0.

Tabel 12 :Propagasi pada plaintext XOR
(0,v,0,v) pada IDEA
Kelas dari kunci lemah kadang-kadang dapat
dikembangkan secara signifikan dengan dibayar
usaha lebih pada pengecekan keanggotaan.
Sesuai tabel 12, kondisi dari upa-kunci pada
putaran 8 meningkat pada kelas of kunci 251

dengan bit-bit yang bukan 0 pada posisi 26-40,
72-83 dan 99-122.
9.1 Tes Keanggotaan
Masukan XOR pada putaran 8 sama dengan
output XOR pada putaran 7 dan dijamin akan
sama dengan (0, 0, v, v) dengan kondisi dari
upakunci 7 putaran pertama. Menggunakan fakta
bahwa Z(9)3 , sesuai dengan kunci bit global 5469 adalah 0000 untuk kunci ini dapat dengan
mudah diturunkan di mana :

Hal ini dapat dibuktikan dengan memeriksa
gambar 18. Pada persamaan di atas, hanya Z(9)1
yang tidak diketahui. Upa-kunci ini sesuai
dengan kunci bit global 22-37. Untuk kelas yang
diberikan, hanya 12 LSB yang bisa dibedakan
dari 0. Jika kunci global tidak dimiliki oleh kelas
kunci lemah, kemungkinan dari persamaan di
atas memiliki solusi adalah 1=16. Penambahan
enkripsi dapat dilakukan dengan mengeliminasi
solusi-solusi ini. Setiap pasang dari hasil enkripsi
adalah persamaan dari Z(9)1 yang sama dengan
persamaan di atas.

diketahui dari Z(8)4 . Sebuah pengecekan
konsistensi dapat dieksekusi pada bit-bit ini
dengan cara berikut.. Anggap Z(9)2 dan Z(9)4
diketahui. Pada kasus ini memungkinkan untuk
menghitung perbedaan yang direfer oleh K pada
gambar 18. Untuk nilai K ini, pasti ada sebuah
vektor A (dengan MSB 0) seperti :
Dari vektor K yang diberikan, merupakan hal
yang mudah untuk mencari nilai yang
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
dari K dan menyimpan dalam array 216. Ratarata dari kemungkinan nilai Z(8)4 per K berubah
menjadi lebih kecil dari 1. Sepanjang tabel ini,
nilai K yang diperiksa menspesifisikan
himpunan nilai yang memungkinkan dari Z(8)4.
Jika himpunan tersebut kosong, nilai yang dipilih
dari Z(9)2 dan Z(9)4 pasti salah. Jika himpunan
tersebut tidak kosong, nilai K value dihasilkan
dari pasangan lain dari enkripsi (dengan input
XOR pada putaran 8 sama dengan (0, 0, v,v)
dapat diperiksa. Nilai yang benar dari Z(8)4pasti
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 plaintextciphertext 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 tablelookups 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
kunci yang tidak memiliki bit 0 pada posisi
26-40, 72-83 dan 99-122. XOR digambarkan
dengan kotak.
9.2 Penentuan Kunci
Nilai dari 12 bit yang tidak diketahui dari Z(9)1
sudah ditentukan dari tes keanggotaan. Langkahlangkah berikut adalah penentuan dari 3 bit yang
tidak diketahui Z(9)2 , ke-12 bit yang tidak
diketahui pada Z(9)4 dan 7 bit yang tidak

Pada spesifikasi IDEA sekarang, kondisi untuk
putaran perkalian kunci putaran yang lemah
diubah menjadi kondisi di mana kunci bit global
harus 0. Pada tabel 10 dan 12 dapat dilihat
banyak kunci bit global yang muncul lebih dari
sekali pada berbagai kondisi. Sekarang biarkan
Z(r)i = α ⊕ Z(r)I dengan α adalah vektor biner
yang pasti tidak 0. Jika dalam IDEA upakunci
Z(r)i sudah diganti dengan ^Z(r)i, kondisi dari
perkalian kunci lemah diubah menjadi kondisi di
mana beberapa kunci bit global harus 0 dan
beberapa harus 1. Vektor α harus dipilih seperti

itu supaya semua multi-putaran potensial faktor
linear dan karakteristiknya, kondisi dari upakunci memberikan kondisi konflik kunci bit
global. Karena overlap besar di antara upa-kunci,
nilai yang sebenarnya dari α tidak terlalu
kritikal. Contohnya, untuk α = 0DAE (HEX)
tidak ada kunci lemah yang ditemukan.

10. Kasus Pengujian
Berikut ini adalah contoh-contoh kasus, yang
akan diujikan pada algoritma IDEA dan DES
untuk dibandingkan performansinya. Dalam
kasus pengujian kali ini, mode operasi yang
digunakan adalah ECB, CBC, CFB, dan OFB
baik untuk algoritma IDEA maupun untuk
algoritma DES . Sedangkan algoritma DES yang
dijadikan bahan pengujian kali ini adalah
algoritma DES biasa/single 8 byte.
1. Kasus Uji 1
Kasus Uji 1 bertujuan untuk menguji
kebenaran proses enkripsi dan dekripsi
beserta lama waktu proses enkripsi dan
dekripsi dengan menggunakan algoritma
kriptografi IDEA dan DES dengan mode
operasi ECB.
2. Kasus Uji 2
Kasus Uji 2 bertujuan untuk menguji
kebenaran proses enkripsi dan dekripsi
beserta lama waktu proses enkripsi dan
dekripsi dengan menggunakan algoritma
kriptografi IDEA dan DES dengan mode
operasi CBC.
3. Kasus Uji 3
Kasus Uji 3 bertujuan untuk menguji
kebenaran proses enkripsi dan dekripsi
beserta lama waktu proses enkripsi dan
dekripsi dengan menggunakan algoritma
kriptografi IDEA dan DES dengan mode
operasi CFB.
4. Kasus Uji 4
Kasus Uji 4 bertujuan untuk menguji
kebenaran proses enkripsi dan dekripsi
beserta lama waktu proses enkripsi dan
dekripsi dengan menggunakan algoritma
kriptografi IDEA dan DES dengan mode
operasi OFB.
11. Evaluasi Hasil Pengujian dengan DEC
Part I
Dari hasil pengujian yang dilakukan untuk Kasus
Uji 1, 2, 3, dan 4 diketahui bahwa perangkat
lunak DEC Part I telah melakukan proses
enkripsi dan dekripsi berbagai jenis file dan

mode operasi untuk algoritma kriptografi IDEA
dan DES dengan benar. Proses enkripsi dengan
menggunakan kunci tertentu dengan panjang
tertentu akan menyandikan isi arsip asal menjadi
chipertext. Proses dekripsi dengan menggunakan
kunci yang sama dengan kunci yang digunakan
dalam proses enkripsi (kunci simetris) akan
mengembalikan isi arsip hasil dekripsi menjadi
isi arsip asal (plaintext). Dalam program tes yang
saya gunakan, DEC Part I, proses enkripsi dan
dekripsi dilakukan secara sekaligus. Sehingga
kesalahan penggunaan kunci dalam melakukan
dekripsi file enkripsi tidak akan terjadi karena
proses enkripsi dan dekripsi dilakukan secara
sekaligus. Dari kasus uji 1, 2, 3, dan 4 yang
dilakukan juga menunjukkan bahwa:
1. Lama waktu yang digunakan untuk proses
enkripsi dan dekripsi file dengan algoritma
kriptografi IDEA dan DES dengan mode
operasi ECB dan CBC adalah relatif
sama/tidak jauh berbeda.
2. Lama waktu yang digunakan untuk proses
enkripsi dan dekripsi file dengan algoritma
kriptografi IDEA dan DES dengan mode
operasi CFB 8-bit dan OFB 8-bit adalah
relatif berbeda. Algoritma DES bisa
mengenkripsi dan mendekripsi file dalam
waktu yang relatif lebih cepat daripada
IDEA.
Berikut ini adalah daftar pengujian enkripsi dan
dekripsi berbagai jenis file dengan algoritma
kriptografi IDEA dan DES dalam mode ECB,
CBC, CFB, dan OFB untuk dibandingkan
kecepatannya :
Jenis
.txt
.txt
.txt
.txt
.mp3
.mp3
.mp3
.mp3
.exe
.exe
.exe
.exe
.pdf
.pdf
.pdf
.pdf
.avi
.avi

Ukuran
6.78 Mb
6.78 Mb
6.78 Mb
6.78 Mb
5.82 Mb
5.82 Mb
5.82 Mb
5.82 Mb
2.55 Mb
2.55 Mb
2.55 Mb
2.55 Mb
9.81 Mb
9.81 Mb
9.81 Mb
9.81 Mb
12.7 Mb
12.7 Mb

Mode
ECB
CBC
CFB
OFB
ECB
CBC
CFB
OFB
ECB
CBC
CFB
OFB
ECB
CBC
CFB
OFB
ECB
CBC

Waktu
0.89 detik
0.94 detik
5.85 detik
5.55 detik
0.78 detik
1.12 detik
4.56 detik
4.94 detik
0.47 detik
0.44 detik
2.17 detik
2.15 detik
1.21 detik
1.28 detik
7.95 detik
8.26 detik
1.98 detik
1.62 detik

.avi
12.7 Mb CFB
10.57 detik
.avi
12.7 Mb OFB 10.35
Tabel 13 : Tabel enkripsi dan dekripsi
berbagai file dengan menggunakan algoritma
IDEA
Jenis
Ukuran
Mode Waktu
.txt
6.78 Mb ECB 0.71 detik
.txt
6.78 Mb CBC 0.69 detik
.txt
6.78 Mb CFB
3.71 detik
.txt
6.78 Mb OFB 4.29 detik
.mp3
5.82 Mb ECB 0.61 detik
.mp3
5.82 Mb CBC 0.60 detik
.mp3
5.82 Mb CFB
3.28 detik
.mp3
5.82 Mb OFB 3.21 detik
.exe
2.55 Mb ECB 0.34 detik
.exe
2.55 Mb CBC 0.33 detik
.exe
2.55 Mb CFB
1.49 detik
.exe
2.55 Mb OFB 1.54 detik
.pdf
9.81 Mb ECB 0.95 detik
.pdf
9.81 Mb CBC 0.93 detik
.pdf
9.81 Mb CFB
5.30 detik
.pdf
9.81 Mb OFB 5.60 detik
.avi
12.7 Mb ECB 1.80 detik
.avi
12.7 Mb CBC 1.16 detik
.avi
12.7 Mb CFB
7.15 detik
.avi
12.7 Mb OFB 6.91 detik
Tabel 14 : Tabel enkripsi dan dekripsi
berbagai file dengan menggunakan algoritma
DES
12. Kesimpulan
Dari uraian di atas, dapat diambil kesimpulan
kelebihan algoritma IDEA dari algoritma lain
dalam hal ini DES adalah:
ƒ Menyediakan keamanan tingkat tinggi
karena algoritma ini tidak berdasarkan
penjagaan kerahasiaan dari algoritma
tersebut, tetapi lebih kepada penjagaan
terhadap kerahasiaan kunci yang digunakan
oleh pemakai.
ƒ Sudah mudah untuk digunakan oleh orangorang dan mudah untuk dimengerti.
ƒ Tersedia bagi semua orang.
ƒ Cocok untuk digunakan secara luas pada
berbagai aplikasi.
ƒ Dapat secara ekonomis diimplementasikan
pada komponen elektronik (chip VLSI).
ƒ Dapat digunakan secara efisien.
ƒ Dapat dikirim/disebarluaskan ke seluruh
dunia.
ƒ Sudah dilindungi hak paten untuk mencegah
pembajakan dan kejahatan.

ƒ

Algoritma kriptografi IDEA lebih aman
daripada algoritma kriptografi DES. Hal ini
dikarenakan panjang kunci yang berbeda
antara kedua algoritma ini serta algoritma
pengenkripsian yang berbeda.

13. Penutup
Dari uraian makalah ini, secara umum untuk
menjaga keamanan dan kerahasiaan data dalam
suatu jaringan komputer, diperlukan beberapa
jenis enkripsi. Guna melindungi data agar tidak
dapat dibaca atau diintepretasi oleh sembarang
orang, kecuali untuk penerima yang berhak.
Enkripsi merupakan salah satu metode untuk
menjamin dan melidungi agar komunikasi data
atau informasi menggunakan jaringan komputer
menjadi lebih aman. Dalam melakukan langkahlangkah enkripsi banyak cara atau algoritma
yang tersedia, algoritma IDEA yang dibahas
pada makalah ini hanyalah salah satu dari sekian
benyak algoritma kriptografi yang berkembang
saat ini. Dan algoritma IDEA ini sampai
sekarang masih cukup handal dan tangguh untuk
diterapkan sebagai metoda pengamanan data.
Namun sampai sekarang ini masih berkembang
berbagai
algoritma
untuk
meningkatkan
keamanan tersebut.
14. Daftar Pustaka
[1] Munir, Rinaldi. (2006). Bahan Kuliah
IF5054 Kriptografi. Departemen Teknik
Informatika, Institut Teknologi Bandung
[2] P Pfleegeer, Charles. (1996). Security in
Computing, Prentice Hall PTR,1996
[3] Schneier,
Bruce.
(1996).
Applied
Cryptography 2nd. John Wiley & Sons.
[4]

Joan Daemen, Rene Govaerts, dan Joos
Vandewalle. (1993). Weaks Keys for
IDEA.http://www.cosic.esat.kuleuven.ac.be
/publications/article-140.pdf.

[5] MediaCrypt.
Benefits
of
http://www.mediacrypt.com.

IDEA.

[6] Marnane, Liar, dr. lec-idea1.pdf. http://
www.rennes.ucc.ie.
[7] Dr. Aguirre, Jorge Ramió. (2005).
Symmetric Block Chipper. Polytechnic
University of Madrid