International Data Encryption Algorithm (IDEA)
Pengertian
International Data Encryption Algorithm
International Data
Encryption Algorithm (IDEA) adalah algoritma
enkripsi blok kunci yang aman dan rahasia yang dikembangkan oleh James Massey
dan Xuejia Lai. Algoritma ini berkembang pada 1992 dari algoritma semula yang
disebut dengan Proposed Encryption Standard and The Inproved Proposed
Encryption Standard. IDEA beroperasi pada blok plaintext 64 bit dan menggunakan
kunci 128 bit. Algoritma IDEA menggunakan delapan round dan beroperasi pada
subblok 16 bit dengan menggunakan kalkulasi aljabar yang dapat digunakan untuk
implementasi hardware. Operasi ini adalah penjumlahan modulo 216, perkalian
modulo 216 + 1, dan XOR. Dengan kunci 128 bitnya, cipher IDEA lebih sulit untuk
dibobol daripada DES
Algoritma utama dari sistem kriptografi IDEA adalah sebagai berikut :
1. Proses enkripsi : ek(M) = C
2. Proses dekripsi : dk(C) = M
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 terbuka dengan lebar 64-bit. Dan
menggunakan kunci yang sama , berukuran 128-bit, untuk proses enkripsi
dan dekripsi. Pesan rahasia yang dihasilan oleh algoritma ini berupa
blok pesan rahasia dengan lebar atu ukuran 64-bit. 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, yaitu XOR, operasi penjumlahan modulo 216 dan operasi perkalian
modulo ( 216 + 1 ) . Semua operasi ini digunakan dalam pengoperasian
sub-blok 16-bit. Algoritma ini melakukan iterasi yang terdiri dari atas 8
putaran dan I transformasi keluaran pada putaran ke 9
Proses Enkripsi IDEA
Pada
proses enkripsi, algoritma IDEA ini ditunjukkan oleh gambar di atas,
terdapat tiga operasi yang berbeda untuk pasangan sub-blok 16-bit yang
digunakan, sebagai berikut :
- XOR dua sub-blok 16-bit bir per bit, yang disimbolkan dengan tanda
- Penjumlahan integer modulo (216 + 1) dua sub-blok 16-bit , dimana edua sub-blok itu dianggap sebagai representasi biner dari integer biasa, yang disimbolkan
Perkalian
modulo (216 + 1) 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 integer 216 , yang disimbolkan dengan tanda . Blok
pesan terbuka dengan lebar 64-bit , X, dibagi menjadi 4 sub-blok
16-bit, X1, X2, X3, X4, sehingga X = (X1, X2, X3, X4). Keempat sub-blok
16-bit itu ditransformasikan menjadi sub-blok 16-bit, Y2, Y2, Y3, Y4,
sebagai pesan rahasia 64-bit Y = (Y1, Y2, Y3, Y4) yang berada dibawah
kendali 52 sub_blok kunci 16-bit yang dibentuk dari dari blok kunci 128
bit. Keempat sub-blok 16-bit, X1, X2, X3, X4, digunakan sebagai masukn
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 keluara yang dikendalikan oleh
4 sub-blok unci 16-bit.
Pada setiap putaran dilakukan operasi-operasi sebagai berikut :
1) Perkalian X1 dengan sub-kunci pertama
2) Penjumlahan X2 dengan sub-kunci kedua
3) Pejumlahan X3 dengan sub kunci ketiga
4) Perkalian X4 dengan sub kunci keempat
5) Operasi XOR hasil langkah 1 dan 3
6) Operasi XOR hasil angkah 2 dan 4
7) Perkalian hasil langkah 5 dengan sub-kunci kelima
8) Penjumlahan hasil langkah 6 dengan langkah 7
9) Perkalian hasil langkah 8 dengan sub-kunci 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
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 :
- Perkalian X1 dengan sub-kunci pertama
- Penjumlahan X2 dengan sub-kuci ketiga
- Penjumlahan X3 dengan sub-kunci kedua
- Perkalian X4 dengan sub-kunci keempat 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.
Proses Dekripsi IDEA
Proses
dekripsi menggunakan algoritma yang sama dengan proses enkripsi tatapi
52 buah sub-blok kunci yang digunakan masing-masing merupakan hasil
turunan 52 buah sub-blok kunci enkripsi. Tabel sub-blok kunci dekripsi
yang diturunkan dari sub-blok kunci enkripsi dapat dilihat pada tabel
berikut :
Sub-blok Kunci Enkripsi
Sub-blok kunci deskripsi
Keterangan :
- Z-1 merupakan invers perkalian modulo 216+1 dari Z, dimana Z Z-1 = 1
- Z merupakan invers penjumlahan modulo 216 dri Z, dimana Z Z-1 = 0
Sebanyak
52 sub-blok kunci 16-bit untuk proses enkripsi diperolah dari sebuah
kunci 128-bit pilihan pemakai. Blok kunci 128-bit dipartisi menjadi 8
sub-blok kunci 16-bit yang lansung dipakai sebagai 8 sub-blok kunci
pertama. Kemudian blok kunci 128-bit dirotasi dari kiri 25 poisi untk
dipartisi lagi menjad 8 sub-blok kunci 16-bit berikutnya. Proses rotasi
dan pertisi itu diulangi lagi smpai diperoleh 52 sub-blok kunci 16-bit,
dengan urutan sebagai berikut :
Contoh Komputansi Penggunaan Algoritma IDEA
Pada tabel berikut dapat dilihat data hasil enkripsi tiap putaran yang diproses dengan sebuah program yang mengimplementasikan algoritma IDEA utuk sebuah pesan terbuka dalam bentuk bilangan integer 11121314 yng telah dibagi-bagi menjadi empat yaitu X1 = Z11 11, X2 = 12, X3 = 13,dan
X4 = 14 , dan kunci telah dibagi-bagi menjadi Z11 = 2, Z21 = 4, Z31 = 6, Z41 = 8, Z51 = 10,
Z61 = 12, Z12 = 14, Z22 = 16 :
Data hasil enkripsi
Dari tabel diatas dapat dilihat data hasl enkripsi tiap putaran untuk pesan rahasia, yaitu :
Y1 = 25112, Y2 = 33467, Y3 = 3103, Y4 = 35414
Yang dihasilkan oleh proses enkripsi, dengan mnggunakan 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:
Y1 = 25112, Y2 = 33467, Y3 = 3103, Y4 = 35414
Yang dihasilkan oleh proses enkripsi, dengan mnggunakan 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:
Hasil dekripsi akan sesuai dengan pesan asli seperi terlihat pada tabel putaran kesembilan yaitu bilangan integer
Y1 Y2 Y3 Y4 = X1 X2 X3 X4 = 11121314
Klick Lanjutan pengertian dan cara kerja :
Klick Lanjutan pengertian dan cara kerja :
Tidak ada komentar:
Posting Komentar