algoritma kriptografi modern

Click here to load reader

Upload: qiana

Post on 23-Feb-2016

56 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

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