algoritma kriptografi modern
DESCRIPTION
Algoritma Kriptografi Modern. Pendahuluan. Beroperasi dalam mode bit ( algoritma kriptografi klasik beroperasi dalam mode karakter ) kunci , plainteks , cipherteks , diproses dalam rangkaian bit operasi bit xor paling banyak digunakan. - PowerPoint PPT PresentationTRANSCRIPT
Algoritma Kriptografi Modern
Algoritma Kriptografi ModernPendahuluanBeroperasi dalam mode bit (algoritma kriptografi klasik beroperasi dalam mode karakter)
kunci, plainteks, cipherteks, diproses dalam rangkaian bit
operasi bit xor paling banyak digunakan
Tetap menggunakan gagasan pada algoritma klasik: substitusi dan transposisi, tetapi lebih rumit (sangat sulit dipecahkan)
Perkembangan algoritma kriptografi modern didorong oleh penggunaan komputer digital untuk keamanan pesan.
Komputer digital merepresentasikan data dalam biner.PendahuluanDiagram Blok Kriptografi Modern
Data Encryption Standard (DES)Tinjauan Umum DESDikembangkan di IBM pada tahun 1972. Berdasarkan pada algoritma Lucifer yang dibuat oleh Horst Feistel. Disetujui oleh National Bureau of Standard (NBS) setelah penilaian kekuatannya oleh National Security Agency (NSA) Amerika Serikat.DES adalah standard, sedangkan algoritmanya adalah DEA (Data EncryptionAlgorithm). Kedua nama ini sering dikacaukan.DES termasuk ke dalam kriptografi kunci-simetri dan tergolong jenis cipher blok. DES beroperasi pada ukuran blok 64 bit. Panjang kunci ekternal = 64 bit (sesuai ukuran blok), tetapi hanya 56 bit yang dipakai (8 bit paritas tidak digunakan)Setiap blok (plainteks atau cipherteks) dienkripsi dalam 16 putaran.Setiap putaran menggunakan kunci internal berbeda.Kunci internal (56-bit) dibangkitkan dari kunci eksternalSetiap blok mengalami permutasi awal (IP), 16 putaran enciphering, dan inversi permutasi awal (IP-1). (lihat Gambar)
EGambar 2. Algoritma Enkripsi dengan DES
Permutasi AwalTujuan: mengacak plainteks sehingga urutan bit-bit di dalamnya berubah. Matriks permutasi awal (IP):
Pembangkitan Kunci Internal12Kunci internal = kunci setiap putaranAda 16 putaran, jadi ada 16 kunci internal: K1, K2, , K16 Dibangkitkan dari kunci eksternal (64 bit) yang diberikan oleh pengguna. Gambar 3. memperlihatkan proses pembangkitan kunci internal.13Gambar 3. Proses pembangkitan kunci-kunci internal DES
Rinaldi M/IF3058 Kriptografi/Teknik Informatika ITB14
15Gambar 9.2. Proses pembangkitan kunci-kunci internal DES
16
Enciphering17Setiap blok plainteks mengalami 16 kali putaran enciphering .Setiap putaran enciphering merupakan jaringan Feistel:Li = Ri 1 Ri = Li 1 f(Ri 1, Ki)
18Diagram komputasi fungsi f :19E adalah fungsi ekspansi yang memperluas blok Ri 1 32-bit menjadi blok 48 bit. Fungsi ekspansi direalisasikan dengan matriks permutasi ekspansi:
20Hasil ekpansi, yaitu E(Ri 1) di-XOR-kan dengan Ki menghasilkan vektor A 48-bit:E(Ri 1) Ki = A
Vektor A dikelompokkan menjadi 8 kelompok, masing-masing 6 bit, dan menjadi masukan bagi proses substitusi.
Ada 8 matriks substitusi, masing-masing dinyatakan dengan kotak-S.Kotak S menerima masukan 6 bit dan memebrikan keluaran 4 bit.
21
2223Keluaran proses substitusi adalah vektor B yang panjangnya 48 bit. Vektor B menjadi masukan untuk proses permutasi. Tujuan permutasi adalah untuk mengacak hasil proses substitusi kotak-S. Permutasi dilakukan dengan menggunakan matriks permutasi P (P-box) sbb:
24P(B) merupakan keluaran dari fungsi f. Bit-bit P(B) di-XOR-kan dengan Li 1 menghasilkan Ri:Ri = Li 1 P(B)Jadi, keluaran dari putaran ke-i adalah(Li, Ri) = (Ri 1 , Li 1 P(B))
Inversi Permutasi (IP-1)25Permutasi terakhir dilakukan setelah 16 kali putaran terhadap gabungan blok kiri dan blok kanan. Permutasi menggunakan matriks permutasi awal balikan (IP-1 ) sbb:
DekripsiRinaldi M/IF3058 Kriptografi/Teknik Informatika ITB26Dekripsi terhadap cipherteks merupakan kebalikan dari proses enkripsi. DES menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi. Pada proses dekripsi urutan kunci yang digunakan adalah K16, K15, , K1.Untuk tiap putaran 16, 15, , 1, keluaran pada setiap putaran deciphering adalahLi = Ri 1 Ri = Li 1 f(Ri 1, Ki)Mode DES27DES dapat dioperasikan dengan mode ECB, CBC, OFB, dan CFB.
Namun karena kesederhanaannya, mode ECB lebih sering digunakan pada paket komersil.Implementasi DES28DES sudah diimplementasikan dalam bentuk perangkat keras.Dalam bentuk perangkat keras, DES diimplementasikan di dalam chip. Setiap detik chip ini dapat mengenkripsikan 16,8 juta blok (atau 1 gigabit per detik).Implementasi DES ke dalam perangkat lunak dapat melakukan enkripsi 32.000 blok per detik (pada komputer mainframe IBM 3090).Keamanan DES29Keamanan DES ditentukan oleh kunci.Panjang kunci eksternal DES hanya 64 bit, tetapi yang dipakai hanya 56 bit. Pada rancangan awal, panjang kunci yang diusulkan IBM adalah 128 bit, tetapi atas permintaan NSA, panjang kunci diperkecil menjadi 56 bit. Tetapi, dengan panjang kunci 56 bit akan terdapat 256 atau 72.057.594.037.927.936 kemungkinan kunci. Jika serangan exhaustive key search dengan menggunakan prosesor paralel, maka dalam satu detik dapat dikerjakan satu juta serangan. Jadi seluruhnya diperlukan 1142 tahun untuk menemukan kunci yang benar.Plainteks
IP
16 kali
Enciphering
IP-1
Cipherteks
Gambar 9.1 Skema Global Algoritma DES
585042342618102605244362820124
625446383022146645648403224168
57494133251791595143352719113
615345372921135635547393123157
Matriks permutasi kompresi PC-1:
57494133251791585042342618
10259514335271911360524436
635547393123157625446383022
1466153453729211352820124
C0: berisi bit-bit dari K pada posisi
57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18
10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36
D0: berisi bit-bit dari K pada posisi
63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22
14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4
Matriks permutasi kompresi PC-1:
57494133251791585042342618
10259514335271911360524436
635547393123157625446383022
1466153453729211352820124
C0: berisi bit-bit dari K pada posisi
57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18
10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36
D0: berisi bit-bit dari K pada posisi
63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22
14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4
3212345456789
8910111213121314151617
161718192021202122232425
24252627282928293031321
S1:
1441312151183106125907
0157414213110612119538
4114813621115129731050
1512824917511314100613
S2:
1518146113497213120510
3134715281412011069115
0147111041315812693215
1381013154211671205149
S3:
1009146315511312711428
1370934610285141211151
1364981530111212510147
1101306987415143115212
S4:
7131430691012851112415
1381156150347212110149
1069012117131513145284
3150610113894511127214
S5:
2124171011685315130149
14112124713150151039816
4211110137815912563014
1181271142136150910453
S6:
1211015926801334147511
1015427129561131401138
9141552812370410113116
4321295151011141760813
S7:
4112141508133129751061
1301174911014351221586
1411131237141015680592
6111381410795015142312
S8:
1328461511110931450127
1151381037412561101492
7114191214206101315358
2114741081315129035611
1672021291228171152326583110
28241432273919133062211425
408481656246432397471555236331
386461454226230375451353216129
364441252206028353431151195927
34242105018582633141949175725