KRIPTOGRAFI IDEA - blitar jaya

Hot

Post Top Ad

Image and video hosting by TinyPic

Tuesday 28 March 2017

KRIPTOGRAFI IDEA

KRIPTOGRAFI IDEA

Diskripsi umum Algoritma IDEA
                     Algoritma penyandian IDEA (International Data Encryption Algorithm) muncul pertama kali pada tahun 1990 yang dikembangkan oleh ilmuwan Xueijia Lai dan James L Massey. 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)
                     Kluaransetiap 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 X1 dengan sub-kunci pertama
               2)   Penjumlahan X2 dengan sub-kuci ketiga
               3)   Penjumlahan X3 dengan sub-kunci kedua
               4)   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
Putaran
Ke-1
Z11 Z21 Z31 Z41 Z51 Z61
Putaran
Ke-2
Z12 Z22 Z32 Z42 Z52 Z62
Putaran
Ke-3
Z13 Z23 Z33 Z43 Z53 Z63
Putaran
Ke-4
Z14 Z24 Z34 Z44 Z54 Z64
Putaran
Ke-5
Z15 Z25 Z35 Z45 Z55 Z65
Putaran
Ke-6
Z16 Z26 Z36 Z46 Z56 Z66
Putaran
Ke-7
Z17 Z27 Z37 Z47 Z57 Z67
Putaran
Ke-8
Z18 Z28 Z38 Z48 Z58 Z68
Trnsformasi
output
Z19 Z29 Z39 Z49

Tabel sub-blok kunci Dekripsi yang diturunkan
Dari sub-blok kunci enkripsi

Sub-blok kunci dekripsi
Putaran
Ke-1
(Z19)-1 –Z29 –Z39 (Z49)-1
Z58 Z68
Putaran
Ke-2
(Z18)-1 –Z38 –Z28 (Z48)-1
Z57 Z67
Putaran
Ke-3
(Z17)-1 –Z37 –Z27 (Z47)-1
Z56 Z66
Putaran
Ke-4
(Z16)-1 –Z36 –Z26 (Z46)-1
Z55 Z65
Putaran
Ke-5
(Z15)-1 –Z35 –Z25 (Z45)-1
Z54 Z64
Putaran
Ke-6
(Z14)-1 –Z34 –Z24 (Z44)-1
Z53 Z63
Putaran
Ke-7
(Z13)-1 –Z33 –Z23 (Z43)-1
Z52 Z62
Putaran
Ke-8
(Z12)-1 –Z32 –Z22 (Z42)-1
Z51 Z61
Trnsformasi
output
(Z11)-1 –Z21 –Z31 (Z41)-1

                  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

  Pembentukan sub-kunci
                     Sebanak 52 sub-blok kunci 16-bit untuk proses enkripsi diperolah dari sebuah kunci 128-bit ilihan 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 :
                     Z11 Z21 Z31 Z41 Z51 Z61
                     Z12 Z22 Z32 Z42 Z52 Z62
                     Z13 Z23 Z33 Z43 Z53 Z63
                     Z14 Z24 Z34 Z44 Z54 Z64
                     Z15 Z25 Z35 Z45 Z55 Z65
                     Z16 Z26 Z36 Z46 Z56 Z66
                     Z17 Z27 Z37 Z47 Z57 Z67
                     Z18 Z28 Z38 Z48 Z58 Z68
                     Z19 Z29 Z39 Z49
 Arsitektur umum Processor Kroptografi IDEA
                     Pada gambar berikut diperlihatkan arsitektur atau penggambaran umum sebuah processor yang mengolah sistem keamanan data dengan menggunakan algoritma IDEA :
                     Blok Penyandi IDEABlok Kontrol UtamaBlokPembangkitSubkunciBlok Port Kunci-InBlok Port Data-InBlok Port Data-OutBlok Mode OperasiPesan Terbuka 32-bitPesan Rahasia 32-bitKunci 32-bitKontrolLuar`
               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 (Chiper teks) dan jika yang diproses berupa sub-kunci dekripsi maka pesan yang dihasilkan adalah pesan sebenarnya (Plain teks).
                     2.      Blok pembangkit sub-kunci
                     Blok ini berfungsi untuk membentuk 52 buah sub-kunci enkripsi 16 bit dari kunci enkripsi 128 bit membentuk 52 buah sub-kunci 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 poert data-out
                     Blok ini berfungsi untuk mengeluarkan blok data keluaran 64 bit yang merupakan hasil enkripsi atau dekripsi engan cara membagi menjadi 2 buah ok data keluaran 32 bit.
                     5.      Blok poert 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 paa prses ekripsi dan dekripsi.
                     7.      Blok kontrol
                     Blok ini berfungsi untuk mengontrol operasi antara blok fungsional yang menyusun sebuah blok besar seperti sinkronisasi transfer data antar blok.
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 d Z11ibagi-bagi menjadi Z11 = 2, Z21 = 4, Z31 = 6, Z41 = 8, Z51 = 10, Z61 = 12, Z12 = 14, Z22 = 16 :

  Data hasil enkripsi
Putaran
X1=11
X2=12
X3=13
X4=14
1
1742
1739
1818
1914
2
7747
19997
6873
43941
3
17904
14848
38199
28280
4
19495
50387
56036
37729
5
50786
38066
65017
61306
6
8314
58477
18894
58477
7
33229
58903
41037
5557
8
59491
30519
33083
30571
9
25112
33467
31031
35414

                     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:
Putaran
Y1=25112
Y2=33467
Y3=31031
Y4=35414
1
16154
41038
42520
20552
2
11700
19054
58605
20757
3
15054
19054
54450
30993
4
6196
19172
9427
13904
5
7555
38263
14904
29629
6
17706
15065
27165
37202
7
23488
3866
1755
47015
8
22
19
16
112
9
11
12
13
14

                        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 

No comments:

Post a Comment

Post Top Ad

Image and video hosting by TinyPic