pengontor iimu kriptogrofi // bab iii algoritma · pdf filedigital signature algorithm (dsa),...

42
42 Pengontor IImu Kriptogrofi // BAB III ALGORITMA KRIPTOGRAFI 3.1 PENDAHUlUAN Ditinjau dari asal-usulnya. kara algoritma mempunyai sejarah yang menarik. Kata ini muncul di dalam kamus Webster sampai akhir tahun 1957. Kata algorism mempunyai ani proses perhicungan dalam bahasa Arab. Algoritma berasal dari nama penulis buku Arab yang terkenal, yaitu Abu Ja'far Muhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca oleh orang barat sebagai algorism). KatJ algorism lambat laun berubah menjadi algorithm. Definisi terminologi algoritma adalah urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara sistematis. Algoritma kriptografi merupakan langkah-Iangkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan terse but. Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu: 1. Enkripsi merupakan hal yang sangat penting dalam kriptografi. merupa- , I kan pengamanan data yang dikirimkan agar terjaga kerahasiaannya. Pesan ash disebut plaintext, yang diubah menjadi kode-kode yang tidak ill ,I I dimengerti. Enkripsi bisa diartikan dengan cipher atau kode. Sama halnya I 'I ... 1 dengan kita tidak mengerti akan sebuah kata maka kita akan melihatnya di dalam kamus atau daftar istilah. Beda halnya dengan enkripsi. umuk mengubah teks-asii ke bentuk teks-kode kita menggunakan algoritma yang dapat mengkodekan data yang kita ingini. 2. Dekripsi: merupakan kebalikan dari enkripsi. Pesan yang tclah dienkripsi dikembalikan ke bentuk asalnya (teks-asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk enkripsi. 3. KUl1ci yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci rerbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public key).

Upload: vuliem

Post on 05-Feb-2018

257 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

42 Pengontor IImu Kriptogrofi

BAB III ALGORITMA KRIPTOGRAFI

31 PENDAHUlUAN

Ditinjau dari asal-usulnya kara algoritma mempunyai sejarah yang menarik Kata ini muncul di dalam kamus Webster sampai akhir tahun 1957 Kata algorism mempunyai ani proses perhicungan dalam bahasa Arab Algoritma berasal dari nama penulis buku Arab yang terkenal yaitu Abu Jafar Muhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca oleh orang barat sebagai algorism) KatJ algorism lambat laun berubah menjadi algorithm

Definisi terminologi algoritma adalah urutan langkah-langkah logis untuk menyelesaikan masalah yang disusun secara sistematis Algoritma kriptografi merupakan langkah-Iangkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan terse but

Algoritma kriptografi terdiri dari tiga fungsi dasar yaitu

1 Enkripsi merupakan hal yang sangat penting dalam kriptografi merupashy I kan pengamanan data yang dikirimkan agar terjaga kerahasiaannya Pesan ash disebut plaintext yang diubah menjadi kode-kode yang tidak ill I

Idimengerti Enkripsi bisa diartikan dengan cipher atau kode Sama halnya II

1dengan kita tidak mengerti akan sebuah kata maka kita akan melihatnya di dalam kamus atau daftar istilah Beda halnya dengan enkripsi umuk mengubah teks-asii ke bentuk teks-kode kita menggunakan algoritma yang dapat mengkodekan data yang kita ingini

2 Dekripsi merupakan kebalikan dari enkripsi Pesan yang tclah dienkripsi dikembalikan ke bentuk asalnya (teks-asli) disebut dengan dekripsi pesan Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk enkripsi

3 KUl1ci yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi Kunci rerbagi menjadi dua bagian kunci rahasia (private key) dan kunci umum (public key)

45 44 Pengantar Ilmu Kriptografi

Keamanan dari algoritma kriptografi tergantung pad a bagairnana algoritma

itu bekerja Oleh sebab itu algoritma semacam ini disebut dengan algoritma

terbatas Algoritma terbatas merupakan algoritma yang dipakai sekelompok

orang untuk merahasiakan pesan yang mereka kirim Jika salah satu dari

anggota kelompok itu keluar dari kelompoknya maka algoritma yang dipakai

diganti dengan yang baru Jika tidak maka hal itu bisa menjadi masalah dl

kemudian hari

Keamanan dari kriptografi modern didapat dengan merahasiakan kunci yang

dimiliki dari orang lain tanpa harus merahasiakan algoritma itu sendiri

Kunci memiliki fungsi yang sarna dengan password Jika keseluruhan dari

keamanan algoritma tergantung pada kunci yang dipakai maka algoritma ini

bisa dipubliskasikan dan dianalisis oleh orang lain Jika algoritma yang telah

dipublikasikan bisa dipecahkan dalam waktu singkat oleh orang lain maka

berarti algoritma tersebut tidaklah aman untuk digunakan Pada pembahasan

berikutnya akan dijelaskan berbagai macam algoritma kriptografi yang

pernah ada

32 MACAM-MACAM ALGORITMA KRIPTOGRAFI

Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang

dipakainya

1 Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan dekripshy

sinya)

2 Algoritma Asimetri (menggunakan kunci yang berbeda ulltuk enkripsi dan dekripsi)

3 Hash Function

321 ALGORITMA SIMETRI

Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci

yang sarna untuk kegiatan enkripsi dan dekripsi Algoritma ini sudah ada

sejak lebih dari 4000 tahun yang lalu Bila mengirim pes an dengan mengshy

gunakan algoritma ini si penerima pesan harus diberitahu kunci dari pesan

tersebut agar bisa mendekripsikan pesan yang dikirim Keamanan dari pesan

yang menggunakan algoritma ini tergantung pada kunci Jika kunci tersebut

diketahui oleh orang lain maka orang rersebut akan dapat melakukan

Algoritma Kriptografi

enkripsi dan dekripsi terhadap pesan Algoritma yang memakai kunci simetri di antaranya adalah

1 Dita Encryption Standard (DES)

2 RC2 RC4 RCS RC6

3 International Data Encryption Algorithm (IDEA)

4 Advanced Encryption Standard (AES)

5 One Time Pad (OTP)

6 AS dan lain sebagainya

322 ALGORITMA ASIMETRI

Algoritma asimetri sering juga disebut dengan algoritma kunci publik

dengan ani kata kllnci yang digunakan untuk melakukan enkripsi dan

dekripsi berbeda Pada algoritma asimetri kunci terbagi menjadi dua bagian yaitu

1 Kunci umum (public key) Kunci yang boleh semua orang tahu (dipublikasikan)

2 Kunci rahasia (private key) Kunci yang dirahasiakan (hanya boleh diketahui oleh satu orang)

Kunci-kunci tersebut berhubungan satll sarna lain Dengan kunci publik

orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsinya Hanya

orang yang memiliki kunci rahasia yang dapat mendekripsi pesan terse but Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada

algoritma simetri Contoh Bob mengirim pesan ke Alice menggunakan algoritma asimetri Hal yang harus dilakukan adalah

1 Bob memberitahukan kunci publiknya ke Alice

2 Alice mengenkripsi pesan dengan menggunakan kunci publik Bob

3 Bob mendeuipsi pesan dari Alice dengan kunci rahasianya

4 Begitu juga sebaliknya jika Bob ingin mengirim pesan ke Alice

46 Pengantar IImu Kriptografi

Algoritma yang memakai kunci publik di antaranya adalah

1 Digital Signature Algorithm (DSA)

2 RSA

3 Diffie-Hellman (DH)

4 Elliptic Curve Cryptography (ECC)

5 Kriptografi Quantum dan lain sebagainya

323 FUNGSJ HASH

Fungsi Hash disebut dengan fungsi Hash saru arah (one-way function) message digest fingerprint fungsi kompresi dan message authentication code

merupakan suatu fungsi matematika yang mengambil masukan panjang variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap Fungsi Hash biasanya diperlukan bila ingin membuat sidik jari dari suatu pesan Sidik jari pada pesan merupakan suaru tanda bahwa pesan tersebut benar-benar berasal dari orang yang diinginkan Tentang hal ini akan dibahas lebih laniut bagian hoYL-~

33 KRIPTOGRAFI KLASIK

Kriptografi klasik merupakan suaru algoritma yang menggunakan satu kunci untuk mengamankan data Teknik ini sudah digunakan beberapa abad yang lalu Dua teknik dasar yang biasa digunakan pada algoritma jenis ini adalah sebagai berikut

1 Teknik substitusi Penggantian setiap karakter teks-asli dengan karakter lain

2 Teknik transposisi (permutasi) Dilakukan dengan menggunakan pershymutasi karakter

34 KRIPTOGRAFI MODERN

Kriptografi modern mempunyai kerumitan yang sangat kompleks karena dioperasikan menggunakan komputer Hal ini akan dibahas lebih detail bagian lain

Agorilmo Kriptogrofi 47

35 PROSES PENGKODEAN

Cara kerja sistem penyandian sangat sederhana bisa dianalogikan dengan kayu mesin serbuk kayu Kayu digunakan sebagai bahan baku untuk memshybuat serbuk kayu dan untuk membuat serbuk terse but dibutuhkan mesin pembuatnya Coba lihat gambar di bawah ini

Gambar 31lluslrnsi Proses Teks-Kode

Pad a gam bar di atas kit a bisa lihat proses kayu menjadi serbuk kayu Begitu juga halnya yang terjadi pada sistem penyandian Kayu adalah teks-asli sedangkan mesin adalah algoritma kriptografi sedangkan untuk proses pemshybuatan serbuk dibutuhkan aksi yang mana aksi adalah kunci dan serbuk kayu adalah teks-kode

Tahap-tahap proses kriptografi atau sistem penyandian adalah sebagai berikut

1 Dibutuhkan algoritma sebagai urutan dari langkah-langkah untuk melakukan

2 suatu nilai yang digunakan pada algoritma sehingga algoritma tersebut bisa bekerja

48 Pengantar IImu Kriptografi

~A~ 1 AlGORllMA KR1P10GRAfl KlAS1K

41 PENDAHUlUAN

Kriptografi sudah dipakai sejak empat abad yang lalu Perkembangan kripshytografi begitu pesat sampai sekarang Untuk mendapatkan pengertian bagaishymana suau algoritma kriptografi berkembang buku ini akan menelusuri satu per satu algoritma kriptografi klasik dari teknik subsitusi dan teknik transposisi Kriptografi klasik memiliki beberapa citi

1 berbasis karakter

2 menggunakan pena dan kertas saja belum ada komputer

3 termasuk ke dalam kriptografi kund sil1etri

Tiga alasan mempelajari algoritma klasik

I memahami konsep dasar kriptografi

2 dasar algoritma kriptografi modern

3 memahami kelemahan sistem kode

42 TEKNIK SUBSITUSI

Substitusi merupakan penggantian setiap karakter teks-asli dengan karakter lain

A

F

K

p c U X

50 51 Pengantar Ilmu Kriptografi

Terdapat empat istilah substimsi kode antara lain

1 Monoalphabec setiap karakter teks-kode menggantikan salah sam karakter teks-asli

2 Polyalphabec setiap karakter teks-kode dapat menggantikan lebih dari satu maeam karakter teks-asH

3 Monogral sam enkripsi dilakukan terhadlp satu karakter teks-asli

4 Polygraph sam enkripsi dilakukan terhadap lebih dari sam karakter teksshyash

421 KODE KAISAR

Subsitusi kode yang pertama dalam dunia penyanuian terjadi pada pemerinshytahan Yulius Caesar yang dikenal dengan kode Kaisar dengan mengganti posisi huruf awal dari alfabet atau disebut juga dengan algoritma ROT3

Caesar Cipher (ROT3)

Plain Text i----

Encoded Text -ABC DEF ----i

Hello Khoor

Attack DNWdfn-Seeara lebih detail eoba perhatikan eontah berikut

Q

23 24 25 - --

A B ( D E F G H I J K l M N 01 p II ~ 1 U V W X i Z

C I 2 j ~ 5 f I 8 ~ Ie 11 12 1J 14 liS 16 17 18 19 20 21 2l

Menjadi

u v w x ) Z A B

19 ZC 21 22 2J 24 25

Jika penggeseran yang dilakukan sebanyak tiga kali maka kunei untuk dekripsinya adalah 3 Penggeseran kunci yang dilakukan tergantung keinginan pengirim pesan Bisa saja kunei yang dipakai a 7 b 9 dan seterusnya

Algoritma Kriptografi Klasik

Contoh algoritma kode Kaisar Untuk teks-asH diberikan simbol P dan teksshykodenya He dan kunci K Jadi rumusnya dapat dibuat sebagai berikut

C=E(P) = (P+K) mod (26)

Pada eontoh di atas kita bisa memasukkan kunci dengan nilai tiga sehingga menjadi

C=E(P) = (P+3) mod (26)

Rumus dekripsinya menjadi seperti berikut

P = D(C) (C K) mod (26)

Dari eomoh di atas dengan memasukkan kunci tiga maka

P D(C) = (C 3) mod (26)

Jika diberikan teks-ash sebagai berikut

GEMPA YOGYA MENELAN KORBAN TIDAK SEDlKIT DAN SAMPAI SEKARANG MASIH MENYISAKAN TRAUMA BAGI ORANG-ORANG KOTAGUDEG

Dengan menggunakan kunci tiga maka akan didapat teks-kode berikut

JHPDBRJBDPHQHODQNRUEDQWLGDNVHGLNLWGDQVDPSDL VHND UDQJPHNDUDQJPHQBLVDNDQWUDPDEDJLRUDQJRUDQJNRWDJXG HJ

Kode Kaisar dipeeahkan dengan eara brute force attaCl suatu bentuk

serangan yang dilakukan dengan meneoba-eoba berbagai kemungkiuan

untuk menemukan kunei Bisa juga menggunakan exJlaustive key search karena jumlah kunei sangat sedikit (hanya ada 26 kunei) Meski sedikit kunei suatu kode eukup merepotkan kriptanalis karen a untuk menemukannya dengan brute foree attaek dibutuhkan waktu yang eukup lama

Ada cara lain yang dapat digunakan kriptanalis untuk memeeahkannya yaitu dengan melihat frekuensi kemuneulan huruf sepeni yang ditunjukkan tabel frekuensi kemuneulan huruf berikut ini

-52 Pengantar IImu Kriptografi

Tabel 4 I Frekuensi Kemunculan Huruf dalam Bahasa

Karakter A

Peluang 0082

Karakter N

Peluang 067

B 015 0 075 C 028 P 019 D 043 Q 001 E 127 R 060 F G

022

020 S T

063

09 H 061 U 02middotc~

I 070 V 010 I J

K 002 008

W X

023

001 L 040 Y 020 M 024 Z 001

Pada teks bahasa Indonesia yang paling sering muncul adalah 10 huruf pada tabel di bawah ini

Tabel 42 Sepuluh Huruf yang Sering Mun(ul dalam Bahasa Indonesia

Letter Frequency

kemunculan ()

A 1750

N 1030

I 870

E 750

K 565

T 510

R 460

0 450

S 450

M 450

Brute force attack juga digunakan untuk mencari password dan ID dari suatu sistem Pada serangan ini para penyerang mencoba beberapa kemungkinan yang ada dari daftar kata-kata yang ada di dalam kamus Umumnya serangan ini dapat berhasil hanya saja memerlukan waktu yang lama

A~()rmo Kr()~ro Koltlt 5~ ~ ~Listing program untuk mendekipsi me yang menggunakan kode Kaisar

file menggunakan Caesar cipher 1

sebagai berkas ma ukannbullbull middotmiddotbull

argv[lmiddotJ argvl2J I

1 Programdekr1psi

hneluda ltstdio hgt

main (int argo bull char argv[J)I

FILE Fin Foutj char p C int~n~ 1 It

Fin middotfop41n(argv[ll rb) if (Fin - NULL)

printt(Kesalahan dalam mmnbuka s Fout - fopen(arqv[2] Itwblf )

printt(noakripsi s manjadi nprintf(n) printf(tlk scant (d ampk) hil laquoc - lt]ltItc(Finraquo = EO) I P - (e - k) 256 pute (P Fout)

) feloe(Fin)

felos (~out) )

Pada sistem operasi Unix ROT13 adalah fungsi yang menggunakan kode Kaisar dengan pergeseran k = l3

13

t j ~ q j

ROTl~

Gombar 41 AJgorima R0T13

Sistem enkripsi pada unix dengan membagi alfabet n = 26 menjadi 13 sehingga satu huruf dengan huruf yang lain saling berhadapan Jika teksshyaslinya adalah A maka teks-kodenya adalah N Begitu seterusnya Notasi matematikanya dapat ditulis sebagai berikut

C = ROTl3 (M)

Untuk melakukan dekripsi dengan proses enkripsi ROTl3 dua kali

M = ROTl3 (ROT 13 (Mraquo

54 55

Pengantar IImu Kriptografi

ROT13 didesain untuk keamanan pada sistem operasi UNIX yang sering digunakan pada forum on-line berfungsi untuk menyelubungi isi artikel sehingga hanya orang yang berhak yang dapat membacanya Contoh proses

enkripsi ROTl3 danat dilihat di bawah ini

ENKRlJSI MENGGUNAKAN nonl

Gombar 42 Pro~e~ ROT13

Proses dekripsi

IROSES DEKlurSI ROTI3

PLAINTEXT

Gombar 43 Proses Dekrpsi ROfl3

Pada perkembangannya algoritma kode Kaisar memberikan suatu gagasan baru untuk menggunakan kunei lain yang disebut poly-alphabetic Kunci bisa jadi nama alamat atau apa saja yang diinginkan oleh pengirim pesan Coba

perhatikan contoh di bawah ini

Kode Kaisar dengan menggunakan satu kunci bisa disebut dengan substitusi deret campur kata kunei Yang perlu diingat tidak ada perulangan huruf dalam hal ini DONY ARlYUS menjadi DONY ARIUS Karena ada

pengulangan huruf Y maka huruf itu tidak dipakai lagi

Menggunakan satu kunei

Agoritma Kriptografi Kasik

Teks-asli MBAH MARIJAN SEKARANG SUDAH MENJADI ARTIS

Kunei MERAPI

Teks-kode JEMCJMQDFMKSPGMQMKBSUAMqPKFMADMQTDS

Menggunakan dua kunci

K1

Teks-asli BELAjAR KRIPTOGRAFI UNTUK MENGAMANKAN DATA

Kl DONY ARlYUS

K2 YOGY AKART A

Teks-kode IYKAOAFGFPDJBCFAMPLTJLGRYTCARATGATXAJA

Menggunakan lebih dari satu kunei

K2 1 1v 1 I 1 ~ 1I I I 1 I J

Kl

Kl GEMPA

K2 MBAH

K3 MERAPI

Teks-kode HJSFWFTFLFPFDOKFTUCRJLFSFOAFUTRJHUAFUFISUAF DWJSDHFLFTUCUIQFOU2007

56 Pengantar IImu Kriptografi

Dengan menggunakan lebih dari satu kunci bisa menggunakan metode pendistribusian kunci-kunci yang ada M(tode hi terdiri dari tiga bagian yaitu bIok karakter dan zig-zag

1 Blok

Metode untuk melakukan enkripsi dengan menggunakan blok adalah dengan membagi jumlah teks-asli menjadi blok-blok yang ditentukan tergantung dari keinginan pengirim pes an Coba perhatikan contoh di bawah ini

Teks-asH BANJIR MEREDAM JAKARTA HARGA BAHAN POKOK NAIK

Teks-asH di atas dibagi menjadi 8 blok Setiap blok berisi 6 karakter Karena blok yang ketujuh tidak mencukupi maka ditambah dengan karakter X atau karakter lain yang diinginkan

--_--- --_--- [MJAKAR] [TAHARGJ rABAHNl li~ I AIKXXX

Block 1 Block 2 Block 3 Block 4 Block 5 Illock 6 Block 7

KI

K2

KJ

Didapat teks-kode berikut

ODGBSI HKNKAY EllKCKN PDUDlI YOYBYI LJCJCH DSCXXX I I I I I I I I I

Kl K2 K3 K1 K2 K~ K1

Pad a contoh di atas Kl digunakan pada blok pertama K2 blok kedua K3 blok ketiga Begitu seterusnya Atau juga bisa dipakai untuk mengshy

enkripsi dua blok sekaligus dengan memakai satu kunci (Kl K2 atau K3) dan seterusnya Maka didapat hasil pendistribusian kunci untuk teks-kode sebagai berikut

ODGBSLHKNKA YEBKCKNPDUDLlYOYBYILJCJCHDSCXXX

~~ltaorimo ltxioltaro ltO( 57

Dengan menggunakan metode ini jika satu kunci ditemukan oleh kriptanalis belum tentu pesan bisa dipecahkan karena masih ada beberapa kunci lagi yang harus dicari

2 Karakter

Metode ini menggunakan pendistribusian per karakter hampir sama dengan metode biok Contoh pendistribusian per karakter adalah seperti di bawah ini

I I I I j TI-rIIJIIIIIlulIIAI~ILI_

K] I I - - r ITT I II n 1 I __ Iv ~ I I -ILD () N Y A n 1 T I lt Jl r r t -7 rr ow- _ _ _ __

10 K R J f T n r A r r r T bull bull bullbull

o Y Hll C N r K N A A K I D K C Y N PYA 0 N G

~j 1~u ~j 1~u ~j 1~u Jj 1~u K3 KJ KJ KJ K3 KJ KJ KJ

fjIqPll rIP]I KJ KJ KJ KJ KJ

3 Zig-zag

Pendistribusian dengan metode zig-zag dilakukan dengan menukarkan huruf asli dengan huruf yang sudah m~makai kunci (Kl) dan mencari huruf yang sama pada K2 dan K3 sehingga huruf yang menjadi teks-kode adalah huruf dari persamaan C = K3 dan sebaliknya Contoh

58 Pengantar IImu Kriptografi

Kli - I J bull bull I ~ vI ~ ~ t - t bull - U J - - m lt I - I - -I 1 - )

K21~~~1EI~ I ~ IFI~I J-I~I~lol IQlnls ITlulwlxlylz I

Dari teks-asH

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA

didapat teks-kode

FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK

422 KODE GESER

Teknik substitusi kode geser (shift) cengan modulus 26 memberikan angka ke setiap alfabet seperti a ~7 0 B ~7 1 Z ~7 25 Agar lebih jelas perhatikan comoh di bawah ini

A M

0 12

N 10 13 114

--- shyp Q R S T U V W X Y Z

15 16 17 18 19 20 21 22 23 24 25

Teks-asli We Will Meet at Mid Night

Kalimat di atas mendaoat angka dari setiap huruf sebagai berikut

22 4 22 8 II II 12 4 4 19 deg19 12 8 3 13 8 6 7 19

Untuk mendapatkan teks-kode kita mempunyai kunei 11 Dengan meshynambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4

Jqo~mo lttoq~o ltolt 59

Jika lebih dari 20 setelah ditambah dengan kunci maka akan dikurangi

dengan 26 Misalnya 22+11= 33 - 26 7 Setelah dikonversi menjadi huruf maka akan didapatkan teks-kode

HPHTWWXPPELEXTOYTRSE

Teks-asli We will meet at mid night

Teks-kode HPHTWWXPPELEXTOYTRSE

Kunci 11

423 KODE Hill

Kode Hill termasuk salah satu sistem kripto polialfabetik yang berarti karakter alfabet bisa dipetakan ke lebih dari satu maeam karakter Kode ini

ditemukan pada tahun 1929 oleh Lester S Hill Misalkan m adalah bilangan bulat positif dan P = C Ide dari kode Hill adalah dengan mengambil

m kombinasi linear dari m karakter alfabet dalam satu elemen teks-asli sehingga dihasilkan TIl alfabet karakter dalam saru elemen teks-asli

Misalkan m = 2 maka dapar ditulis suatu elemen teks-asli sebagai x = (XI X2)

dan suam elemen teks-kode sebagai y = (yl Y2) Oi sini yl yl adalah kombinasi linear dari XI dan X2 Misalkan

1 (jyl = llxl + 3X2

Ie j l y2 8xI + 7X2 dimlis dalam notasi matriks sebagai berikut

i) (jI11 811 j - q

(YIY2) (xx2 ) 3 shy -( o U S [( l -

Seeara umum dengan menggunakan matriks K m x m sebagai kunci

elemen pada baris i dan kolom j dari matriks K adalah kj maka dapat ditulis II [ cmiddot ( r

K (kJ Untuk x (XI Xm) E P dan K E K dihitung y eK(x) = (Yl ~ sebagai berikut -

kll 1 o

klmjk2J k2bull2 k2m Ii

(Y)Y2 (x) x2 X sS ~ ~ -

H

2

m

km 2 k~fTJ o

o

60 Pengantar IImu Kriptografi

dengan kat a lain y xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi

linear Untuk melakukan dekripsi menggunakan matriks inversi K-I dekripsi

dilakukan dengan rumus x =yK-

1 Perkalian matriks memiliki sifat asosiatif yaitu (AB)C A(BC)

2 Matriks identitas m x m yang ditulis dengan Im adalah matriks yang

berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya

Contoh matriks identitas 2 x 2

12 =

1m disebut dengan matriks identitas karena AIm A untuk sembarang

matriks I x m dan 1mB B untuk sembarang matriks m x n

3 Matriks inversi dari A (jika ada) adalah kl di mana AAmiddotI kA = 1m

Dengan menggunakan sifat-sifat matriks di atas maka

y xK

yKmiddotI (xK)KI = x(KKmiddotI) xlm X

Contoh

Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki

inversi pada Z26

fll 8)-1 l( 7 18) 3 7 23 11l

-

r A f

n~ Karena

III ~J (3 1 =(117+823 l118+8I1J

l3 37+723 318+711 II 261 2861

( 182 131) i

=(~ 1

Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26

~ AgorHmo Kriptogroti Kosik 61

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill

Misalkan kunci yang dipakai adalah

K=C ~) Dari perhitungan di atas diperoleh bahwa

K-I =( 7 18J 23 11

Misalkan untuk mengenkripsi teks-asli JULY ada 2 elemen teks-asli untuk dienkripsi

1 (920) ~

2 (11 24) ~ L Y

Kemudian lakukan perhitungan berikut

11 81 (9 20) ( 3 7j =(99+60 72+140) (3 4) ~ DE

dan

(11 8)(11 bull 24) 3 7 (121+72 88+168)=(11 22) ~ LW

sehingga enkripsi untuk JULY adalah DELW

Untuk mendekripsi dilakukan dengan cara

7 18)(3 4) 23 11 (9(

dan i

(11 =(11 bull 24)bull 223 -)

sehingga teks-asli diperoleh kern bali

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi Suatu

matriks K memiliki inversi jika dan hanya jika determinannya tidak no

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 2: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

45 44 Pengantar Ilmu Kriptografi

Keamanan dari algoritma kriptografi tergantung pad a bagairnana algoritma

itu bekerja Oleh sebab itu algoritma semacam ini disebut dengan algoritma

terbatas Algoritma terbatas merupakan algoritma yang dipakai sekelompok

orang untuk merahasiakan pesan yang mereka kirim Jika salah satu dari

anggota kelompok itu keluar dari kelompoknya maka algoritma yang dipakai

diganti dengan yang baru Jika tidak maka hal itu bisa menjadi masalah dl

kemudian hari

Keamanan dari kriptografi modern didapat dengan merahasiakan kunci yang

dimiliki dari orang lain tanpa harus merahasiakan algoritma itu sendiri

Kunci memiliki fungsi yang sarna dengan password Jika keseluruhan dari

keamanan algoritma tergantung pada kunci yang dipakai maka algoritma ini

bisa dipubliskasikan dan dianalisis oleh orang lain Jika algoritma yang telah

dipublikasikan bisa dipecahkan dalam waktu singkat oleh orang lain maka

berarti algoritma tersebut tidaklah aman untuk digunakan Pada pembahasan

berikutnya akan dijelaskan berbagai macam algoritma kriptografi yang

pernah ada

32 MACAM-MACAM ALGORITMA KRIPTOGRAFI

Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang

dipakainya

1 Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan dekripshy

sinya)

2 Algoritma Asimetri (menggunakan kunci yang berbeda ulltuk enkripsi dan dekripsi)

3 Hash Function

321 ALGORITMA SIMETRI

Algoritma ini sering disebut dengan algoritma klasik karena memakai kunci

yang sarna untuk kegiatan enkripsi dan dekripsi Algoritma ini sudah ada

sejak lebih dari 4000 tahun yang lalu Bila mengirim pes an dengan mengshy

gunakan algoritma ini si penerima pesan harus diberitahu kunci dari pesan

tersebut agar bisa mendekripsikan pesan yang dikirim Keamanan dari pesan

yang menggunakan algoritma ini tergantung pada kunci Jika kunci tersebut

diketahui oleh orang lain maka orang rersebut akan dapat melakukan

Algoritma Kriptografi

enkripsi dan dekripsi terhadap pesan Algoritma yang memakai kunci simetri di antaranya adalah

1 Dita Encryption Standard (DES)

2 RC2 RC4 RCS RC6

3 International Data Encryption Algorithm (IDEA)

4 Advanced Encryption Standard (AES)

5 One Time Pad (OTP)

6 AS dan lain sebagainya

322 ALGORITMA ASIMETRI

Algoritma asimetri sering juga disebut dengan algoritma kunci publik

dengan ani kata kllnci yang digunakan untuk melakukan enkripsi dan

dekripsi berbeda Pada algoritma asimetri kunci terbagi menjadi dua bagian yaitu

1 Kunci umum (public key) Kunci yang boleh semua orang tahu (dipublikasikan)

2 Kunci rahasia (private key) Kunci yang dirahasiakan (hanya boleh diketahui oleh satu orang)

Kunci-kunci tersebut berhubungan satll sarna lain Dengan kunci publik

orang dapat mengenkripsi pesan tetapi tidak bisa mendekripsinya Hanya

orang yang memiliki kunci rahasia yang dapat mendekripsi pesan terse but Algoritma asimetri bisa mengirimkan pesan dengan lebih aman daripada

algoritma simetri Contoh Bob mengirim pesan ke Alice menggunakan algoritma asimetri Hal yang harus dilakukan adalah

1 Bob memberitahukan kunci publiknya ke Alice

2 Alice mengenkripsi pesan dengan menggunakan kunci publik Bob

3 Bob mendeuipsi pesan dari Alice dengan kunci rahasianya

4 Begitu juga sebaliknya jika Bob ingin mengirim pesan ke Alice

46 Pengantar IImu Kriptografi

Algoritma yang memakai kunci publik di antaranya adalah

1 Digital Signature Algorithm (DSA)

2 RSA

3 Diffie-Hellman (DH)

4 Elliptic Curve Cryptography (ECC)

5 Kriptografi Quantum dan lain sebagainya

323 FUNGSJ HASH

Fungsi Hash disebut dengan fungsi Hash saru arah (one-way function) message digest fingerprint fungsi kompresi dan message authentication code

merupakan suatu fungsi matematika yang mengambil masukan panjang variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap Fungsi Hash biasanya diperlukan bila ingin membuat sidik jari dari suatu pesan Sidik jari pada pesan merupakan suaru tanda bahwa pesan tersebut benar-benar berasal dari orang yang diinginkan Tentang hal ini akan dibahas lebih laniut bagian hoYL-~

33 KRIPTOGRAFI KLASIK

Kriptografi klasik merupakan suaru algoritma yang menggunakan satu kunci untuk mengamankan data Teknik ini sudah digunakan beberapa abad yang lalu Dua teknik dasar yang biasa digunakan pada algoritma jenis ini adalah sebagai berikut

1 Teknik substitusi Penggantian setiap karakter teks-asli dengan karakter lain

2 Teknik transposisi (permutasi) Dilakukan dengan menggunakan pershymutasi karakter

34 KRIPTOGRAFI MODERN

Kriptografi modern mempunyai kerumitan yang sangat kompleks karena dioperasikan menggunakan komputer Hal ini akan dibahas lebih detail bagian lain

Agorilmo Kriptogrofi 47

35 PROSES PENGKODEAN

Cara kerja sistem penyandian sangat sederhana bisa dianalogikan dengan kayu mesin serbuk kayu Kayu digunakan sebagai bahan baku untuk memshybuat serbuk kayu dan untuk membuat serbuk terse but dibutuhkan mesin pembuatnya Coba lihat gambar di bawah ini

Gambar 31lluslrnsi Proses Teks-Kode

Pad a gam bar di atas kit a bisa lihat proses kayu menjadi serbuk kayu Begitu juga halnya yang terjadi pada sistem penyandian Kayu adalah teks-asli sedangkan mesin adalah algoritma kriptografi sedangkan untuk proses pemshybuatan serbuk dibutuhkan aksi yang mana aksi adalah kunci dan serbuk kayu adalah teks-kode

Tahap-tahap proses kriptografi atau sistem penyandian adalah sebagai berikut

1 Dibutuhkan algoritma sebagai urutan dari langkah-langkah untuk melakukan

2 suatu nilai yang digunakan pada algoritma sehingga algoritma tersebut bisa bekerja

48 Pengantar IImu Kriptografi

~A~ 1 AlGORllMA KR1P10GRAfl KlAS1K

41 PENDAHUlUAN

Kriptografi sudah dipakai sejak empat abad yang lalu Perkembangan kripshytografi begitu pesat sampai sekarang Untuk mendapatkan pengertian bagaishymana suau algoritma kriptografi berkembang buku ini akan menelusuri satu per satu algoritma kriptografi klasik dari teknik subsitusi dan teknik transposisi Kriptografi klasik memiliki beberapa citi

1 berbasis karakter

2 menggunakan pena dan kertas saja belum ada komputer

3 termasuk ke dalam kriptografi kund sil1etri

Tiga alasan mempelajari algoritma klasik

I memahami konsep dasar kriptografi

2 dasar algoritma kriptografi modern

3 memahami kelemahan sistem kode

42 TEKNIK SUBSITUSI

Substitusi merupakan penggantian setiap karakter teks-asli dengan karakter lain

A

F

K

p c U X

50 51 Pengantar Ilmu Kriptografi

Terdapat empat istilah substimsi kode antara lain

1 Monoalphabec setiap karakter teks-kode menggantikan salah sam karakter teks-asli

2 Polyalphabec setiap karakter teks-kode dapat menggantikan lebih dari satu maeam karakter teks-asH

3 Monogral sam enkripsi dilakukan terhadlp satu karakter teks-asli

4 Polygraph sam enkripsi dilakukan terhadap lebih dari sam karakter teksshyash

421 KODE KAISAR

Subsitusi kode yang pertama dalam dunia penyanuian terjadi pada pemerinshytahan Yulius Caesar yang dikenal dengan kode Kaisar dengan mengganti posisi huruf awal dari alfabet atau disebut juga dengan algoritma ROT3

Caesar Cipher (ROT3)

Plain Text i----

Encoded Text -ABC DEF ----i

Hello Khoor

Attack DNWdfn-Seeara lebih detail eoba perhatikan eontah berikut

Q

23 24 25 - --

A B ( D E F G H I J K l M N 01 p II ~ 1 U V W X i Z

C I 2 j ~ 5 f I 8 ~ Ie 11 12 1J 14 liS 16 17 18 19 20 21 2l

Menjadi

u v w x ) Z A B

19 ZC 21 22 2J 24 25

Jika penggeseran yang dilakukan sebanyak tiga kali maka kunei untuk dekripsinya adalah 3 Penggeseran kunci yang dilakukan tergantung keinginan pengirim pesan Bisa saja kunei yang dipakai a 7 b 9 dan seterusnya

Algoritma Kriptografi Klasik

Contoh algoritma kode Kaisar Untuk teks-asH diberikan simbol P dan teksshykodenya He dan kunci K Jadi rumusnya dapat dibuat sebagai berikut

C=E(P) = (P+K) mod (26)

Pada eontoh di atas kita bisa memasukkan kunci dengan nilai tiga sehingga menjadi

C=E(P) = (P+3) mod (26)

Rumus dekripsinya menjadi seperti berikut

P = D(C) (C K) mod (26)

Dari eomoh di atas dengan memasukkan kunci tiga maka

P D(C) = (C 3) mod (26)

Jika diberikan teks-ash sebagai berikut

GEMPA YOGYA MENELAN KORBAN TIDAK SEDlKIT DAN SAMPAI SEKARANG MASIH MENYISAKAN TRAUMA BAGI ORANG-ORANG KOTAGUDEG

Dengan menggunakan kunci tiga maka akan didapat teks-kode berikut

JHPDBRJBDPHQHODQNRUEDQWLGDNVHGLNLWGDQVDPSDL VHND UDQJPHNDUDQJPHQBLVDNDQWUDPDEDJLRUDQJRUDQJNRWDJXG HJ

Kode Kaisar dipeeahkan dengan eara brute force attaCl suatu bentuk

serangan yang dilakukan dengan meneoba-eoba berbagai kemungkiuan

untuk menemukan kunei Bisa juga menggunakan exJlaustive key search karena jumlah kunei sangat sedikit (hanya ada 26 kunei) Meski sedikit kunei suatu kode eukup merepotkan kriptanalis karen a untuk menemukannya dengan brute foree attaek dibutuhkan waktu yang eukup lama

Ada cara lain yang dapat digunakan kriptanalis untuk memeeahkannya yaitu dengan melihat frekuensi kemuneulan huruf sepeni yang ditunjukkan tabel frekuensi kemuneulan huruf berikut ini

-52 Pengantar IImu Kriptografi

Tabel 4 I Frekuensi Kemunculan Huruf dalam Bahasa

Karakter A

Peluang 0082

Karakter N

Peluang 067

B 015 0 075 C 028 P 019 D 043 Q 001 E 127 R 060 F G

022

020 S T

063

09 H 061 U 02middotc~

I 070 V 010 I J

K 002 008

W X

023

001 L 040 Y 020 M 024 Z 001

Pada teks bahasa Indonesia yang paling sering muncul adalah 10 huruf pada tabel di bawah ini

Tabel 42 Sepuluh Huruf yang Sering Mun(ul dalam Bahasa Indonesia

Letter Frequency

kemunculan ()

A 1750

N 1030

I 870

E 750

K 565

T 510

R 460

0 450

S 450

M 450

Brute force attack juga digunakan untuk mencari password dan ID dari suatu sistem Pada serangan ini para penyerang mencoba beberapa kemungkinan yang ada dari daftar kata-kata yang ada di dalam kamus Umumnya serangan ini dapat berhasil hanya saja memerlukan waktu yang lama

A~()rmo Kr()~ro Koltlt 5~ ~ ~Listing program untuk mendekipsi me yang menggunakan kode Kaisar

file menggunakan Caesar cipher 1

sebagai berkas ma ukannbullbull middotmiddotbull

argv[lmiddotJ argvl2J I

1 Programdekr1psi

hneluda ltstdio hgt

main (int argo bull char argv[J)I

FILE Fin Foutj char p C int~n~ 1 It

Fin middotfop41n(argv[ll rb) if (Fin - NULL)

printt(Kesalahan dalam mmnbuka s Fout - fopen(arqv[2] Itwblf )

printt(noakripsi s manjadi nprintf(n) printf(tlk scant (d ampk) hil laquoc - lt]ltItc(Finraquo = EO) I P - (e - k) 256 pute (P Fout)

) feloe(Fin)

felos (~out) )

Pada sistem operasi Unix ROT13 adalah fungsi yang menggunakan kode Kaisar dengan pergeseran k = l3

13

t j ~ q j

ROTl~

Gombar 41 AJgorima R0T13

Sistem enkripsi pada unix dengan membagi alfabet n = 26 menjadi 13 sehingga satu huruf dengan huruf yang lain saling berhadapan Jika teksshyaslinya adalah A maka teks-kodenya adalah N Begitu seterusnya Notasi matematikanya dapat ditulis sebagai berikut

C = ROTl3 (M)

Untuk melakukan dekripsi dengan proses enkripsi ROTl3 dua kali

M = ROTl3 (ROT 13 (Mraquo

54 55

Pengantar IImu Kriptografi

ROT13 didesain untuk keamanan pada sistem operasi UNIX yang sering digunakan pada forum on-line berfungsi untuk menyelubungi isi artikel sehingga hanya orang yang berhak yang dapat membacanya Contoh proses

enkripsi ROTl3 danat dilihat di bawah ini

ENKRlJSI MENGGUNAKAN nonl

Gombar 42 Pro~e~ ROT13

Proses dekripsi

IROSES DEKlurSI ROTI3

PLAINTEXT

Gombar 43 Proses Dekrpsi ROfl3

Pada perkembangannya algoritma kode Kaisar memberikan suatu gagasan baru untuk menggunakan kunei lain yang disebut poly-alphabetic Kunci bisa jadi nama alamat atau apa saja yang diinginkan oleh pengirim pesan Coba

perhatikan contoh di bawah ini

Kode Kaisar dengan menggunakan satu kunci bisa disebut dengan substitusi deret campur kata kunei Yang perlu diingat tidak ada perulangan huruf dalam hal ini DONY ARlYUS menjadi DONY ARIUS Karena ada

pengulangan huruf Y maka huruf itu tidak dipakai lagi

Menggunakan satu kunei

Agoritma Kriptografi Kasik

Teks-asli MBAH MARIJAN SEKARANG SUDAH MENJADI ARTIS

Kunei MERAPI

Teks-kode JEMCJMQDFMKSPGMQMKBSUAMqPKFMADMQTDS

Menggunakan dua kunci

K1

Teks-asli BELAjAR KRIPTOGRAFI UNTUK MENGAMANKAN DATA

Kl DONY ARlYUS

K2 YOGY AKART A

Teks-kode IYKAOAFGFPDJBCFAMPLTJLGRYTCARATGATXAJA

Menggunakan lebih dari satu kunei

K2 1 1v 1 I 1 ~ 1I I I 1 I J

Kl

Kl GEMPA

K2 MBAH

K3 MERAPI

Teks-kode HJSFWFTFLFPFDOKFTUCRJLFSFOAFUTRJHUAFUFISUAF DWJSDHFLFTUCUIQFOU2007

56 Pengantar IImu Kriptografi

Dengan menggunakan lebih dari satu kunci bisa menggunakan metode pendistribusian kunci-kunci yang ada M(tode hi terdiri dari tiga bagian yaitu bIok karakter dan zig-zag

1 Blok

Metode untuk melakukan enkripsi dengan menggunakan blok adalah dengan membagi jumlah teks-asli menjadi blok-blok yang ditentukan tergantung dari keinginan pengirim pes an Coba perhatikan contoh di bawah ini

Teks-asH BANJIR MEREDAM JAKARTA HARGA BAHAN POKOK NAIK

Teks-asH di atas dibagi menjadi 8 blok Setiap blok berisi 6 karakter Karena blok yang ketujuh tidak mencukupi maka ditambah dengan karakter X atau karakter lain yang diinginkan

--_--- --_--- [MJAKAR] [TAHARGJ rABAHNl li~ I AIKXXX

Block 1 Block 2 Block 3 Block 4 Block 5 Illock 6 Block 7

KI

K2

KJ

Didapat teks-kode berikut

ODGBSI HKNKAY EllKCKN PDUDlI YOYBYI LJCJCH DSCXXX I I I I I I I I I

Kl K2 K3 K1 K2 K~ K1

Pad a contoh di atas Kl digunakan pada blok pertama K2 blok kedua K3 blok ketiga Begitu seterusnya Atau juga bisa dipakai untuk mengshy

enkripsi dua blok sekaligus dengan memakai satu kunci (Kl K2 atau K3) dan seterusnya Maka didapat hasil pendistribusian kunci untuk teks-kode sebagai berikut

ODGBSLHKNKA YEBKCKNPDUDLlYOYBYILJCJCHDSCXXX

~~ltaorimo ltxioltaro ltO( 57

Dengan menggunakan metode ini jika satu kunci ditemukan oleh kriptanalis belum tentu pesan bisa dipecahkan karena masih ada beberapa kunci lagi yang harus dicari

2 Karakter

Metode ini menggunakan pendistribusian per karakter hampir sama dengan metode biok Contoh pendistribusian per karakter adalah seperti di bawah ini

I I I I j TI-rIIJIIIIIlulIIAI~ILI_

K] I I - - r ITT I II n 1 I __ Iv ~ I I -ILD () N Y A n 1 T I lt Jl r r t -7 rr ow- _ _ _ __

10 K R J f T n r A r r r T bull bull bullbull

o Y Hll C N r K N A A K I D K C Y N PYA 0 N G

~j 1~u ~j 1~u ~j 1~u Jj 1~u K3 KJ KJ KJ K3 KJ KJ KJ

fjIqPll rIP]I KJ KJ KJ KJ KJ

3 Zig-zag

Pendistribusian dengan metode zig-zag dilakukan dengan menukarkan huruf asli dengan huruf yang sudah m~makai kunci (Kl) dan mencari huruf yang sama pada K2 dan K3 sehingga huruf yang menjadi teks-kode adalah huruf dari persamaan C = K3 dan sebaliknya Contoh

58 Pengantar IImu Kriptografi

Kli - I J bull bull I ~ vI ~ ~ t - t bull - U J - - m lt I - I - -I 1 - )

K21~~~1EI~ I ~ IFI~I J-I~I~lol IQlnls ITlulwlxlylz I

Dari teks-asH

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA

didapat teks-kode

FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK

422 KODE GESER

Teknik substitusi kode geser (shift) cengan modulus 26 memberikan angka ke setiap alfabet seperti a ~7 0 B ~7 1 Z ~7 25 Agar lebih jelas perhatikan comoh di bawah ini

A M

0 12

N 10 13 114

--- shyp Q R S T U V W X Y Z

15 16 17 18 19 20 21 22 23 24 25

Teks-asli We Will Meet at Mid Night

Kalimat di atas mendaoat angka dari setiap huruf sebagai berikut

22 4 22 8 II II 12 4 4 19 deg19 12 8 3 13 8 6 7 19

Untuk mendapatkan teks-kode kita mempunyai kunei 11 Dengan meshynambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4

Jqo~mo lttoq~o ltolt 59

Jika lebih dari 20 setelah ditambah dengan kunci maka akan dikurangi

dengan 26 Misalnya 22+11= 33 - 26 7 Setelah dikonversi menjadi huruf maka akan didapatkan teks-kode

HPHTWWXPPELEXTOYTRSE

Teks-asli We will meet at mid night

Teks-kode HPHTWWXPPELEXTOYTRSE

Kunci 11

423 KODE Hill

Kode Hill termasuk salah satu sistem kripto polialfabetik yang berarti karakter alfabet bisa dipetakan ke lebih dari satu maeam karakter Kode ini

ditemukan pada tahun 1929 oleh Lester S Hill Misalkan m adalah bilangan bulat positif dan P = C Ide dari kode Hill adalah dengan mengambil

m kombinasi linear dari m karakter alfabet dalam satu elemen teks-asli sehingga dihasilkan TIl alfabet karakter dalam saru elemen teks-asli

Misalkan m = 2 maka dapar ditulis suatu elemen teks-asli sebagai x = (XI X2)

dan suam elemen teks-kode sebagai y = (yl Y2) Oi sini yl yl adalah kombinasi linear dari XI dan X2 Misalkan

1 (jyl = llxl + 3X2

Ie j l y2 8xI + 7X2 dimlis dalam notasi matriks sebagai berikut

i) (jI11 811 j - q

(YIY2) (xx2 ) 3 shy -( o U S [( l -

Seeara umum dengan menggunakan matriks K m x m sebagai kunci

elemen pada baris i dan kolom j dari matriks K adalah kj maka dapat ditulis II [ cmiddot ( r

K (kJ Untuk x (XI Xm) E P dan K E K dihitung y eK(x) = (Yl ~ sebagai berikut -

kll 1 o

klmjk2J k2bull2 k2m Ii

(Y)Y2 (x) x2 X sS ~ ~ -

H

2

m

km 2 k~fTJ o

o

60 Pengantar IImu Kriptografi

dengan kat a lain y xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi

linear Untuk melakukan dekripsi menggunakan matriks inversi K-I dekripsi

dilakukan dengan rumus x =yK-

1 Perkalian matriks memiliki sifat asosiatif yaitu (AB)C A(BC)

2 Matriks identitas m x m yang ditulis dengan Im adalah matriks yang

berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya

Contoh matriks identitas 2 x 2

12 =

1m disebut dengan matriks identitas karena AIm A untuk sembarang

matriks I x m dan 1mB B untuk sembarang matriks m x n

3 Matriks inversi dari A (jika ada) adalah kl di mana AAmiddotI kA = 1m

Dengan menggunakan sifat-sifat matriks di atas maka

y xK

yKmiddotI (xK)KI = x(KKmiddotI) xlm X

Contoh

Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki

inversi pada Z26

fll 8)-1 l( 7 18) 3 7 23 11l

-

r A f

n~ Karena

III ~J (3 1 =(117+823 l118+8I1J

l3 37+723 318+711 II 261 2861

( 182 131) i

=(~ 1

Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26

~ AgorHmo Kriptogroti Kosik 61

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill

Misalkan kunci yang dipakai adalah

K=C ~) Dari perhitungan di atas diperoleh bahwa

K-I =( 7 18J 23 11

Misalkan untuk mengenkripsi teks-asli JULY ada 2 elemen teks-asli untuk dienkripsi

1 (920) ~

2 (11 24) ~ L Y

Kemudian lakukan perhitungan berikut

11 81 (9 20) ( 3 7j =(99+60 72+140) (3 4) ~ DE

dan

(11 8)(11 bull 24) 3 7 (121+72 88+168)=(11 22) ~ LW

sehingga enkripsi untuk JULY adalah DELW

Untuk mendekripsi dilakukan dengan cara

7 18)(3 4) 23 11 (9(

dan i

(11 =(11 bull 24)bull 223 -)

sehingga teks-asli diperoleh kern bali

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi Suatu

matriks K memiliki inversi jika dan hanya jika determinannya tidak no

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 3: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

46 Pengantar IImu Kriptografi

Algoritma yang memakai kunci publik di antaranya adalah

1 Digital Signature Algorithm (DSA)

2 RSA

3 Diffie-Hellman (DH)

4 Elliptic Curve Cryptography (ECC)

5 Kriptografi Quantum dan lain sebagainya

323 FUNGSJ HASH

Fungsi Hash disebut dengan fungsi Hash saru arah (one-way function) message digest fingerprint fungsi kompresi dan message authentication code

merupakan suatu fungsi matematika yang mengambil masukan panjang variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap Fungsi Hash biasanya diperlukan bila ingin membuat sidik jari dari suatu pesan Sidik jari pada pesan merupakan suaru tanda bahwa pesan tersebut benar-benar berasal dari orang yang diinginkan Tentang hal ini akan dibahas lebih laniut bagian hoYL-~

33 KRIPTOGRAFI KLASIK

Kriptografi klasik merupakan suaru algoritma yang menggunakan satu kunci untuk mengamankan data Teknik ini sudah digunakan beberapa abad yang lalu Dua teknik dasar yang biasa digunakan pada algoritma jenis ini adalah sebagai berikut

1 Teknik substitusi Penggantian setiap karakter teks-asli dengan karakter lain

2 Teknik transposisi (permutasi) Dilakukan dengan menggunakan pershymutasi karakter

34 KRIPTOGRAFI MODERN

Kriptografi modern mempunyai kerumitan yang sangat kompleks karena dioperasikan menggunakan komputer Hal ini akan dibahas lebih detail bagian lain

Agorilmo Kriptogrofi 47

35 PROSES PENGKODEAN

Cara kerja sistem penyandian sangat sederhana bisa dianalogikan dengan kayu mesin serbuk kayu Kayu digunakan sebagai bahan baku untuk memshybuat serbuk kayu dan untuk membuat serbuk terse but dibutuhkan mesin pembuatnya Coba lihat gambar di bawah ini

Gambar 31lluslrnsi Proses Teks-Kode

Pad a gam bar di atas kit a bisa lihat proses kayu menjadi serbuk kayu Begitu juga halnya yang terjadi pada sistem penyandian Kayu adalah teks-asli sedangkan mesin adalah algoritma kriptografi sedangkan untuk proses pemshybuatan serbuk dibutuhkan aksi yang mana aksi adalah kunci dan serbuk kayu adalah teks-kode

Tahap-tahap proses kriptografi atau sistem penyandian adalah sebagai berikut

1 Dibutuhkan algoritma sebagai urutan dari langkah-langkah untuk melakukan

2 suatu nilai yang digunakan pada algoritma sehingga algoritma tersebut bisa bekerja

48 Pengantar IImu Kriptografi

~A~ 1 AlGORllMA KR1P10GRAfl KlAS1K

41 PENDAHUlUAN

Kriptografi sudah dipakai sejak empat abad yang lalu Perkembangan kripshytografi begitu pesat sampai sekarang Untuk mendapatkan pengertian bagaishymana suau algoritma kriptografi berkembang buku ini akan menelusuri satu per satu algoritma kriptografi klasik dari teknik subsitusi dan teknik transposisi Kriptografi klasik memiliki beberapa citi

1 berbasis karakter

2 menggunakan pena dan kertas saja belum ada komputer

3 termasuk ke dalam kriptografi kund sil1etri

Tiga alasan mempelajari algoritma klasik

I memahami konsep dasar kriptografi

2 dasar algoritma kriptografi modern

3 memahami kelemahan sistem kode

42 TEKNIK SUBSITUSI

Substitusi merupakan penggantian setiap karakter teks-asli dengan karakter lain

A

F

K

p c U X

50 51 Pengantar Ilmu Kriptografi

Terdapat empat istilah substimsi kode antara lain

1 Monoalphabec setiap karakter teks-kode menggantikan salah sam karakter teks-asli

2 Polyalphabec setiap karakter teks-kode dapat menggantikan lebih dari satu maeam karakter teks-asH

3 Monogral sam enkripsi dilakukan terhadlp satu karakter teks-asli

4 Polygraph sam enkripsi dilakukan terhadap lebih dari sam karakter teksshyash

421 KODE KAISAR

Subsitusi kode yang pertama dalam dunia penyanuian terjadi pada pemerinshytahan Yulius Caesar yang dikenal dengan kode Kaisar dengan mengganti posisi huruf awal dari alfabet atau disebut juga dengan algoritma ROT3

Caesar Cipher (ROT3)

Plain Text i----

Encoded Text -ABC DEF ----i

Hello Khoor

Attack DNWdfn-Seeara lebih detail eoba perhatikan eontah berikut

Q

23 24 25 - --

A B ( D E F G H I J K l M N 01 p II ~ 1 U V W X i Z

C I 2 j ~ 5 f I 8 ~ Ie 11 12 1J 14 liS 16 17 18 19 20 21 2l

Menjadi

u v w x ) Z A B

19 ZC 21 22 2J 24 25

Jika penggeseran yang dilakukan sebanyak tiga kali maka kunei untuk dekripsinya adalah 3 Penggeseran kunci yang dilakukan tergantung keinginan pengirim pesan Bisa saja kunei yang dipakai a 7 b 9 dan seterusnya

Algoritma Kriptografi Klasik

Contoh algoritma kode Kaisar Untuk teks-asH diberikan simbol P dan teksshykodenya He dan kunci K Jadi rumusnya dapat dibuat sebagai berikut

C=E(P) = (P+K) mod (26)

Pada eontoh di atas kita bisa memasukkan kunci dengan nilai tiga sehingga menjadi

C=E(P) = (P+3) mod (26)

Rumus dekripsinya menjadi seperti berikut

P = D(C) (C K) mod (26)

Dari eomoh di atas dengan memasukkan kunci tiga maka

P D(C) = (C 3) mod (26)

Jika diberikan teks-ash sebagai berikut

GEMPA YOGYA MENELAN KORBAN TIDAK SEDlKIT DAN SAMPAI SEKARANG MASIH MENYISAKAN TRAUMA BAGI ORANG-ORANG KOTAGUDEG

Dengan menggunakan kunci tiga maka akan didapat teks-kode berikut

JHPDBRJBDPHQHODQNRUEDQWLGDNVHGLNLWGDQVDPSDL VHND UDQJPHNDUDQJPHQBLVDNDQWUDPDEDJLRUDQJRUDQJNRWDJXG HJ

Kode Kaisar dipeeahkan dengan eara brute force attaCl suatu bentuk

serangan yang dilakukan dengan meneoba-eoba berbagai kemungkiuan

untuk menemukan kunei Bisa juga menggunakan exJlaustive key search karena jumlah kunei sangat sedikit (hanya ada 26 kunei) Meski sedikit kunei suatu kode eukup merepotkan kriptanalis karen a untuk menemukannya dengan brute foree attaek dibutuhkan waktu yang eukup lama

Ada cara lain yang dapat digunakan kriptanalis untuk memeeahkannya yaitu dengan melihat frekuensi kemuneulan huruf sepeni yang ditunjukkan tabel frekuensi kemuneulan huruf berikut ini

-52 Pengantar IImu Kriptografi

Tabel 4 I Frekuensi Kemunculan Huruf dalam Bahasa

Karakter A

Peluang 0082

Karakter N

Peluang 067

B 015 0 075 C 028 P 019 D 043 Q 001 E 127 R 060 F G

022

020 S T

063

09 H 061 U 02middotc~

I 070 V 010 I J

K 002 008

W X

023

001 L 040 Y 020 M 024 Z 001

Pada teks bahasa Indonesia yang paling sering muncul adalah 10 huruf pada tabel di bawah ini

Tabel 42 Sepuluh Huruf yang Sering Mun(ul dalam Bahasa Indonesia

Letter Frequency

kemunculan ()

A 1750

N 1030

I 870

E 750

K 565

T 510

R 460

0 450

S 450

M 450

Brute force attack juga digunakan untuk mencari password dan ID dari suatu sistem Pada serangan ini para penyerang mencoba beberapa kemungkinan yang ada dari daftar kata-kata yang ada di dalam kamus Umumnya serangan ini dapat berhasil hanya saja memerlukan waktu yang lama

A~()rmo Kr()~ro Koltlt 5~ ~ ~Listing program untuk mendekipsi me yang menggunakan kode Kaisar

file menggunakan Caesar cipher 1

sebagai berkas ma ukannbullbull middotmiddotbull

argv[lmiddotJ argvl2J I

1 Programdekr1psi

hneluda ltstdio hgt

main (int argo bull char argv[J)I

FILE Fin Foutj char p C int~n~ 1 It

Fin middotfop41n(argv[ll rb) if (Fin - NULL)

printt(Kesalahan dalam mmnbuka s Fout - fopen(arqv[2] Itwblf )

printt(noakripsi s manjadi nprintf(n) printf(tlk scant (d ampk) hil laquoc - lt]ltItc(Finraquo = EO) I P - (e - k) 256 pute (P Fout)

) feloe(Fin)

felos (~out) )

Pada sistem operasi Unix ROT13 adalah fungsi yang menggunakan kode Kaisar dengan pergeseran k = l3

13

t j ~ q j

ROTl~

Gombar 41 AJgorima R0T13

Sistem enkripsi pada unix dengan membagi alfabet n = 26 menjadi 13 sehingga satu huruf dengan huruf yang lain saling berhadapan Jika teksshyaslinya adalah A maka teks-kodenya adalah N Begitu seterusnya Notasi matematikanya dapat ditulis sebagai berikut

C = ROTl3 (M)

Untuk melakukan dekripsi dengan proses enkripsi ROTl3 dua kali

M = ROTl3 (ROT 13 (Mraquo

54 55

Pengantar IImu Kriptografi

ROT13 didesain untuk keamanan pada sistem operasi UNIX yang sering digunakan pada forum on-line berfungsi untuk menyelubungi isi artikel sehingga hanya orang yang berhak yang dapat membacanya Contoh proses

enkripsi ROTl3 danat dilihat di bawah ini

ENKRlJSI MENGGUNAKAN nonl

Gombar 42 Pro~e~ ROT13

Proses dekripsi

IROSES DEKlurSI ROTI3

PLAINTEXT

Gombar 43 Proses Dekrpsi ROfl3

Pada perkembangannya algoritma kode Kaisar memberikan suatu gagasan baru untuk menggunakan kunei lain yang disebut poly-alphabetic Kunci bisa jadi nama alamat atau apa saja yang diinginkan oleh pengirim pesan Coba

perhatikan contoh di bawah ini

Kode Kaisar dengan menggunakan satu kunci bisa disebut dengan substitusi deret campur kata kunei Yang perlu diingat tidak ada perulangan huruf dalam hal ini DONY ARlYUS menjadi DONY ARIUS Karena ada

pengulangan huruf Y maka huruf itu tidak dipakai lagi

Menggunakan satu kunei

Agoritma Kriptografi Kasik

Teks-asli MBAH MARIJAN SEKARANG SUDAH MENJADI ARTIS

Kunei MERAPI

Teks-kode JEMCJMQDFMKSPGMQMKBSUAMqPKFMADMQTDS

Menggunakan dua kunci

K1

Teks-asli BELAjAR KRIPTOGRAFI UNTUK MENGAMANKAN DATA

Kl DONY ARlYUS

K2 YOGY AKART A

Teks-kode IYKAOAFGFPDJBCFAMPLTJLGRYTCARATGATXAJA

Menggunakan lebih dari satu kunei

K2 1 1v 1 I 1 ~ 1I I I 1 I J

Kl

Kl GEMPA

K2 MBAH

K3 MERAPI

Teks-kode HJSFWFTFLFPFDOKFTUCRJLFSFOAFUTRJHUAFUFISUAF DWJSDHFLFTUCUIQFOU2007

56 Pengantar IImu Kriptografi

Dengan menggunakan lebih dari satu kunci bisa menggunakan metode pendistribusian kunci-kunci yang ada M(tode hi terdiri dari tiga bagian yaitu bIok karakter dan zig-zag

1 Blok

Metode untuk melakukan enkripsi dengan menggunakan blok adalah dengan membagi jumlah teks-asli menjadi blok-blok yang ditentukan tergantung dari keinginan pengirim pes an Coba perhatikan contoh di bawah ini

Teks-asH BANJIR MEREDAM JAKARTA HARGA BAHAN POKOK NAIK

Teks-asH di atas dibagi menjadi 8 blok Setiap blok berisi 6 karakter Karena blok yang ketujuh tidak mencukupi maka ditambah dengan karakter X atau karakter lain yang diinginkan

--_--- --_--- [MJAKAR] [TAHARGJ rABAHNl li~ I AIKXXX

Block 1 Block 2 Block 3 Block 4 Block 5 Illock 6 Block 7

KI

K2

KJ

Didapat teks-kode berikut

ODGBSI HKNKAY EllKCKN PDUDlI YOYBYI LJCJCH DSCXXX I I I I I I I I I

Kl K2 K3 K1 K2 K~ K1

Pad a contoh di atas Kl digunakan pada blok pertama K2 blok kedua K3 blok ketiga Begitu seterusnya Atau juga bisa dipakai untuk mengshy

enkripsi dua blok sekaligus dengan memakai satu kunci (Kl K2 atau K3) dan seterusnya Maka didapat hasil pendistribusian kunci untuk teks-kode sebagai berikut

ODGBSLHKNKA YEBKCKNPDUDLlYOYBYILJCJCHDSCXXX

~~ltaorimo ltxioltaro ltO( 57

Dengan menggunakan metode ini jika satu kunci ditemukan oleh kriptanalis belum tentu pesan bisa dipecahkan karena masih ada beberapa kunci lagi yang harus dicari

2 Karakter

Metode ini menggunakan pendistribusian per karakter hampir sama dengan metode biok Contoh pendistribusian per karakter adalah seperti di bawah ini

I I I I j TI-rIIJIIIIIlulIIAI~ILI_

K] I I - - r ITT I II n 1 I __ Iv ~ I I -ILD () N Y A n 1 T I lt Jl r r t -7 rr ow- _ _ _ __

10 K R J f T n r A r r r T bull bull bullbull

o Y Hll C N r K N A A K I D K C Y N PYA 0 N G

~j 1~u ~j 1~u ~j 1~u Jj 1~u K3 KJ KJ KJ K3 KJ KJ KJ

fjIqPll rIP]I KJ KJ KJ KJ KJ

3 Zig-zag

Pendistribusian dengan metode zig-zag dilakukan dengan menukarkan huruf asli dengan huruf yang sudah m~makai kunci (Kl) dan mencari huruf yang sama pada K2 dan K3 sehingga huruf yang menjadi teks-kode adalah huruf dari persamaan C = K3 dan sebaliknya Contoh

58 Pengantar IImu Kriptografi

Kli - I J bull bull I ~ vI ~ ~ t - t bull - U J - - m lt I - I - -I 1 - )

K21~~~1EI~ I ~ IFI~I J-I~I~lol IQlnls ITlulwlxlylz I

Dari teks-asH

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA

didapat teks-kode

FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK

422 KODE GESER

Teknik substitusi kode geser (shift) cengan modulus 26 memberikan angka ke setiap alfabet seperti a ~7 0 B ~7 1 Z ~7 25 Agar lebih jelas perhatikan comoh di bawah ini

A M

0 12

N 10 13 114

--- shyp Q R S T U V W X Y Z

15 16 17 18 19 20 21 22 23 24 25

Teks-asli We Will Meet at Mid Night

Kalimat di atas mendaoat angka dari setiap huruf sebagai berikut

22 4 22 8 II II 12 4 4 19 deg19 12 8 3 13 8 6 7 19

Untuk mendapatkan teks-kode kita mempunyai kunei 11 Dengan meshynambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4

Jqo~mo lttoq~o ltolt 59

Jika lebih dari 20 setelah ditambah dengan kunci maka akan dikurangi

dengan 26 Misalnya 22+11= 33 - 26 7 Setelah dikonversi menjadi huruf maka akan didapatkan teks-kode

HPHTWWXPPELEXTOYTRSE

Teks-asli We will meet at mid night

Teks-kode HPHTWWXPPELEXTOYTRSE

Kunci 11

423 KODE Hill

Kode Hill termasuk salah satu sistem kripto polialfabetik yang berarti karakter alfabet bisa dipetakan ke lebih dari satu maeam karakter Kode ini

ditemukan pada tahun 1929 oleh Lester S Hill Misalkan m adalah bilangan bulat positif dan P = C Ide dari kode Hill adalah dengan mengambil

m kombinasi linear dari m karakter alfabet dalam satu elemen teks-asli sehingga dihasilkan TIl alfabet karakter dalam saru elemen teks-asli

Misalkan m = 2 maka dapar ditulis suatu elemen teks-asli sebagai x = (XI X2)

dan suam elemen teks-kode sebagai y = (yl Y2) Oi sini yl yl adalah kombinasi linear dari XI dan X2 Misalkan

1 (jyl = llxl + 3X2

Ie j l y2 8xI + 7X2 dimlis dalam notasi matriks sebagai berikut

i) (jI11 811 j - q

(YIY2) (xx2 ) 3 shy -( o U S [( l -

Seeara umum dengan menggunakan matriks K m x m sebagai kunci

elemen pada baris i dan kolom j dari matriks K adalah kj maka dapat ditulis II [ cmiddot ( r

K (kJ Untuk x (XI Xm) E P dan K E K dihitung y eK(x) = (Yl ~ sebagai berikut -

kll 1 o

klmjk2J k2bull2 k2m Ii

(Y)Y2 (x) x2 X sS ~ ~ -

H

2

m

km 2 k~fTJ o

o

60 Pengantar IImu Kriptografi

dengan kat a lain y xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi

linear Untuk melakukan dekripsi menggunakan matriks inversi K-I dekripsi

dilakukan dengan rumus x =yK-

1 Perkalian matriks memiliki sifat asosiatif yaitu (AB)C A(BC)

2 Matriks identitas m x m yang ditulis dengan Im adalah matriks yang

berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya

Contoh matriks identitas 2 x 2

12 =

1m disebut dengan matriks identitas karena AIm A untuk sembarang

matriks I x m dan 1mB B untuk sembarang matriks m x n

3 Matriks inversi dari A (jika ada) adalah kl di mana AAmiddotI kA = 1m

Dengan menggunakan sifat-sifat matriks di atas maka

y xK

yKmiddotI (xK)KI = x(KKmiddotI) xlm X

Contoh

Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki

inversi pada Z26

fll 8)-1 l( 7 18) 3 7 23 11l

-

r A f

n~ Karena

III ~J (3 1 =(117+823 l118+8I1J

l3 37+723 318+711 II 261 2861

( 182 131) i

=(~ 1

Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26

~ AgorHmo Kriptogroti Kosik 61

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill

Misalkan kunci yang dipakai adalah

K=C ~) Dari perhitungan di atas diperoleh bahwa

K-I =( 7 18J 23 11

Misalkan untuk mengenkripsi teks-asli JULY ada 2 elemen teks-asli untuk dienkripsi

1 (920) ~

2 (11 24) ~ L Y

Kemudian lakukan perhitungan berikut

11 81 (9 20) ( 3 7j =(99+60 72+140) (3 4) ~ DE

dan

(11 8)(11 bull 24) 3 7 (121+72 88+168)=(11 22) ~ LW

sehingga enkripsi untuk JULY adalah DELW

Untuk mendekripsi dilakukan dengan cara

7 18)(3 4) 23 11 (9(

dan i

(11 =(11 bull 24)bull 223 -)

sehingga teks-asli diperoleh kern bali

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi Suatu

matriks K memiliki inversi jika dan hanya jika determinannya tidak no

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 4: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

48 Pengantar IImu Kriptografi

~A~ 1 AlGORllMA KR1P10GRAfl KlAS1K

41 PENDAHUlUAN

Kriptografi sudah dipakai sejak empat abad yang lalu Perkembangan kripshytografi begitu pesat sampai sekarang Untuk mendapatkan pengertian bagaishymana suau algoritma kriptografi berkembang buku ini akan menelusuri satu per satu algoritma kriptografi klasik dari teknik subsitusi dan teknik transposisi Kriptografi klasik memiliki beberapa citi

1 berbasis karakter

2 menggunakan pena dan kertas saja belum ada komputer

3 termasuk ke dalam kriptografi kund sil1etri

Tiga alasan mempelajari algoritma klasik

I memahami konsep dasar kriptografi

2 dasar algoritma kriptografi modern

3 memahami kelemahan sistem kode

42 TEKNIK SUBSITUSI

Substitusi merupakan penggantian setiap karakter teks-asli dengan karakter lain

A

F

K

p c U X

50 51 Pengantar Ilmu Kriptografi

Terdapat empat istilah substimsi kode antara lain

1 Monoalphabec setiap karakter teks-kode menggantikan salah sam karakter teks-asli

2 Polyalphabec setiap karakter teks-kode dapat menggantikan lebih dari satu maeam karakter teks-asH

3 Monogral sam enkripsi dilakukan terhadlp satu karakter teks-asli

4 Polygraph sam enkripsi dilakukan terhadap lebih dari sam karakter teksshyash

421 KODE KAISAR

Subsitusi kode yang pertama dalam dunia penyanuian terjadi pada pemerinshytahan Yulius Caesar yang dikenal dengan kode Kaisar dengan mengganti posisi huruf awal dari alfabet atau disebut juga dengan algoritma ROT3

Caesar Cipher (ROT3)

Plain Text i----

Encoded Text -ABC DEF ----i

Hello Khoor

Attack DNWdfn-Seeara lebih detail eoba perhatikan eontah berikut

Q

23 24 25 - --

A B ( D E F G H I J K l M N 01 p II ~ 1 U V W X i Z

C I 2 j ~ 5 f I 8 ~ Ie 11 12 1J 14 liS 16 17 18 19 20 21 2l

Menjadi

u v w x ) Z A B

19 ZC 21 22 2J 24 25

Jika penggeseran yang dilakukan sebanyak tiga kali maka kunei untuk dekripsinya adalah 3 Penggeseran kunci yang dilakukan tergantung keinginan pengirim pesan Bisa saja kunei yang dipakai a 7 b 9 dan seterusnya

Algoritma Kriptografi Klasik

Contoh algoritma kode Kaisar Untuk teks-asH diberikan simbol P dan teksshykodenya He dan kunci K Jadi rumusnya dapat dibuat sebagai berikut

C=E(P) = (P+K) mod (26)

Pada eontoh di atas kita bisa memasukkan kunci dengan nilai tiga sehingga menjadi

C=E(P) = (P+3) mod (26)

Rumus dekripsinya menjadi seperti berikut

P = D(C) (C K) mod (26)

Dari eomoh di atas dengan memasukkan kunci tiga maka

P D(C) = (C 3) mod (26)

Jika diberikan teks-ash sebagai berikut

GEMPA YOGYA MENELAN KORBAN TIDAK SEDlKIT DAN SAMPAI SEKARANG MASIH MENYISAKAN TRAUMA BAGI ORANG-ORANG KOTAGUDEG

Dengan menggunakan kunci tiga maka akan didapat teks-kode berikut

JHPDBRJBDPHQHODQNRUEDQWLGDNVHGLNLWGDQVDPSDL VHND UDQJPHNDUDQJPHQBLVDNDQWUDPDEDJLRUDQJRUDQJNRWDJXG HJ

Kode Kaisar dipeeahkan dengan eara brute force attaCl suatu bentuk

serangan yang dilakukan dengan meneoba-eoba berbagai kemungkiuan

untuk menemukan kunei Bisa juga menggunakan exJlaustive key search karena jumlah kunei sangat sedikit (hanya ada 26 kunei) Meski sedikit kunei suatu kode eukup merepotkan kriptanalis karen a untuk menemukannya dengan brute foree attaek dibutuhkan waktu yang eukup lama

Ada cara lain yang dapat digunakan kriptanalis untuk memeeahkannya yaitu dengan melihat frekuensi kemuneulan huruf sepeni yang ditunjukkan tabel frekuensi kemuneulan huruf berikut ini

-52 Pengantar IImu Kriptografi

Tabel 4 I Frekuensi Kemunculan Huruf dalam Bahasa

Karakter A

Peluang 0082

Karakter N

Peluang 067

B 015 0 075 C 028 P 019 D 043 Q 001 E 127 R 060 F G

022

020 S T

063

09 H 061 U 02middotc~

I 070 V 010 I J

K 002 008

W X

023

001 L 040 Y 020 M 024 Z 001

Pada teks bahasa Indonesia yang paling sering muncul adalah 10 huruf pada tabel di bawah ini

Tabel 42 Sepuluh Huruf yang Sering Mun(ul dalam Bahasa Indonesia

Letter Frequency

kemunculan ()

A 1750

N 1030

I 870

E 750

K 565

T 510

R 460

0 450

S 450

M 450

Brute force attack juga digunakan untuk mencari password dan ID dari suatu sistem Pada serangan ini para penyerang mencoba beberapa kemungkinan yang ada dari daftar kata-kata yang ada di dalam kamus Umumnya serangan ini dapat berhasil hanya saja memerlukan waktu yang lama

A~()rmo Kr()~ro Koltlt 5~ ~ ~Listing program untuk mendekipsi me yang menggunakan kode Kaisar

file menggunakan Caesar cipher 1

sebagai berkas ma ukannbullbull middotmiddotbull

argv[lmiddotJ argvl2J I

1 Programdekr1psi

hneluda ltstdio hgt

main (int argo bull char argv[J)I

FILE Fin Foutj char p C int~n~ 1 It

Fin middotfop41n(argv[ll rb) if (Fin - NULL)

printt(Kesalahan dalam mmnbuka s Fout - fopen(arqv[2] Itwblf )

printt(noakripsi s manjadi nprintf(n) printf(tlk scant (d ampk) hil laquoc - lt]ltItc(Finraquo = EO) I P - (e - k) 256 pute (P Fout)

) feloe(Fin)

felos (~out) )

Pada sistem operasi Unix ROT13 adalah fungsi yang menggunakan kode Kaisar dengan pergeseran k = l3

13

t j ~ q j

ROTl~

Gombar 41 AJgorima R0T13

Sistem enkripsi pada unix dengan membagi alfabet n = 26 menjadi 13 sehingga satu huruf dengan huruf yang lain saling berhadapan Jika teksshyaslinya adalah A maka teks-kodenya adalah N Begitu seterusnya Notasi matematikanya dapat ditulis sebagai berikut

C = ROTl3 (M)

Untuk melakukan dekripsi dengan proses enkripsi ROTl3 dua kali

M = ROTl3 (ROT 13 (Mraquo

54 55

Pengantar IImu Kriptografi

ROT13 didesain untuk keamanan pada sistem operasi UNIX yang sering digunakan pada forum on-line berfungsi untuk menyelubungi isi artikel sehingga hanya orang yang berhak yang dapat membacanya Contoh proses

enkripsi ROTl3 danat dilihat di bawah ini

ENKRlJSI MENGGUNAKAN nonl

Gombar 42 Pro~e~ ROT13

Proses dekripsi

IROSES DEKlurSI ROTI3

PLAINTEXT

Gombar 43 Proses Dekrpsi ROfl3

Pada perkembangannya algoritma kode Kaisar memberikan suatu gagasan baru untuk menggunakan kunei lain yang disebut poly-alphabetic Kunci bisa jadi nama alamat atau apa saja yang diinginkan oleh pengirim pesan Coba

perhatikan contoh di bawah ini

Kode Kaisar dengan menggunakan satu kunci bisa disebut dengan substitusi deret campur kata kunei Yang perlu diingat tidak ada perulangan huruf dalam hal ini DONY ARlYUS menjadi DONY ARIUS Karena ada

pengulangan huruf Y maka huruf itu tidak dipakai lagi

Menggunakan satu kunei

Agoritma Kriptografi Kasik

Teks-asli MBAH MARIJAN SEKARANG SUDAH MENJADI ARTIS

Kunei MERAPI

Teks-kode JEMCJMQDFMKSPGMQMKBSUAMqPKFMADMQTDS

Menggunakan dua kunci

K1

Teks-asli BELAjAR KRIPTOGRAFI UNTUK MENGAMANKAN DATA

Kl DONY ARlYUS

K2 YOGY AKART A

Teks-kode IYKAOAFGFPDJBCFAMPLTJLGRYTCARATGATXAJA

Menggunakan lebih dari satu kunei

K2 1 1v 1 I 1 ~ 1I I I 1 I J

Kl

Kl GEMPA

K2 MBAH

K3 MERAPI

Teks-kode HJSFWFTFLFPFDOKFTUCRJLFSFOAFUTRJHUAFUFISUAF DWJSDHFLFTUCUIQFOU2007

56 Pengantar IImu Kriptografi

Dengan menggunakan lebih dari satu kunci bisa menggunakan metode pendistribusian kunci-kunci yang ada M(tode hi terdiri dari tiga bagian yaitu bIok karakter dan zig-zag

1 Blok

Metode untuk melakukan enkripsi dengan menggunakan blok adalah dengan membagi jumlah teks-asli menjadi blok-blok yang ditentukan tergantung dari keinginan pengirim pes an Coba perhatikan contoh di bawah ini

Teks-asH BANJIR MEREDAM JAKARTA HARGA BAHAN POKOK NAIK

Teks-asH di atas dibagi menjadi 8 blok Setiap blok berisi 6 karakter Karena blok yang ketujuh tidak mencukupi maka ditambah dengan karakter X atau karakter lain yang diinginkan

--_--- --_--- [MJAKAR] [TAHARGJ rABAHNl li~ I AIKXXX

Block 1 Block 2 Block 3 Block 4 Block 5 Illock 6 Block 7

KI

K2

KJ

Didapat teks-kode berikut

ODGBSI HKNKAY EllKCKN PDUDlI YOYBYI LJCJCH DSCXXX I I I I I I I I I

Kl K2 K3 K1 K2 K~ K1

Pad a contoh di atas Kl digunakan pada blok pertama K2 blok kedua K3 blok ketiga Begitu seterusnya Atau juga bisa dipakai untuk mengshy

enkripsi dua blok sekaligus dengan memakai satu kunci (Kl K2 atau K3) dan seterusnya Maka didapat hasil pendistribusian kunci untuk teks-kode sebagai berikut

ODGBSLHKNKA YEBKCKNPDUDLlYOYBYILJCJCHDSCXXX

~~ltaorimo ltxioltaro ltO( 57

Dengan menggunakan metode ini jika satu kunci ditemukan oleh kriptanalis belum tentu pesan bisa dipecahkan karena masih ada beberapa kunci lagi yang harus dicari

2 Karakter

Metode ini menggunakan pendistribusian per karakter hampir sama dengan metode biok Contoh pendistribusian per karakter adalah seperti di bawah ini

I I I I j TI-rIIJIIIIIlulIIAI~ILI_

K] I I - - r ITT I II n 1 I __ Iv ~ I I -ILD () N Y A n 1 T I lt Jl r r t -7 rr ow- _ _ _ __

10 K R J f T n r A r r r T bull bull bullbull

o Y Hll C N r K N A A K I D K C Y N PYA 0 N G

~j 1~u ~j 1~u ~j 1~u Jj 1~u K3 KJ KJ KJ K3 KJ KJ KJ

fjIqPll rIP]I KJ KJ KJ KJ KJ

3 Zig-zag

Pendistribusian dengan metode zig-zag dilakukan dengan menukarkan huruf asli dengan huruf yang sudah m~makai kunci (Kl) dan mencari huruf yang sama pada K2 dan K3 sehingga huruf yang menjadi teks-kode adalah huruf dari persamaan C = K3 dan sebaliknya Contoh

58 Pengantar IImu Kriptografi

Kli - I J bull bull I ~ vI ~ ~ t - t bull - U J - - m lt I - I - -I 1 - )

K21~~~1EI~ I ~ IFI~I J-I~I~lol IQlnls ITlulwlxlylz I

Dari teks-asH

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA

didapat teks-kode

FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK

422 KODE GESER

Teknik substitusi kode geser (shift) cengan modulus 26 memberikan angka ke setiap alfabet seperti a ~7 0 B ~7 1 Z ~7 25 Agar lebih jelas perhatikan comoh di bawah ini

A M

0 12

N 10 13 114

--- shyp Q R S T U V W X Y Z

15 16 17 18 19 20 21 22 23 24 25

Teks-asli We Will Meet at Mid Night

Kalimat di atas mendaoat angka dari setiap huruf sebagai berikut

22 4 22 8 II II 12 4 4 19 deg19 12 8 3 13 8 6 7 19

Untuk mendapatkan teks-kode kita mempunyai kunei 11 Dengan meshynambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4

Jqo~mo lttoq~o ltolt 59

Jika lebih dari 20 setelah ditambah dengan kunci maka akan dikurangi

dengan 26 Misalnya 22+11= 33 - 26 7 Setelah dikonversi menjadi huruf maka akan didapatkan teks-kode

HPHTWWXPPELEXTOYTRSE

Teks-asli We will meet at mid night

Teks-kode HPHTWWXPPELEXTOYTRSE

Kunci 11

423 KODE Hill

Kode Hill termasuk salah satu sistem kripto polialfabetik yang berarti karakter alfabet bisa dipetakan ke lebih dari satu maeam karakter Kode ini

ditemukan pada tahun 1929 oleh Lester S Hill Misalkan m adalah bilangan bulat positif dan P = C Ide dari kode Hill adalah dengan mengambil

m kombinasi linear dari m karakter alfabet dalam satu elemen teks-asli sehingga dihasilkan TIl alfabet karakter dalam saru elemen teks-asli

Misalkan m = 2 maka dapar ditulis suatu elemen teks-asli sebagai x = (XI X2)

dan suam elemen teks-kode sebagai y = (yl Y2) Oi sini yl yl adalah kombinasi linear dari XI dan X2 Misalkan

1 (jyl = llxl + 3X2

Ie j l y2 8xI + 7X2 dimlis dalam notasi matriks sebagai berikut

i) (jI11 811 j - q

(YIY2) (xx2 ) 3 shy -( o U S [( l -

Seeara umum dengan menggunakan matriks K m x m sebagai kunci

elemen pada baris i dan kolom j dari matriks K adalah kj maka dapat ditulis II [ cmiddot ( r

K (kJ Untuk x (XI Xm) E P dan K E K dihitung y eK(x) = (Yl ~ sebagai berikut -

kll 1 o

klmjk2J k2bull2 k2m Ii

(Y)Y2 (x) x2 X sS ~ ~ -

H

2

m

km 2 k~fTJ o

o

60 Pengantar IImu Kriptografi

dengan kat a lain y xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi

linear Untuk melakukan dekripsi menggunakan matriks inversi K-I dekripsi

dilakukan dengan rumus x =yK-

1 Perkalian matriks memiliki sifat asosiatif yaitu (AB)C A(BC)

2 Matriks identitas m x m yang ditulis dengan Im adalah matriks yang

berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya

Contoh matriks identitas 2 x 2

12 =

1m disebut dengan matriks identitas karena AIm A untuk sembarang

matriks I x m dan 1mB B untuk sembarang matriks m x n

3 Matriks inversi dari A (jika ada) adalah kl di mana AAmiddotI kA = 1m

Dengan menggunakan sifat-sifat matriks di atas maka

y xK

yKmiddotI (xK)KI = x(KKmiddotI) xlm X

Contoh

Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki

inversi pada Z26

fll 8)-1 l( 7 18) 3 7 23 11l

-

r A f

n~ Karena

III ~J (3 1 =(117+823 l118+8I1J

l3 37+723 318+711 II 261 2861

( 182 131) i

=(~ 1

Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26

~ AgorHmo Kriptogroti Kosik 61

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill

Misalkan kunci yang dipakai adalah

K=C ~) Dari perhitungan di atas diperoleh bahwa

K-I =( 7 18J 23 11

Misalkan untuk mengenkripsi teks-asli JULY ada 2 elemen teks-asli untuk dienkripsi

1 (920) ~

2 (11 24) ~ L Y

Kemudian lakukan perhitungan berikut

11 81 (9 20) ( 3 7j =(99+60 72+140) (3 4) ~ DE

dan

(11 8)(11 bull 24) 3 7 (121+72 88+168)=(11 22) ~ LW

sehingga enkripsi untuk JULY adalah DELW

Untuk mendekripsi dilakukan dengan cara

7 18)(3 4) 23 11 (9(

dan i

(11 =(11 bull 24)bull 223 -)

sehingga teks-asli diperoleh kern bali

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi Suatu

matriks K memiliki inversi jika dan hanya jika determinannya tidak no

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 5: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

50 51 Pengantar Ilmu Kriptografi

Terdapat empat istilah substimsi kode antara lain

1 Monoalphabec setiap karakter teks-kode menggantikan salah sam karakter teks-asli

2 Polyalphabec setiap karakter teks-kode dapat menggantikan lebih dari satu maeam karakter teks-asH

3 Monogral sam enkripsi dilakukan terhadlp satu karakter teks-asli

4 Polygraph sam enkripsi dilakukan terhadap lebih dari sam karakter teksshyash

421 KODE KAISAR

Subsitusi kode yang pertama dalam dunia penyanuian terjadi pada pemerinshytahan Yulius Caesar yang dikenal dengan kode Kaisar dengan mengganti posisi huruf awal dari alfabet atau disebut juga dengan algoritma ROT3

Caesar Cipher (ROT3)

Plain Text i----

Encoded Text -ABC DEF ----i

Hello Khoor

Attack DNWdfn-Seeara lebih detail eoba perhatikan eontah berikut

Q

23 24 25 - --

A B ( D E F G H I J K l M N 01 p II ~ 1 U V W X i Z

C I 2 j ~ 5 f I 8 ~ Ie 11 12 1J 14 liS 16 17 18 19 20 21 2l

Menjadi

u v w x ) Z A B

19 ZC 21 22 2J 24 25

Jika penggeseran yang dilakukan sebanyak tiga kali maka kunei untuk dekripsinya adalah 3 Penggeseran kunci yang dilakukan tergantung keinginan pengirim pesan Bisa saja kunei yang dipakai a 7 b 9 dan seterusnya

Algoritma Kriptografi Klasik

Contoh algoritma kode Kaisar Untuk teks-asH diberikan simbol P dan teksshykodenya He dan kunci K Jadi rumusnya dapat dibuat sebagai berikut

C=E(P) = (P+K) mod (26)

Pada eontoh di atas kita bisa memasukkan kunci dengan nilai tiga sehingga menjadi

C=E(P) = (P+3) mod (26)

Rumus dekripsinya menjadi seperti berikut

P = D(C) (C K) mod (26)

Dari eomoh di atas dengan memasukkan kunci tiga maka

P D(C) = (C 3) mod (26)

Jika diberikan teks-ash sebagai berikut

GEMPA YOGYA MENELAN KORBAN TIDAK SEDlKIT DAN SAMPAI SEKARANG MASIH MENYISAKAN TRAUMA BAGI ORANG-ORANG KOTAGUDEG

Dengan menggunakan kunci tiga maka akan didapat teks-kode berikut

JHPDBRJBDPHQHODQNRUEDQWLGDNVHGLNLWGDQVDPSDL VHND UDQJPHNDUDQJPHQBLVDNDQWUDPDEDJLRUDQJRUDQJNRWDJXG HJ

Kode Kaisar dipeeahkan dengan eara brute force attaCl suatu bentuk

serangan yang dilakukan dengan meneoba-eoba berbagai kemungkiuan

untuk menemukan kunei Bisa juga menggunakan exJlaustive key search karena jumlah kunei sangat sedikit (hanya ada 26 kunei) Meski sedikit kunei suatu kode eukup merepotkan kriptanalis karen a untuk menemukannya dengan brute foree attaek dibutuhkan waktu yang eukup lama

Ada cara lain yang dapat digunakan kriptanalis untuk memeeahkannya yaitu dengan melihat frekuensi kemuneulan huruf sepeni yang ditunjukkan tabel frekuensi kemuneulan huruf berikut ini

-52 Pengantar IImu Kriptografi

Tabel 4 I Frekuensi Kemunculan Huruf dalam Bahasa

Karakter A

Peluang 0082

Karakter N

Peluang 067

B 015 0 075 C 028 P 019 D 043 Q 001 E 127 R 060 F G

022

020 S T

063

09 H 061 U 02middotc~

I 070 V 010 I J

K 002 008

W X

023

001 L 040 Y 020 M 024 Z 001

Pada teks bahasa Indonesia yang paling sering muncul adalah 10 huruf pada tabel di bawah ini

Tabel 42 Sepuluh Huruf yang Sering Mun(ul dalam Bahasa Indonesia

Letter Frequency

kemunculan ()

A 1750

N 1030

I 870

E 750

K 565

T 510

R 460

0 450

S 450

M 450

Brute force attack juga digunakan untuk mencari password dan ID dari suatu sistem Pada serangan ini para penyerang mencoba beberapa kemungkinan yang ada dari daftar kata-kata yang ada di dalam kamus Umumnya serangan ini dapat berhasil hanya saja memerlukan waktu yang lama

A~()rmo Kr()~ro Koltlt 5~ ~ ~Listing program untuk mendekipsi me yang menggunakan kode Kaisar

file menggunakan Caesar cipher 1

sebagai berkas ma ukannbullbull middotmiddotbull

argv[lmiddotJ argvl2J I

1 Programdekr1psi

hneluda ltstdio hgt

main (int argo bull char argv[J)I

FILE Fin Foutj char p C int~n~ 1 It

Fin middotfop41n(argv[ll rb) if (Fin - NULL)

printt(Kesalahan dalam mmnbuka s Fout - fopen(arqv[2] Itwblf )

printt(noakripsi s manjadi nprintf(n) printf(tlk scant (d ampk) hil laquoc - lt]ltItc(Finraquo = EO) I P - (e - k) 256 pute (P Fout)

) feloe(Fin)

felos (~out) )

Pada sistem operasi Unix ROT13 adalah fungsi yang menggunakan kode Kaisar dengan pergeseran k = l3

13

t j ~ q j

ROTl~

Gombar 41 AJgorima R0T13

Sistem enkripsi pada unix dengan membagi alfabet n = 26 menjadi 13 sehingga satu huruf dengan huruf yang lain saling berhadapan Jika teksshyaslinya adalah A maka teks-kodenya adalah N Begitu seterusnya Notasi matematikanya dapat ditulis sebagai berikut

C = ROTl3 (M)

Untuk melakukan dekripsi dengan proses enkripsi ROTl3 dua kali

M = ROTl3 (ROT 13 (Mraquo

54 55

Pengantar IImu Kriptografi

ROT13 didesain untuk keamanan pada sistem operasi UNIX yang sering digunakan pada forum on-line berfungsi untuk menyelubungi isi artikel sehingga hanya orang yang berhak yang dapat membacanya Contoh proses

enkripsi ROTl3 danat dilihat di bawah ini

ENKRlJSI MENGGUNAKAN nonl

Gombar 42 Pro~e~ ROT13

Proses dekripsi

IROSES DEKlurSI ROTI3

PLAINTEXT

Gombar 43 Proses Dekrpsi ROfl3

Pada perkembangannya algoritma kode Kaisar memberikan suatu gagasan baru untuk menggunakan kunei lain yang disebut poly-alphabetic Kunci bisa jadi nama alamat atau apa saja yang diinginkan oleh pengirim pesan Coba

perhatikan contoh di bawah ini

Kode Kaisar dengan menggunakan satu kunci bisa disebut dengan substitusi deret campur kata kunei Yang perlu diingat tidak ada perulangan huruf dalam hal ini DONY ARlYUS menjadi DONY ARIUS Karena ada

pengulangan huruf Y maka huruf itu tidak dipakai lagi

Menggunakan satu kunei

Agoritma Kriptografi Kasik

Teks-asli MBAH MARIJAN SEKARANG SUDAH MENJADI ARTIS

Kunei MERAPI

Teks-kode JEMCJMQDFMKSPGMQMKBSUAMqPKFMADMQTDS

Menggunakan dua kunci

K1

Teks-asli BELAjAR KRIPTOGRAFI UNTUK MENGAMANKAN DATA

Kl DONY ARlYUS

K2 YOGY AKART A

Teks-kode IYKAOAFGFPDJBCFAMPLTJLGRYTCARATGATXAJA

Menggunakan lebih dari satu kunei

K2 1 1v 1 I 1 ~ 1I I I 1 I J

Kl

Kl GEMPA

K2 MBAH

K3 MERAPI

Teks-kode HJSFWFTFLFPFDOKFTUCRJLFSFOAFUTRJHUAFUFISUAF DWJSDHFLFTUCUIQFOU2007

56 Pengantar IImu Kriptografi

Dengan menggunakan lebih dari satu kunci bisa menggunakan metode pendistribusian kunci-kunci yang ada M(tode hi terdiri dari tiga bagian yaitu bIok karakter dan zig-zag

1 Blok

Metode untuk melakukan enkripsi dengan menggunakan blok adalah dengan membagi jumlah teks-asli menjadi blok-blok yang ditentukan tergantung dari keinginan pengirim pes an Coba perhatikan contoh di bawah ini

Teks-asH BANJIR MEREDAM JAKARTA HARGA BAHAN POKOK NAIK

Teks-asH di atas dibagi menjadi 8 blok Setiap blok berisi 6 karakter Karena blok yang ketujuh tidak mencukupi maka ditambah dengan karakter X atau karakter lain yang diinginkan

--_--- --_--- [MJAKAR] [TAHARGJ rABAHNl li~ I AIKXXX

Block 1 Block 2 Block 3 Block 4 Block 5 Illock 6 Block 7

KI

K2

KJ

Didapat teks-kode berikut

ODGBSI HKNKAY EllKCKN PDUDlI YOYBYI LJCJCH DSCXXX I I I I I I I I I

Kl K2 K3 K1 K2 K~ K1

Pad a contoh di atas Kl digunakan pada blok pertama K2 blok kedua K3 blok ketiga Begitu seterusnya Atau juga bisa dipakai untuk mengshy

enkripsi dua blok sekaligus dengan memakai satu kunci (Kl K2 atau K3) dan seterusnya Maka didapat hasil pendistribusian kunci untuk teks-kode sebagai berikut

ODGBSLHKNKA YEBKCKNPDUDLlYOYBYILJCJCHDSCXXX

~~ltaorimo ltxioltaro ltO( 57

Dengan menggunakan metode ini jika satu kunci ditemukan oleh kriptanalis belum tentu pesan bisa dipecahkan karena masih ada beberapa kunci lagi yang harus dicari

2 Karakter

Metode ini menggunakan pendistribusian per karakter hampir sama dengan metode biok Contoh pendistribusian per karakter adalah seperti di bawah ini

I I I I j TI-rIIJIIIIIlulIIAI~ILI_

K] I I - - r ITT I II n 1 I __ Iv ~ I I -ILD () N Y A n 1 T I lt Jl r r t -7 rr ow- _ _ _ __

10 K R J f T n r A r r r T bull bull bullbull

o Y Hll C N r K N A A K I D K C Y N PYA 0 N G

~j 1~u ~j 1~u ~j 1~u Jj 1~u K3 KJ KJ KJ K3 KJ KJ KJ

fjIqPll rIP]I KJ KJ KJ KJ KJ

3 Zig-zag

Pendistribusian dengan metode zig-zag dilakukan dengan menukarkan huruf asli dengan huruf yang sudah m~makai kunci (Kl) dan mencari huruf yang sama pada K2 dan K3 sehingga huruf yang menjadi teks-kode adalah huruf dari persamaan C = K3 dan sebaliknya Contoh

58 Pengantar IImu Kriptografi

Kli - I J bull bull I ~ vI ~ ~ t - t bull - U J - - m lt I - I - -I 1 - )

K21~~~1EI~ I ~ IFI~I J-I~I~lol IQlnls ITlulwlxlylz I

Dari teks-asH

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA

didapat teks-kode

FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK

422 KODE GESER

Teknik substitusi kode geser (shift) cengan modulus 26 memberikan angka ke setiap alfabet seperti a ~7 0 B ~7 1 Z ~7 25 Agar lebih jelas perhatikan comoh di bawah ini

A M

0 12

N 10 13 114

--- shyp Q R S T U V W X Y Z

15 16 17 18 19 20 21 22 23 24 25

Teks-asli We Will Meet at Mid Night

Kalimat di atas mendaoat angka dari setiap huruf sebagai berikut

22 4 22 8 II II 12 4 4 19 deg19 12 8 3 13 8 6 7 19

Untuk mendapatkan teks-kode kita mempunyai kunei 11 Dengan meshynambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4

Jqo~mo lttoq~o ltolt 59

Jika lebih dari 20 setelah ditambah dengan kunci maka akan dikurangi

dengan 26 Misalnya 22+11= 33 - 26 7 Setelah dikonversi menjadi huruf maka akan didapatkan teks-kode

HPHTWWXPPELEXTOYTRSE

Teks-asli We will meet at mid night

Teks-kode HPHTWWXPPELEXTOYTRSE

Kunci 11

423 KODE Hill

Kode Hill termasuk salah satu sistem kripto polialfabetik yang berarti karakter alfabet bisa dipetakan ke lebih dari satu maeam karakter Kode ini

ditemukan pada tahun 1929 oleh Lester S Hill Misalkan m adalah bilangan bulat positif dan P = C Ide dari kode Hill adalah dengan mengambil

m kombinasi linear dari m karakter alfabet dalam satu elemen teks-asli sehingga dihasilkan TIl alfabet karakter dalam saru elemen teks-asli

Misalkan m = 2 maka dapar ditulis suatu elemen teks-asli sebagai x = (XI X2)

dan suam elemen teks-kode sebagai y = (yl Y2) Oi sini yl yl adalah kombinasi linear dari XI dan X2 Misalkan

1 (jyl = llxl + 3X2

Ie j l y2 8xI + 7X2 dimlis dalam notasi matriks sebagai berikut

i) (jI11 811 j - q

(YIY2) (xx2 ) 3 shy -( o U S [( l -

Seeara umum dengan menggunakan matriks K m x m sebagai kunci

elemen pada baris i dan kolom j dari matriks K adalah kj maka dapat ditulis II [ cmiddot ( r

K (kJ Untuk x (XI Xm) E P dan K E K dihitung y eK(x) = (Yl ~ sebagai berikut -

kll 1 o

klmjk2J k2bull2 k2m Ii

(Y)Y2 (x) x2 X sS ~ ~ -

H

2

m

km 2 k~fTJ o

o

60 Pengantar IImu Kriptografi

dengan kat a lain y xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi

linear Untuk melakukan dekripsi menggunakan matriks inversi K-I dekripsi

dilakukan dengan rumus x =yK-

1 Perkalian matriks memiliki sifat asosiatif yaitu (AB)C A(BC)

2 Matriks identitas m x m yang ditulis dengan Im adalah matriks yang

berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya

Contoh matriks identitas 2 x 2

12 =

1m disebut dengan matriks identitas karena AIm A untuk sembarang

matriks I x m dan 1mB B untuk sembarang matriks m x n

3 Matriks inversi dari A (jika ada) adalah kl di mana AAmiddotI kA = 1m

Dengan menggunakan sifat-sifat matriks di atas maka

y xK

yKmiddotI (xK)KI = x(KKmiddotI) xlm X

Contoh

Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki

inversi pada Z26

fll 8)-1 l( 7 18) 3 7 23 11l

-

r A f

n~ Karena

III ~J (3 1 =(117+823 l118+8I1J

l3 37+723 318+711 II 261 2861

( 182 131) i

=(~ 1

Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26

~ AgorHmo Kriptogroti Kosik 61

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill

Misalkan kunci yang dipakai adalah

K=C ~) Dari perhitungan di atas diperoleh bahwa

K-I =( 7 18J 23 11

Misalkan untuk mengenkripsi teks-asli JULY ada 2 elemen teks-asli untuk dienkripsi

1 (920) ~

2 (11 24) ~ L Y

Kemudian lakukan perhitungan berikut

11 81 (9 20) ( 3 7j =(99+60 72+140) (3 4) ~ DE

dan

(11 8)(11 bull 24) 3 7 (121+72 88+168)=(11 22) ~ LW

sehingga enkripsi untuk JULY adalah DELW

Untuk mendekripsi dilakukan dengan cara

7 18)(3 4) 23 11 (9(

dan i

(11 =(11 bull 24)bull 223 -)

sehingga teks-asli diperoleh kern bali

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi Suatu

matriks K memiliki inversi jika dan hanya jika determinannya tidak no

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 6: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

-52 Pengantar IImu Kriptografi

Tabel 4 I Frekuensi Kemunculan Huruf dalam Bahasa

Karakter A

Peluang 0082

Karakter N

Peluang 067

B 015 0 075 C 028 P 019 D 043 Q 001 E 127 R 060 F G

022

020 S T

063

09 H 061 U 02middotc~

I 070 V 010 I J

K 002 008

W X

023

001 L 040 Y 020 M 024 Z 001

Pada teks bahasa Indonesia yang paling sering muncul adalah 10 huruf pada tabel di bawah ini

Tabel 42 Sepuluh Huruf yang Sering Mun(ul dalam Bahasa Indonesia

Letter Frequency

kemunculan ()

A 1750

N 1030

I 870

E 750

K 565

T 510

R 460

0 450

S 450

M 450

Brute force attack juga digunakan untuk mencari password dan ID dari suatu sistem Pada serangan ini para penyerang mencoba beberapa kemungkinan yang ada dari daftar kata-kata yang ada di dalam kamus Umumnya serangan ini dapat berhasil hanya saja memerlukan waktu yang lama

A~()rmo Kr()~ro Koltlt 5~ ~ ~Listing program untuk mendekipsi me yang menggunakan kode Kaisar

file menggunakan Caesar cipher 1

sebagai berkas ma ukannbullbull middotmiddotbull

argv[lmiddotJ argvl2J I

1 Programdekr1psi

hneluda ltstdio hgt

main (int argo bull char argv[J)I

FILE Fin Foutj char p C int~n~ 1 It

Fin middotfop41n(argv[ll rb) if (Fin - NULL)

printt(Kesalahan dalam mmnbuka s Fout - fopen(arqv[2] Itwblf )

printt(noakripsi s manjadi nprintf(n) printf(tlk scant (d ampk) hil laquoc - lt]ltItc(Finraquo = EO) I P - (e - k) 256 pute (P Fout)

) feloe(Fin)

felos (~out) )

Pada sistem operasi Unix ROT13 adalah fungsi yang menggunakan kode Kaisar dengan pergeseran k = l3

13

t j ~ q j

ROTl~

Gombar 41 AJgorima R0T13

Sistem enkripsi pada unix dengan membagi alfabet n = 26 menjadi 13 sehingga satu huruf dengan huruf yang lain saling berhadapan Jika teksshyaslinya adalah A maka teks-kodenya adalah N Begitu seterusnya Notasi matematikanya dapat ditulis sebagai berikut

C = ROTl3 (M)

Untuk melakukan dekripsi dengan proses enkripsi ROTl3 dua kali

M = ROTl3 (ROT 13 (Mraquo

54 55

Pengantar IImu Kriptografi

ROT13 didesain untuk keamanan pada sistem operasi UNIX yang sering digunakan pada forum on-line berfungsi untuk menyelubungi isi artikel sehingga hanya orang yang berhak yang dapat membacanya Contoh proses

enkripsi ROTl3 danat dilihat di bawah ini

ENKRlJSI MENGGUNAKAN nonl

Gombar 42 Pro~e~ ROT13

Proses dekripsi

IROSES DEKlurSI ROTI3

PLAINTEXT

Gombar 43 Proses Dekrpsi ROfl3

Pada perkembangannya algoritma kode Kaisar memberikan suatu gagasan baru untuk menggunakan kunei lain yang disebut poly-alphabetic Kunci bisa jadi nama alamat atau apa saja yang diinginkan oleh pengirim pesan Coba

perhatikan contoh di bawah ini

Kode Kaisar dengan menggunakan satu kunci bisa disebut dengan substitusi deret campur kata kunei Yang perlu diingat tidak ada perulangan huruf dalam hal ini DONY ARlYUS menjadi DONY ARIUS Karena ada

pengulangan huruf Y maka huruf itu tidak dipakai lagi

Menggunakan satu kunei

Agoritma Kriptografi Kasik

Teks-asli MBAH MARIJAN SEKARANG SUDAH MENJADI ARTIS

Kunei MERAPI

Teks-kode JEMCJMQDFMKSPGMQMKBSUAMqPKFMADMQTDS

Menggunakan dua kunci

K1

Teks-asli BELAjAR KRIPTOGRAFI UNTUK MENGAMANKAN DATA

Kl DONY ARlYUS

K2 YOGY AKART A

Teks-kode IYKAOAFGFPDJBCFAMPLTJLGRYTCARATGATXAJA

Menggunakan lebih dari satu kunei

K2 1 1v 1 I 1 ~ 1I I I 1 I J

Kl

Kl GEMPA

K2 MBAH

K3 MERAPI

Teks-kode HJSFWFTFLFPFDOKFTUCRJLFSFOAFUTRJHUAFUFISUAF DWJSDHFLFTUCUIQFOU2007

56 Pengantar IImu Kriptografi

Dengan menggunakan lebih dari satu kunci bisa menggunakan metode pendistribusian kunci-kunci yang ada M(tode hi terdiri dari tiga bagian yaitu bIok karakter dan zig-zag

1 Blok

Metode untuk melakukan enkripsi dengan menggunakan blok adalah dengan membagi jumlah teks-asli menjadi blok-blok yang ditentukan tergantung dari keinginan pengirim pes an Coba perhatikan contoh di bawah ini

Teks-asH BANJIR MEREDAM JAKARTA HARGA BAHAN POKOK NAIK

Teks-asH di atas dibagi menjadi 8 blok Setiap blok berisi 6 karakter Karena blok yang ketujuh tidak mencukupi maka ditambah dengan karakter X atau karakter lain yang diinginkan

--_--- --_--- [MJAKAR] [TAHARGJ rABAHNl li~ I AIKXXX

Block 1 Block 2 Block 3 Block 4 Block 5 Illock 6 Block 7

KI

K2

KJ

Didapat teks-kode berikut

ODGBSI HKNKAY EllKCKN PDUDlI YOYBYI LJCJCH DSCXXX I I I I I I I I I

Kl K2 K3 K1 K2 K~ K1

Pad a contoh di atas Kl digunakan pada blok pertama K2 blok kedua K3 blok ketiga Begitu seterusnya Atau juga bisa dipakai untuk mengshy

enkripsi dua blok sekaligus dengan memakai satu kunci (Kl K2 atau K3) dan seterusnya Maka didapat hasil pendistribusian kunci untuk teks-kode sebagai berikut

ODGBSLHKNKA YEBKCKNPDUDLlYOYBYILJCJCHDSCXXX

~~ltaorimo ltxioltaro ltO( 57

Dengan menggunakan metode ini jika satu kunci ditemukan oleh kriptanalis belum tentu pesan bisa dipecahkan karena masih ada beberapa kunci lagi yang harus dicari

2 Karakter

Metode ini menggunakan pendistribusian per karakter hampir sama dengan metode biok Contoh pendistribusian per karakter adalah seperti di bawah ini

I I I I j TI-rIIJIIIIIlulIIAI~ILI_

K] I I - - r ITT I II n 1 I __ Iv ~ I I -ILD () N Y A n 1 T I lt Jl r r t -7 rr ow- _ _ _ __

10 K R J f T n r A r r r T bull bull bullbull

o Y Hll C N r K N A A K I D K C Y N PYA 0 N G

~j 1~u ~j 1~u ~j 1~u Jj 1~u K3 KJ KJ KJ K3 KJ KJ KJ

fjIqPll rIP]I KJ KJ KJ KJ KJ

3 Zig-zag

Pendistribusian dengan metode zig-zag dilakukan dengan menukarkan huruf asli dengan huruf yang sudah m~makai kunci (Kl) dan mencari huruf yang sama pada K2 dan K3 sehingga huruf yang menjadi teks-kode adalah huruf dari persamaan C = K3 dan sebaliknya Contoh

58 Pengantar IImu Kriptografi

Kli - I J bull bull I ~ vI ~ ~ t - t bull - U J - - m lt I - I - -I 1 - )

K21~~~1EI~ I ~ IFI~I J-I~I~lol IQlnls ITlulwlxlylz I

Dari teks-asH

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA

didapat teks-kode

FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK

422 KODE GESER

Teknik substitusi kode geser (shift) cengan modulus 26 memberikan angka ke setiap alfabet seperti a ~7 0 B ~7 1 Z ~7 25 Agar lebih jelas perhatikan comoh di bawah ini

A M

0 12

N 10 13 114

--- shyp Q R S T U V W X Y Z

15 16 17 18 19 20 21 22 23 24 25

Teks-asli We Will Meet at Mid Night

Kalimat di atas mendaoat angka dari setiap huruf sebagai berikut

22 4 22 8 II II 12 4 4 19 deg19 12 8 3 13 8 6 7 19

Untuk mendapatkan teks-kode kita mempunyai kunei 11 Dengan meshynambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4

Jqo~mo lttoq~o ltolt 59

Jika lebih dari 20 setelah ditambah dengan kunci maka akan dikurangi

dengan 26 Misalnya 22+11= 33 - 26 7 Setelah dikonversi menjadi huruf maka akan didapatkan teks-kode

HPHTWWXPPELEXTOYTRSE

Teks-asli We will meet at mid night

Teks-kode HPHTWWXPPELEXTOYTRSE

Kunci 11

423 KODE Hill

Kode Hill termasuk salah satu sistem kripto polialfabetik yang berarti karakter alfabet bisa dipetakan ke lebih dari satu maeam karakter Kode ini

ditemukan pada tahun 1929 oleh Lester S Hill Misalkan m adalah bilangan bulat positif dan P = C Ide dari kode Hill adalah dengan mengambil

m kombinasi linear dari m karakter alfabet dalam satu elemen teks-asli sehingga dihasilkan TIl alfabet karakter dalam saru elemen teks-asli

Misalkan m = 2 maka dapar ditulis suatu elemen teks-asli sebagai x = (XI X2)

dan suam elemen teks-kode sebagai y = (yl Y2) Oi sini yl yl adalah kombinasi linear dari XI dan X2 Misalkan

1 (jyl = llxl + 3X2

Ie j l y2 8xI + 7X2 dimlis dalam notasi matriks sebagai berikut

i) (jI11 811 j - q

(YIY2) (xx2 ) 3 shy -( o U S [( l -

Seeara umum dengan menggunakan matriks K m x m sebagai kunci

elemen pada baris i dan kolom j dari matriks K adalah kj maka dapat ditulis II [ cmiddot ( r

K (kJ Untuk x (XI Xm) E P dan K E K dihitung y eK(x) = (Yl ~ sebagai berikut -

kll 1 o

klmjk2J k2bull2 k2m Ii

(Y)Y2 (x) x2 X sS ~ ~ -

H

2

m

km 2 k~fTJ o

o

60 Pengantar IImu Kriptografi

dengan kat a lain y xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi

linear Untuk melakukan dekripsi menggunakan matriks inversi K-I dekripsi

dilakukan dengan rumus x =yK-

1 Perkalian matriks memiliki sifat asosiatif yaitu (AB)C A(BC)

2 Matriks identitas m x m yang ditulis dengan Im adalah matriks yang

berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya

Contoh matriks identitas 2 x 2

12 =

1m disebut dengan matriks identitas karena AIm A untuk sembarang

matriks I x m dan 1mB B untuk sembarang matriks m x n

3 Matriks inversi dari A (jika ada) adalah kl di mana AAmiddotI kA = 1m

Dengan menggunakan sifat-sifat matriks di atas maka

y xK

yKmiddotI (xK)KI = x(KKmiddotI) xlm X

Contoh

Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki

inversi pada Z26

fll 8)-1 l( 7 18) 3 7 23 11l

-

r A f

n~ Karena

III ~J (3 1 =(117+823 l118+8I1J

l3 37+723 318+711 II 261 2861

( 182 131) i

=(~ 1

Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26

~ AgorHmo Kriptogroti Kosik 61

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill

Misalkan kunci yang dipakai adalah

K=C ~) Dari perhitungan di atas diperoleh bahwa

K-I =( 7 18J 23 11

Misalkan untuk mengenkripsi teks-asli JULY ada 2 elemen teks-asli untuk dienkripsi

1 (920) ~

2 (11 24) ~ L Y

Kemudian lakukan perhitungan berikut

11 81 (9 20) ( 3 7j =(99+60 72+140) (3 4) ~ DE

dan

(11 8)(11 bull 24) 3 7 (121+72 88+168)=(11 22) ~ LW

sehingga enkripsi untuk JULY adalah DELW

Untuk mendekripsi dilakukan dengan cara

7 18)(3 4) 23 11 (9(

dan i

(11 =(11 bull 24)bull 223 -)

sehingga teks-asli diperoleh kern bali

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi Suatu

matriks K memiliki inversi jika dan hanya jika determinannya tidak no

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 7: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

54 55

Pengantar IImu Kriptografi

ROT13 didesain untuk keamanan pada sistem operasi UNIX yang sering digunakan pada forum on-line berfungsi untuk menyelubungi isi artikel sehingga hanya orang yang berhak yang dapat membacanya Contoh proses

enkripsi ROTl3 danat dilihat di bawah ini

ENKRlJSI MENGGUNAKAN nonl

Gombar 42 Pro~e~ ROT13

Proses dekripsi

IROSES DEKlurSI ROTI3

PLAINTEXT

Gombar 43 Proses Dekrpsi ROfl3

Pada perkembangannya algoritma kode Kaisar memberikan suatu gagasan baru untuk menggunakan kunei lain yang disebut poly-alphabetic Kunci bisa jadi nama alamat atau apa saja yang diinginkan oleh pengirim pesan Coba

perhatikan contoh di bawah ini

Kode Kaisar dengan menggunakan satu kunci bisa disebut dengan substitusi deret campur kata kunei Yang perlu diingat tidak ada perulangan huruf dalam hal ini DONY ARlYUS menjadi DONY ARIUS Karena ada

pengulangan huruf Y maka huruf itu tidak dipakai lagi

Menggunakan satu kunei

Agoritma Kriptografi Kasik

Teks-asli MBAH MARIJAN SEKARANG SUDAH MENJADI ARTIS

Kunei MERAPI

Teks-kode JEMCJMQDFMKSPGMQMKBSUAMqPKFMADMQTDS

Menggunakan dua kunci

K1

Teks-asli BELAjAR KRIPTOGRAFI UNTUK MENGAMANKAN DATA

Kl DONY ARlYUS

K2 YOGY AKART A

Teks-kode IYKAOAFGFPDJBCFAMPLTJLGRYTCARATGATXAJA

Menggunakan lebih dari satu kunei

K2 1 1v 1 I 1 ~ 1I I I 1 I J

Kl

Kl GEMPA

K2 MBAH

K3 MERAPI

Teks-kode HJSFWFTFLFPFDOKFTUCRJLFSFOAFUTRJHUAFUFISUAF DWJSDHFLFTUCUIQFOU2007

56 Pengantar IImu Kriptografi

Dengan menggunakan lebih dari satu kunci bisa menggunakan metode pendistribusian kunci-kunci yang ada M(tode hi terdiri dari tiga bagian yaitu bIok karakter dan zig-zag

1 Blok

Metode untuk melakukan enkripsi dengan menggunakan blok adalah dengan membagi jumlah teks-asli menjadi blok-blok yang ditentukan tergantung dari keinginan pengirim pes an Coba perhatikan contoh di bawah ini

Teks-asH BANJIR MEREDAM JAKARTA HARGA BAHAN POKOK NAIK

Teks-asH di atas dibagi menjadi 8 blok Setiap blok berisi 6 karakter Karena blok yang ketujuh tidak mencukupi maka ditambah dengan karakter X atau karakter lain yang diinginkan

--_--- --_--- [MJAKAR] [TAHARGJ rABAHNl li~ I AIKXXX

Block 1 Block 2 Block 3 Block 4 Block 5 Illock 6 Block 7

KI

K2

KJ

Didapat teks-kode berikut

ODGBSI HKNKAY EllKCKN PDUDlI YOYBYI LJCJCH DSCXXX I I I I I I I I I

Kl K2 K3 K1 K2 K~ K1

Pad a contoh di atas Kl digunakan pada blok pertama K2 blok kedua K3 blok ketiga Begitu seterusnya Atau juga bisa dipakai untuk mengshy

enkripsi dua blok sekaligus dengan memakai satu kunci (Kl K2 atau K3) dan seterusnya Maka didapat hasil pendistribusian kunci untuk teks-kode sebagai berikut

ODGBSLHKNKA YEBKCKNPDUDLlYOYBYILJCJCHDSCXXX

~~ltaorimo ltxioltaro ltO( 57

Dengan menggunakan metode ini jika satu kunci ditemukan oleh kriptanalis belum tentu pesan bisa dipecahkan karena masih ada beberapa kunci lagi yang harus dicari

2 Karakter

Metode ini menggunakan pendistribusian per karakter hampir sama dengan metode biok Contoh pendistribusian per karakter adalah seperti di bawah ini

I I I I j TI-rIIJIIIIIlulIIAI~ILI_

K] I I - - r ITT I II n 1 I __ Iv ~ I I -ILD () N Y A n 1 T I lt Jl r r t -7 rr ow- _ _ _ __

10 K R J f T n r A r r r T bull bull bullbull

o Y Hll C N r K N A A K I D K C Y N PYA 0 N G

~j 1~u ~j 1~u ~j 1~u Jj 1~u K3 KJ KJ KJ K3 KJ KJ KJ

fjIqPll rIP]I KJ KJ KJ KJ KJ

3 Zig-zag

Pendistribusian dengan metode zig-zag dilakukan dengan menukarkan huruf asli dengan huruf yang sudah m~makai kunci (Kl) dan mencari huruf yang sama pada K2 dan K3 sehingga huruf yang menjadi teks-kode adalah huruf dari persamaan C = K3 dan sebaliknya Contoh

58 Pengantar IImu Kriptografi

Kli - I J bull bull I ~ vI ~ ~ t - t bull - U J - - m lt I - I - -I 1 - )

K21~~~1EI~ I ~ IFI~I J-I~I~lol IQlnls ITlulwlxlylz I

Dari teks-asH

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA

didapat teks-kode

FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK

422 KODE GESER

Teknik substitusi kode geser (shift) cengan modulus 26 memberikan angka ke setiap alfabet seperti a ~7 0 B ~7 1 Z ~7 25 Agar lebih jelas perhatikan comoh di bawah ini

A M

0 12

N 10 13 114

--- shyp Q R S T U V W X Y Z

15 16 17 18 19 20 21 22 23 24 25

Teks-asli We Will Meet at Mid Night

Kalimat di atas mendaoat angka dari setiap huruf sebagai berikut

22 4 22 8 II II 12 4 4 19 deg19 12 8 3 13 8 6 7 19

Untuk mendapatkan teks-kode kita mempunyai kunei 11 Dengan meshynambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4

Jqo~mo lttoq~o ltolt 59

Jika lebih dari 20 setelah ditambah dengan kunci maka akan dikurangi

dengan 26 Misalnya 22+11= 33 - 26 7 Setelah dikonversi menjadi huruf maka akan didapatkan teks-kode

HPHTWWXPPELEXTOYTRSE

Teks-asli We will meet at mid night

Teks-kode HPHTWWXPPELEXTOYTRSE

Kunci 11

423 KODE Hill

Kode Hill termasuk salah satu sistem kripto polialfabetik yang berarti karakter alfabet bisa dipetakan ke lebih dari satu maeam karakter Kode ini

ditemukan pada tahun 1929 oleh Lester S Hill Misalkan m adalah bilangan bulat positif dan P = C Ide dari kode Hill adalah dengan mengambil

m kombinasi linear dari m karakter alfabet dalam satu elemen teks-asli sehingga dihasilkan TIl alfabet karakter dalam saru elemen teks-asli

Misalkan m = 2 maka dapar ditulis suatu elemen teks-asli sebagai x = (XI X2)

dan suam elemen teks-kode sebagai y = (yl Y2) Oi sini yl yl adalah kombinasi linear dari XI dan X2 Misalkan

1 (jyl = llxl + 3X2

Ie j l y2 8xI + 7X2 dimlis dalam notasi matriks sebagai berikut

i) (jI11 811 j - q

(YIY2) (xx2 ) 3 shy -( o U S [( l -

Seeara umum dengan menggunakan matriks K m x m sebagai kunci

elemen pada baris i dan kolom j dari matriks K adalah kj maka dapat ditulis II [ cmiddot ( r

K (kJ Untuk x (XI Xm) E P dan K E K dihitung y eK(x) = (Yl ~ sebagai berikut -

kll 1 o

klmjk2J k2bull2 k2m Ii

(Y)Y2 (x) x2 X sS ~ ~ -

H

2

m

km 2 k~fTJ o

o

60 Pengantar IImu Kriptografi

dengan kat a lain y xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi

linear Untuk melakukan dekripsi menggunakan matriks inversi K-I dekripsi

dilakukan dengan rumus x =yK-

1 Perkalian matriks memiliki sifat asosiatif yaitu (AB)C A(BC)

2 Matriks identitas m x m yang ditulis dengan Im adalah matriks yang

berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya

Contoh matriks identitas 2 x 2

12 =

1m disebut dengan matriks identitas karena AIm A untuk sembarang

matriks I x m dan 1mB B untuk sembarang matriks m x n

3 Matriks inversi dari A (jika ada) adalah kl di mana AAmiddotI kA = 1m

Dengan menggunakan sifat-sifat matriks di atas maka

y xK

yKmiddotI (xK)KI = x(KKmiddotI) xlm X

Contoh

Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki

inversi pada Z26

fll 8)-1 l( 7 18) 3 7 23 11l

-

r A f

n~ Karena

III ~J (3 1 =(117+823 l118+8I1J

l3 37+723 318+711 II 261 2861

( 182 131) i

=(~ 1

Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26

~ AgorHmo Kriptogroti Kosik 61

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill

Misalkan kunci yang dipakai adalah

K=C ~) Dari perhitungan di atas diperoleh bahwa

K-I =( 7 18J 23 11

Misalkan untuk mengenkripsi teks-asli JULY ada 2 elemen teks-asli untuk dienkripsi

1 (920) ~

2 (11 24) ~ L Y

Kemudian lakukan perhitungan berikut

11 81 (9 20) ( 3 7j =(99+60 72+140) (3 4) ~ DE

dan

(11 8)(11 bull 24) 3 7 (121+72 88+168)=(11 22) ~ LW

sehingga enkripsi untuk JULY adalah DELW

Untuk mendekripsi dilakukan dengan cara

7 18)(3 4) 23 11 (9(

dan i

(11 =(11 bull 24)bull 223 -)

sehingga teks-asli diperoleh kern bali

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi Suatu

matriks K memiliki inversi jika dan hanya jika determinannya tidak no

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 8: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

56 Pengantar IImu Kriptografi

Dengan menggunakan lebih dari satu kunci bisa menggunakan metode pendistribusian kunci-kunci yang ada M(tode hi terdiri dari tiga bagian yaitu bIok karakter dan zig-zag

1 Blok

Metode untuk melakukan enkripsi dengan menggunakan blok adalah dengan membagi jumlah teks-asli menjadi blok-blok yang ditentukan tergantung dari keinginan pengirim pes an Coba perhatikan contoh di bawah ini

Teks-asH BANJIR MEREDAM JAKARTA HARGA BAHAN POKOK NAIK

Teks-asH di atas dibagi menjadi 8 blok Setiap blok berisi 6 karakter Karena blok yang ketujuh tidak mencukupi maka ditambah dengan karakter X atau karakter lain yang diinginkan

--_--- --_--- [MJAKAR] [TAHARGJ rABAHNl li~ I AIKXXX

Block 1 Block 2 Block 3 Block 4 Block 5 Illock 6 Block 7

KI

K2

KJ

Didapat teks-kode berikut

ODGBSI HKNKAY EllKCKN PDUDlI YOYBYI LJCJCH DSCXXX I I I I I I I I I

Kl K2 K3 K1 K2 K~ K1

Pad a contoh di atas Kl digunakan pada blok pertama K2 blok kedua K3 blok ketiga Begitu seterusnya Atau juga bisa dipakai untuk mengshy

enkripsi dua blok sekaligus dengan memakai satu kunci (Kl K2 atau K3) dan seterusnya Maka didapat hasil pendistribusian kunci untuk teks-kode sebagai berikut

ODGBSLHKNKA YEBKCKNPDUDLlYOYBYILJCJCHDSCXXX

~~ltaorimo ltxioltaro ltO( 57

Dengan menggunakan metode ini jika satu kunci ditemukan oleh kriptanalis belum tentu pesan bisa dipecahkan karena masih ada beberapa kunci lagi yang harus dicari

2 Karakter

Metode ini menggunakan pendistribusian per karakter hampir sama dengan metode biok Contoh pendistribusian per karakter adalah seperti di bawah ini

I I I I j TI-rIIJIIIIIlulIIAI~ILI_

K] I I - - r ITT I II n 1 I __ Iv ~ I I -ILD () N Y A n 1 T I lt Jl r r t -7 rr ow- _ _ _ __

10 K R J f T n r A r r r T bull bull bullbull

o Y Hll C N r K N A A K I D K C Y N PYA 0 N G

~j 1~u ~j 1~u ~j 1~u Jj 1~u K3 KJ KJ KJ K3 KJ KJ KJ

fjIqPll rIP]I KJ KJ KJ KJ KJ

3 Zig-zag

Pendistribusian dengan metode zig-zag dilakukan dengan menukarkan huruf asli dengan huruf yang sudah m~makai kunci (Kl) dan mencari huruf yang sama pada K2 dan K3 sehingga huruf yang menjadi teks-kode adalah huruf dari persamaan C = K3 dan sebaliknya Contoh

58 Pengantar IImu Kriptografi

Kli - I J bull bull I ~ vI ~ ~ t - t bull - U J - - m lt I - I - -I 1 - )

K21~~~1EI~ I ~ IFI~I J-I~I~lol IQlnls ITlulwlxlylz I

Dari teks-asH

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA

didapat teks-kode

FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK

422 KODE GESER

Teknik substitusi kode geser (shift) cengan modulus 26 memberikan angka ke setiap alfabet seperti a ~7 0 B ~7 1 Z ~7 25 Agar lebih jelas perhatikan comoh di bawah ini

A M

0 12

N 10 13 114

--- shyp Q R S T U V W X Y Z

15 16 17 18 19 20 21 22 23 24 25

Teks-asli We Will Meet at Mid Night

Kalimat di atas mendaoat angka dari setiap huruf sebagai berikut

22 4 22 8 II II 12 4 4 19 deg19 12 8 3 13 8 6 7 19

Untuk mendapatkan teks-kode kita mempunyai kunei 11 Dengan meshynambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4

Jqo~mo lttoq~o ltolt 59

Jika lebih dari 20 setelah ditambah dengan kunci maka akan dikurangi

dengan 26 Misalnya 22+11= 33 - 26 7 Setelah dikonversi menjadi huruf maka akan didapatkan teks-kode

HPHTWWXPPELEXTOYTRSE

Teks-asli We will meet at mid night

Teks-kode HPHTWWXPPELEXTOYTRSE

Kunci 11

423 KODE Hill

Kode Hill termasuk salah satu sistem kripto polialfabetik yang berarti karakter alfabet bisa dipetakan ke lebih dari satu maeam karakter Kode ini

ditemukan pada tahun 1929 oleh Lester S Hill Misalkan m adalah bilangan bulat positif dan P = C Ide dari kode Hill adalah dengan mengambil

m kombinasi linear dari m karakter alfabet dalam satu elemen teks-asli sehingga dihasilkan TIl alfabet karakter dalam saru elemen teks-asli

Misalkan m = 2 maka dapar ditulis suatu elemen teks-asli sebagai x = (XI X2)

dan suam elemen teks-kode sebagai y = (yl Y2) Oi sini yl yl adalah kombinasi linear dari XI dan X2 Misalkan

1 (jyl = llxl + 3X2

Ie j l y2 8xI + 7X2 dimlis dalam notasi matriks sebagai berikut

i) (jI11 811 j - q

(YIY2) (xx2 ) 3 shy -( o U S [( l -

Seeara umum dengan menggunakan matriks K m x m sebagai kunci

elemen pada baris i dan kolom j dari matriks K adalah kj maka dapat ditulis II [ cmiddot ( r

K (kJ Untuk x (XI Xm) E P dan K E K dihitung y eK(x) = (Yl ~ sebagai berikut -

kll 1 o

klmjk2J k2bull2 k2m Ii

(Y)Y2 (x) x2 X sS ~ ~ -

H

2

m

km 2 k~fTJ o

o

60 Pengantar IImu Kriptografi

dengan kat a lain y xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi

linear Untuk melakukan dekripsi menggunakan matriks inversi K-I dekripsi

dilakukan dengan rumus x =yK-

1 Perkalian matriks memiliki sifat asosiatif yaitu (AB)C A(BC)

2 Matriks identitas m x m yang ditulis dengan Im adalah matriks yang

berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya

Contoh matriks identitas 2 x 2

12 =

1m disebut dengan matriks identitas karena AIm A untuk sembarang

matriks I x m dan 1mB B untuk sembarang matriks m x n

3 Matriks inversi dari A (jika ada) adalah kl di mana AAmiddotI kA = 1m

Dengan menggunakan sifat-sifat matriks di atas maka

y xK

yKmiddotI (xK)KI = x(KKmiddotI) xlm X

Contoh

Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki

inversi pada Z26

fll 8)-1 l( 7 18) 3 7 23 11l

-

r A f

n~ Karena

III ~J (3 1 =(117+823 l118+8I1J

l3 37+723 318+711 II 261 2861

( 182 131) i

=(~ 1

Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26

~ AgorHmo Kriptogroti Kosik 61

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill

Misalkan kunci yang dipakai adalah

K=C ~) Dari perhitungan di atas diperoleh bahwa

K-I =( 7 18J 23 11

Misalkan untuk mengenkripsi teks-asli JULY ada 2 elemen teks-asli untuk dienkripsi

1 (920) ~

2 (11 24) ~ L Y

Kemudian lakukan perhitungan berikut

11 81 (9 20) ( 3 7j =(99+60 72+140) (3 4) ~ DE

dan

(11 8)(11 bull 24) 3 7 (121+72 88+168)=(11 22) ~ LW

sehingga enkripsi untuk JULY adalah DELW

Untuk mendekripsi dilakukan dengan cara

7 18)(3 4) 23 11 (9(

dan i

(11 =(11 bull 24)bull 223 -)

sehingga teks-asli diperoleh kern bali

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi Suatu

matriks K memiliki inversi jika dan hanya jika determinannya tidak no

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 9: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

58 Pengantar IImu Kriptografi

Kli - I J bull bull I ~ vI ~ ~ t - t bull - U J - - m lt I - I - -I 1 - )

K21~~~1EI~ I ~ IFI~I J-I~I~lol IQlnls ITlulwlxlylz I

Dari teks-asH

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA

didapat teks-kode

FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK

422 KODE GESER

Teknik substitusi kode geser (shift) cengan modulus 26 memberikan angka ke setiap alfabet seperti a ~7 0 B ~7 1 Z ~7 25 Agar lebih jelas perhatikan comoh di bawah ini

A M

0 12

N 10 13 114

--- shyp Q R S T U V W X Y Z

15 16 17 18 19 20 21 22 23 24 25

Teks-asli We Will Meet at Mid Night

Kalimat di atas mendaoat angka dari setiap huruf sebagai berikut

22 4 22 8 II II 12 4 4 19 deg19 12 8 3 13 8 6 7 19

Untuk mendapatkan teks-kode kita mempunyai kunei 11 Dengan meshynambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat

7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4

Jqo~mo lttoq~o ltolt 59

Jika lebih dari 20 setelah ditambah dengan kunci maka akan dikurangi

dengan 26 Misalnya 22+11= 33 - 26 7 Setelah dikonversi menjadi huruf maka akan didapatkan teks-kode

HPHTWWXPPELEXTOYTRSE

Teks-asli We will meet at mid night

Teks-kode HPHTWWXPPELEXTOYTRSE

Kunci 11

423 KODE Hill

Kode Hill termasuk salah satu sistem kripto polialfabetik yang berarti karakter alfabet bisa dipetakan ke lebih dari satu maeam karakter Kode ini

ditemukan pada tahun 1929 oleh Lester S Hill Misalkan m adalah bilangan bulat positif dan P = C Ide dari kode Hill adalah dengan mengambil

m kombinasi linear dari m karakter alfabet dalam satu elemen teks-asli sehingga dihasilkan TIl alfabet karakter dalam saru elemen teks-asli

Misalkan m = 2 maka dapar ditulis suatu elemen teks-asli sebagai x = (XI X2)

dan suam elemen teks-kode sebagai y = (yl Y2) Oi sini yl yl adalah kombinasi linear dari XI dan X2 Misalkan

1 (jyl = llxl + 3X2

Ie j l y2 8xI + 7X2 dimlis dalam notasi matriks sebagai berikut

i) (jI11 811 j - q

(YIY2) (xx2 ) 3 shy -( o U S [( l -

Seeara umum dengan menggunakan matriks K m x m sebagai kunci

elemen pada baris i dan kolom j dari matriks K adalah kj maka dapat ditulis II [ cmiddot ( r

K (kJ Untuk x (XI Xm) E P dan K E K dihitung y eK(x) = (Yl ~ sebagai berikut -

kll 1 o

klmjk2J k2bull2 k2m Ii

(Y)Y2 (x) x2 X sS ~ ~ -

H

2

m

km 2 k~fTJ o

o

60 Pengantar IImu Kriptografi

dengan kat a lain y xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi

linear Untuk melakukan dekripsi menggunakan matriks inversi K-I dekripsi

dilakukan dengan rumus x =yK-

1 Perkalian matriks memiliki sifat asosiatif yaitu (AB)C A(BC)

2 Matriks identitas m x m yang ditulis dengan Im adalah matriks yang

berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya

Contoh matriks identitas 2 x 2

12 =

1m disebut dengan matriks identitas karena AIm A untuk sembarang

matriks I x m dan 1mB B untuk sembarang matriks m x n

3 Matriks inversi dari A (jika ada) adalah kl di mana AAmiddotI kA = 1m

Dengan menggunakan sifat-sifat matriks di atas maka

y xK

yKmiddotI (xK)KI = x(KKmiddotI) xlm X

Contoh

Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki

inversi pada Z26

fll 8)-1 l( 7 18) 3 7 23 11l

-

r A f

n~ Karena

III ~J (3 1 =(117+823 l118+8I1J

l3 37+723 318+711 II 261 2861

( 182 131) i

=(~ 1

Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26

~ AgorHmo Kriptogroti Kosik 61

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill

Misalkan kunci yang dipakai adalah

K=C ~) Dari perhitungan di atas diperoleh bahwa

K-I =( 7 18J 23 11

Misalkan untuk mengenkripsi teks-asli JULY ada 2 elemen teks-asli untuk dienkripsi

1 (920) ~

2 (11 24) ~ L Y

Kemudian lakukan perhitungan berikut

11 81 (9 20) ( 3 7j =(99+60 72+140) (3 4) ~ DE

dan

(11 8)(11 bull 24) 3 7 (121+72 88+168)=(11 22) ~ LW

sehingga enkripsi untuk JULY adalah DELW

Untuk mendekripsi dilakukan dengan cara

7 18)(3 4) 23 11 (9(

dan i

(11 =(11 bull 24)bull 223 -)

sehingga teks-asli diperoleh kern bali

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi Suatu

matriks K memiliki inversi jika dan hanya jika determinannya tidak no

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 10: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

60 Pengantar IImu Kriptografi

dengan kat a lain y xK

Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi

linear Untuk melakukan dekripsi menggunakan matriks inversi K-I dekripsi

dilakukan dengan rumus x =yK-

1 Perkalian matriks memiliki sifat asosiatif yaitu (AB)C A(BC)

2 Matriks identitas m x m yang ditulis dengan Im adalah matriks yang

berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya

Contoh matriks identitas 2 x 2

12 =

1m disebut dengan matriks identitas karena AIm A untuk sembarang

matriks I x m dan 1mB B untuk sembarang matriks m x n

3 Matriks inversi dari A (jika ada) adalah kl di mana AAmiddotI kA = 1m

Dengan menggunakan sifat-sifat matriks di atas maka

y xK

yKmiddotI (xK)KI = x(KKmiddotI) xlm X

Contoh

Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki

inversi pada Z26

fll 8)-1 l( 7 18) 3 7 23 11l

-

r A f

n~ Karena

III ~J (3 1 =(117+823 l118+8I1J

l3 37+723 318+711 II 261 2861

( 182 131) i

=(~ 1

Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26

~ AgorHmo Kriptogroti Kosik 61

Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill

Misalkan kunci yang dipakai adalah

K=C ~) Dari perhitungan di atas diperoleh bahwa

K-I =( 7 18J 23 11

Misalkan untuk mengenkripsi teks-asli JULY ada 2 elemen teks-asli untuk dienkripsi

1 (920) ~

2 (11 24) ~ L Y

Kemudian lakukan perhitungan berikut

11 81 (9 20) ( 3 7j =(99+60 72+140) (3 4) ~ DE

dan

(11 8)(11 bull 24) 3 7 (121+72 88+168)=(11 22) ~ LW

sehingga enkripsi untuk JULY adalah DELW

Untuk mendekripsi dilakukan dengan cara

7 18)(3 4) 23 11 (9(

dan i

(11 =(11 bull 24)bull 223 -)

sehingga teks-asli diperoleh kern bali

Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi Suatu

matriks K memiliki inversi jika dan hanya jika determinannya tidak no

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 11: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

lt)

62 Pengantar IImu Kriptografi

Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan

hanya jika gcd(det K 26)=1

Unruk matriks A berukuran 2 x 2 nilai determinannya adalah

det A alla22 - al2a21

dan matriks inversi dari A adalah

322 -312)(det ( -321 311

Contoh

K = (113 7

maka

11 detK det 3 ~j 11 7 8 3 mod 26

(

= 77 - 24 mod 26

53 mod 26

=1

kemudian 1-1 mod 26 1 sehingga matriks inversinya adalah

(11

=l3 =(3 11

Contoh

Kode Hill dengan menggunakan matriks 3 x 3 dltngan kunci matriks (42 3 6 33 312)

Diketahui teks-asli berikut KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

ltasik 61

c~ -lt ~~~ B ~ B c oc

ltlJ_i j) iii -e~ D 0shy

t lt1 t I~ o

+ + +r--+ rKEN1 l ~~ 40 + 8 + 39)

(423) (10) (1~~ Mod 26 () ( H) JH6 3 3 4 50 + 12 + 39 (3 2 1 13 30 + 4 + 25 60) 8 I

3) AIK

4 0+ 16 + 30)( I I 0 + 24 + 30 uee

( ( (i~) Mod 26 (y) (g)I 2 1 0+ 8 + 20

Alm 0 + 26 + 21 )

= 0 + 39 + 21 VIB( i ~ ~) (~3) Gn Mod 25 C~1) (r)I _ 1 7 ( 0+13+14

ARG

(4 2 I) (0) (0 + 14 + 18 ) ( 5 ) (G)(32)6 3 3 17 0 + 21 + 18 39 Mod 25 13 N GND 3 2 1 5 0 + 17 + 12 29 3 0

ABB

(4 2 I) (0) (0 + 2+ 3) (5) (21) (V)6 3 3 1 0 + 3 + 3 5 Mod 25 20 = U VUX 3 2 1 1 0 + 1 + 2 3 23 X

MME

( 4 2 I) (12) (48 + 24 + 12) (841 (6) (G6 3 3 12 72 + 35 + 12 120 Mod 26 = 15 = 0)1 GOE 3 2 1 4 36 + 12 + 8 56 4 E

( I)

MHU

(12) (48+2+60)( I I 1 = 72 + 3 + 60 GFZ 4 2 (~~J) Mod 26 (15) (~)I 2 1 20 36 + 1 + 40

ATR

0+ 38 + 51) (89( i ~ ~) (109) (0+58+51 109 ~1) (~) LFBMod26=

3 2 1 17 0+ 19 + 34 531

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 12: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

64 Pengantar IImu Kriptografi

AKY

0 + 20 + ) (92) (14) (0) 0 + 30 + 7272 102 Mod 26 = 24 = Y OYG 3 2 1 24 o+ 10 + 48 58 6 G

ATK

( ~ ~ ~) (100) (

( ( (Q)0+38+30) (68) (16)~ ~ ~) (109) = 0 + 57 + 30 = 87 Mod 26 9 J QJN

~ 2 1 10 o+ 19+ 20 39 13 N

Eel

16 + 4 + 24) = 24 + 6 + 24 = SCE~~~) (~) G~) Mod 26 (~) =(~) =( ~ 2 1 8 ( 12+2+16

LME

2 )6 ~ = Mod 26 CKB ( 3 2 1

NDE

I 2 52+6+12) (70) (18)6 3 78 + 9 + 12 = 99 Mod 26 21 SVY( 3 2 ~ ) (1I) ( 39 + 3 + 8 50 24

RIT

4 2 68+16+57) ~32) (2) (C)6 = 102+24+57 183 Mod26= 1 = B CST( (~) C~)3 2 51 + 8 + 38 97 19 T

AXX

(~ ~ ~) () 0 +46 +69) (11~ (11) (L)= 0 + 69 + 69 = 138 Mod 26 8 I LlR(3 2 1 23 o+ 23 + 46 69 17 R

teks-kode dari teks-asli

KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA

adalah

JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR

Pada (ontoh di atas kekurangan pada akhir kalimat ditambah dengan humf x untuk mencukupi perkalian matriksnya Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka seperti 9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817atau menggunakan heksadesimal dan binari

65Algoritma Kriptografi Klasik

424 KOOE VIGENERE

Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher) Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis Blaise de Vigenere pada Abad 16 tahun 1586 Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig Algoritma ini bam dikenal luas 200 tahun kemudian dan dinamakan kode Vigimere Vigenere mempakan pemicu perang sipil di Amerika dan kode Vigenere digunakan oleh Tentara Konfiderasi (Confederate Army) pada Perang Sipil Amerika (American Civil War Kode ViJenere berhasil dipecahkan oleh Babbage dan Kltsiski pada pertengahan Abad 19

Gambar 44 Olaise de Vigenere

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teksshyasli tertentu satu atau lebih) pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara yaitu angka dan humf

4241 ANGKA

Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka hampir sama dengan kode geser

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 13: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

T HIS CRY P T

19 7 8 18 2 17 24 15 19

2 B 15 7 4 17 2 8 15

21 15 23 25 6 8 0 23 8

ElM SINIOITISIEICIUIRIE 4 12

15 7

B

4

18 13 14 19 18 4 2 20 17 4

17 2 8 15 7 4 17 2 8 15

19 19 12 9 15 22 8 25 8

Teks-asli This cryptosystem is not secure

Kunci (28 157 4 17)

66 antar IImu Kri

A I 8 I C I DIE I FIG I H J IKILIM

o I 1 I 2 I 3 I 4 I 5 I 6 I 7 I a I 9 110 111 12

N 0 P Q R STU V W x y Z

13 14 15 16 17 18 19 20 21 22 23 24 25

Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K 0= (2 8 157417) dan reks-aslinya This Cryptosystem is Not Secure

K05ik 67

4VU 1URUf

Ide dasarnya adalah dengan menggunakan kode Kaisar tetapi Jumlah pershygeseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula

(disebut juga bujUIsangkar Vigenere seperti gambar di bawah ini

ABC D E F G H I

A ABCDEFGHI J K L M N 0 r Q R S T U V W X Y Z

n B C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A

C C D E F G H I J K L M N 0 p Q R S T U V W X Y Z A B

D D E F G H I J K L M N 0 p Q R S T U vlwx y Z A B Cl

E E F G H I J K L M N 0 r Q R S T U V W X Y Z A B C D

F F G H I r K L M N 0 I Q R S T U V WX Y Z A B C D E

G G H I J K L M N 0 I Q It S T U V W X Y Z A B C D E F

H H I J K L M N 0 P Q R S T U V WX Y Z A B C D E F G

I J K L MN o l Q R S T U V W XY Z A B C D E FmiddotG ~cshy - - f-shyJ K L M N 0 l Q R S T U V WX Y Z A n C D E F G H I - iK L MN o l Q R S T U V W X Y Z A B C D E F G H I J-

G ITT e-middot

L M NO l Q R S T U VW X Y Z A B C D E F J K

I

K J u K 11 L

~ N 0 Q R S T U V W X Y Z A n C D E F G H I J K L N 0 I Q It S T U VW X Y Z A B C D E F G H I J K L M

o l U V WX Y Z C D E F~ H shy

Q R S T A B I J K L MN

I Q It S T U VW X Y Z A 11 C D E F G H ri J K L M N 0

C M N

0

l

Q S It S T U VW X Y Z A B C D E F G H I J K L MN o I

R S T U V W X Y Z A n C D E F G H I J K L M N 0 r Qf-shy TS U V WX Y Z A B C D E F G H I J K L M N o r Q It

f-shy -Ishy -I-shy

It

S

T T U VW x y Z A B C D E F G H I J K L MN 0 I Q It S

U U v WX Y Z A B C D E F G H I J K L MN o rQ It s T V VW X Y Z A B C D E F G H I J K L MN o I Q R S T U

_

W WX Y Z A B C D E F G H I J K L MN o r R It S T U V x x Y Z A B C D E F G H I J K L M N 0 r Q It S T U V W Y Y Z A B C D E F G H 1 J K L M N o l Q It S T U V WX

Z A 11 C D E F G H I J K L M N 0 I Q R STU VW x Y -_ ____ ___ __ __ _ _ _ L c __Z

0 S Y S T

14 18 24 18 19

7 4 17 2 8

21 22 15 20 1

19 22 25 19

Teks-kode VPXZGIAXIVWPUBTTMJPWIZITWZT

Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26

recta

Ilaintext J K L M NOr Q R STU V W X Y Z

Tabula recta digmakan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang teks-asli maka penggunaan kunci diulang Secara matematis enkripsi dengan kode Vigen ere bisa dinyatakan sebagai

E(pi) bull k(i mod m))

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 14: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

68 69 Pengantar IImu Kriptografi

dengan

huruf ke-i dalam teks-asli

kn huruf ke-n dalam kunci

m panjang kunci dan

V(xy) huruf yang tersimpan pada bans x dan kolom y pada tabula recta

Contoh kode Vigenere adalah sebagai berikut

Teks-asli KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE

Kunci KRIPTOGRAFI

Dengan menggunakan algoritma kode Vigenere maka akan didapat teks-kode sebagai berikut

UVIBTBGE DFBK WVVVZCTRKFV FZOTGSXHE HQZYMP

Car a menentukan teks-kode pada sistern ini pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci Jika teks-asli huruf uK maka lihat posisi huruf K pada teks-asli tabula recta dan posisi huruf UK pada posisi kunci jika huruf pertama kunci juga kebetulan uK Jika sudah menemukan tarik gans lurus ke bawah dari teksshyasli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf un Huruf U inilah yang akan menjadi teks-kode Begitu seterusnya Coba perhatikan contoh berikut ini

Algoritma Kriptografi Kla~ik

Untuk mendekripsi pesan penerima pesan harus mengetahui kunci yang digunakan lalu mencari baris huruf manakah yang menghasilkan huruf pada teks-kode jika kolomnya adalah hurufyang bersesuaian pada kunci Misalnya pad a huruf pertama teks-kode (D) huruf yang bersesuaian pada kunci yang digunakan adalah D Dengan melihat tabula recta huruf D pada tabel untuk baris huruf Dada pada kolom huruf A Karena itu huruf pertama teks-asli adalah A

Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teksshykode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 15: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

70 71 Pengantar Ilmu Kriptografi

Pada eontoh tersebut huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash

Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere

2 Plaintext

2k

11 15 2 26

1-1--+------------

6

ftl K I~ I

Gambar 45 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere

Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan pengshygunaannya yang berulang-ulang Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar

Metode Kasiski membanru menemukan panjang kunci-kode Vigenere Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf tetapi juga perulangan pasangan huruf atau tripel huruf seperti TH THE dsb Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang

Contoh

Teks-asli CRYPTO IS SHORT FOR CRYPTOGRAPHY

Kunci abcdab cd abcda bed abedabedabed Teks-kode CSASTP KV SIQUT GQU CSASTPIPAQJB

Algoritma Kriptografi Klasik

Pada eontoh tersebut CRYPTO dienkripsi menjadi kriptogram yang sarna yaitu CSATP Hal ini dikarenakan jarak antara dua buah string yang berulang di dalam teks-asli merupakan kelipatan dad panjang kunci sehingga string yang sarna tersebut akan muneul menjadi kriptogram yang sarna pula di dalam teks-kode Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci

Langkah metode Kasiski adalah sebagai berikut

1 Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang)

2 Hitung j-ak antara kriptogram yang berulang

3 Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin)

4 Tentukan irisan dari himpunan faktor pembagi tersebut Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut Nilai tersebut mungkin adalah panjang kunei Hal ini karena string yang berulang dapat munetll bertindihan (coincidence)

Setelah panjang kunci diketahui maka langkah berikutnya adalah menentushykan kata kunci Kata kunei dapat ditentukan menggunakan exhaustive kef search Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba

adalah 26Pbull Namun akan lebih efisien bila menggunakan teknik analisis

frekuensi

Langkah-Iangkah untuk melakukan analisis frekuensi adalah

1 Misalkan panjang kunei yang sudah berhasil dideduksi adalah n Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah pesan masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar)

2 Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi

3 Dari hasillangkah 3 kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 16: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

72 Pengantar IImu Kriptografi

Pada abad kemiddot19 dikembangkan aneka algoritma lain untuk kode abjad majemuk Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama

425 KODE PLAYFAIR

Kode Playfair ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada rahun 1854 dan digunakan pertama kali oleh tentara Inggris pada Perang Boer (Perang Dunia I) pada awal Abad 20 untuk mengirim pes an antarmarkas yang ada di Inggris

Sir Charles Wheatstone Boron lyon

Gambar 46 Penemu Kode

Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang Jyang ada di dalam alfabet) Dengan begitu kunci yang digunakan ada 25 alfabet Jumlah kemungkinan kunci pada kode Playfair 25=155112IO043330985984000000

Algoritma Kriptografi Klasik 73

Contch

Diketahui teks-asli Di dalam jiwa ya

Uotuk melakukan enkripsi kode berikut

Playfair

ng sehat t

mempunyai beberapa

erdapat akal yang schat

aturan

1 Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya Bila kedua huruf (karakter) tidak terletak pada satu baris atau kolom maka pergerakan karakter dimulai dari huruf kedua secara vertikal menuju karakter teks-kode yang pertama Misalnya teks-as1i di huruf keduanya adalah Hi maka dari i yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan d maka akan dijumpai karakter n (sebagai teks-kode) Untuk karakter yang kedua d mencari sisi lain seperti cara karakter Hi sehingga dijumpai karakter I Jadi teksshykode dad di adalah nl

S DT A ~ e ~E R II

vGF IK -pa UM Q

yW x zV

2 Bila karakter-karakter yang dienkripsi atau dekripsi berada pad a kolom atau baris yang sarna dan saling berdekatan maka digunakan prinsip enkripsi atau dekripsi ke bawah atau ke samping Cootoh untuk mengenkripsi an maka karakter di sam ping n adalah d da) karakter di sam ping a adalah un sehingga teks-kodenya menjadi dn

5 T A N D

E R C H B

K F G ] 11 M 0 p Q umiddot V W X Y Z

~L ~II ~ S T PI

e BHE BshyF G I LK

p ~QM a UI V YW IX Zl

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 17: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

--

74 Pengantar lmu Kriptografi

3 Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas tetap pada kasus baris terakhir karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut)

9 I( Ashy~ D

E R C H B

K F G I L

M a p Q U

V W x y z -

4 Jika terdapat karakter kern bar untuk pengfunaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut Sebagai contoh aa ii menjadi Haza izi tergantung kesepakatan

5 Untuk kepentingan analisis dari kode Playfair aturan sam aturan dua dan aturan tiga diberi singkatan Aturan satu ERDL (encipher right decipher left) sedangkan aturan dua dan tiga EBDA (encipher below decipher above)

Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini

Teks-asli Di dalam jiwa yang sehat terdapat akal yang sehat Teks-kode NLNEG DKQFYNXDNAKBRNARSTBXCNAGSIZDNAKBRNA

Karena ada 25 huruf abjad rnaka terdapat 25 x 25 = 625 bigram sehingga identifikasi bigram individual lebih sukar Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar hanya dua huruf sehingga kode Playfair tidak arnan Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf misalnya pasangan huruf TH dan HE paling sering rnuncul Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa

Algoritma Kriptografi Klasik 75

Inggris dan dipeeahkan

teks-kode yang cukup ban yak kode Playfair akan dapat

43 TEKNK TRANSPOSISI

Di atas kita sudah rnengenal teknik subsitusi kode Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode) Teknik ini menggunakan perrnutasi karakter yang mana dengan menggunakan teknik ini pesan yang asli tidak dapat dibaea keeuali oleh orang yang merniliki kunei untuk mengembahkan pesan tersebut ke bentuk semula Sebagai contoh

Ada 6 kunei untuk rnelakukan perrnutasi kode

JJpoundl~5li-3-1 51 1161412

Dan 6 kune untuk inversi dari perrnutasi tersebut

1 234 5 6 36152 4

Seandainya melakukan permutasi terhadap kalimat di bawah ini

SAY A SEDANG BELAJAR KEAMANAN KOMPUTER

Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai Daiam eontoh ini ditarnbah dengan huruf X Hal ini berguna untuk mempersulit analisis dari kod tersebut

SAYASE DANGBE LAJARK EAMANA NKOMPU TERXXX

Setelah dibagi menjadi 6 blok maka dengan menggunakan kunei di atas setiap blok akan berubah rnenjadi seperti di bawah ini

YSSEAA NBDEGA JRLKAA MNEAAA OPNUMK RXTXXE

Jadi teks-kode t yang dihasilkan

YSSEAANBDEGAJRLKAAMNEAAAOPNUMKRXTXXE

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 18: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

76 77 Pengantar IImu Kriptografi

Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas Ada banyak teknik untuk permutasi ini seperti zig-zag segitiga spiral dan diagonaL

1 Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im

A G A A M X Y S 11 B J R M 11 0 P R

A E A E A K A A K L E 5 0 L e 1 T

Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah

AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX

2 Segiiga masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah

S

A Y A B E L A J

R K E A M A N

A N K 0 M P U T E

R X X X X X X L

X ~

X X X _ bull_ _

Teks-kodenya adalah

RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX

3 Spiral teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah Lihat contoh di bawah ini

S A Y A S E

A M A N A 0 E E R X N A

K T X X K N

R U P M a G

1 J A L E B

Teks-kodenya adalah

SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB

Algoritma Kriptografi Klasik

4 Diagonal Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini

s 0 L E N E

A A A A K RI

Y N J M 0 x A G A A M X S B R N 17 Xj E E K A U

shy

Xi --- shy

Teks-kodenya adalah

SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX

Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa dishygunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)

44 ENKRIPSI SUPER

Pada pembahasan di atas semua tergolong kode yang sederhana dan mudah dipecahkan Enkripsi super merupakan suatu konsep yang menggunakan kombinasi dari dua atau lebih teknik subsirusi dan permutasi kode untuk mendapatkan suaru algoritma yang lebih andal (sulit dipecahkan) Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi) Contoh dari superenkripsi adalah seperti di bawah ini

Diketahui teks-ash

KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 19: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

78 79

Pengant(lr Ifmu Kriptografi

1 Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6

Teks-kode yang didapat

QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG

2 Menggunakan teknik transposisi kode (permutasi kode) dengan mengshygunakan teknik diagonal permutasi dengan kunei 4

Q K T Q0 G

N G X G H H S K S A G Z K 1 0

S TK K X 0 G X X

G

T

M

S

H Q

R J

Z X

Maka didapat hasil akhir sebagai berikut

QONGSAKSKGKQGHKGIKXXTGXHSZOTOXGTMSHQRJZX

Teknik dari enkripsi super sangat penting dan banyak dari algoritma enkripsi modem menggunakan teknik ini sebagai dasar pembuatan suatu algoritma

45 AlGORITMA YANG SEMPURNA

Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan Walaupun saat algoritma itu dirancang pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara

fgomo ltpgtgro ltoolt

manual Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10000 kata kunci per detik kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari

Sebelum membahas kriptografi modem sangatlah penting unmk mendisshykusikan konsep kode yang tak terpecahkan Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan Dalam sejarah kriptografi yang terkenal adalah Enigma yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai Mereka terlalu pereaya liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain

Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16 Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris Elizabeth untuk mendapatkan tahtanya Di perjalanan pesan rahasia tersebut direbut dari tangan kurir dan kode rahasia tersebut berhasil dipeeahkan oleh staf istana sehingga rencana untuk membunuh Ram Elizabeth gagal total sementara Ratu Mary kemudian dihukum paneung Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi

Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis Pada umumshynya algoritma kriptografi tidaklah sempurna algoritma yang lebih baik dan mempunyai sdipeeahkan adalah one time pad (OTP)

tetapi edikit

untuk kemun

mendapatkan gkinan untuk

46 RAHASIA YANG SEMPURNA

Skenario umum kriptografi adalah usaha unmk mengirim pesan rahasia ke penerima dengan menggunakan sistem kode untuk membuat pesan tersebut tidak bisa dipahami oleh pihak ketiga walau pun pihak ketiga bisa mengshyintempsi transmisi dari sistem pengiriman pesan Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut walaupun pesan jatuh ke pihak ketiga Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 20: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

80 81 Pengantar IImu Kriptografi

meneoba mengira-ngira pesan tersebut Sistem yang bisa meneapai objek ini

bisa disebut dengan rahasia yang sempuma (perfect secrecYJ Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini

Seorang direktur suatu perusahaan sebut saja Mr X akan membuat suatu

keputusan serius dalam saham perusahaan Tika membuat keputusan membeli

(buYJ maka akan meningkatkan nilai perusahaan tersebut Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar Untuk mengirim pesan ini ke pialang sahamnya jika keputusan ini tepat pada waktunya dan jelas maka keuntungan besar akan diraih tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang yang meneoba menebak dan mengubah pesan yang dikirim Kemungkinan ini berhasil 50 atau sarna dengan gambling

Mr X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi Untuk enkripsi tersebut digunakan subsitusi kode Hal ini umum dilakukan untuk mengirim pesan pendek tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana panjang dari pesan mempunyai eiri khas yang unik Diasumsikan peny~rang mengetahui sistem yang digunakan mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan

tidak mengetahui kunci dari pesan terse but

Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci K1 dan K2 Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan Untuk kunci K1 teks-kode dari teks-asH Buy adalah 0 dan teks-kode untuk

sell adalah 1 Untuk menyatakannya ditulis Ekl (Buy) 0 dan Ek2 (Sell) = l Ekspresi kl (Buy) 0 dibaea dari hasil enkripsi buy menggunakan kunei K1 adalah O Kode yang kompleks seperti

Kunci K2 Ek2 (Buy) = 1 Ek2 (SELL) = 0

Kunei Kl Ekl = 0 Ekl (SELL) = 1

Ekuivalen ditulis seperti di bawah ini

Kund BUY SeU KL-middotmiddot ] 1 K2- bull -1middotmiddot ]

Algoritma Kriptografi Klasik

Jika sistem yang digunakan dan 0 diinterupsi dan penyerang mfnyimpulkan bahwa pesan sell jika kunci K2 digunakan at au Buy jika kunci Kl Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna mungkin untuk menebak pesan yang ada menjadi 50 persen

Catatan Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai Jika pesan yang didapatkan tidak bisa dipeeahkan lain waktu jika ada pesan yang mempunyai

algoritma yang sarna akan lebih mudah dipeeahkan Pad a eontoh di atas Mr X selalu mengirim pesan dengan algoritma yang sarna Kemungkinan untuk diterka oleh penyerang menjadi 100 persen Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen

Pada situasi real-life ketika hanya menggunakan nomor (kunci) yang terbatas untuk suatu pesan dan pada situasi ini risiko pesan yang diterka lebih besar daripada menggunakan enkripsi yang disepakati oleh kedua belah pihak (menggunakan enkripsi yang selalu berbeda dalam setiap situasi) Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine)

PIN hanya digunakan oleh yang memiliki kartu Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN ia bisa berhasil dengan meneoba 10000 kemungkinan yang ada kalau ATM tidak membatasi PIN yang error dalam sekali transaksi Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN hal itu juga bukan sistem yang baik karena jika yang memHiki kartu tersebut tidak melapor ke bagian yang menangani masalah ini maka kemungkinan PIN tersebut untuk ditemukan juga eukup besar hanya saja membutuhkan waktu yang agak lama

Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan karena akan membuat reputasi mereka menurun di mata konsumen Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika Eropa maupun di Indonesia yang baik di dalam menggunakan kartu kredit debit atau kanu sejenis adalah

1 Jangan pernah memberitahukan PIN ke orang lain

2 Jangan pernah meneatat dan menyimpan PIN di manapun

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 21: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

83 82 Pengantar Ilmu Kriptografj

3 Mudah diingat dan unik (bukan tg] lahir nomor rumah dan sebagainya)

4 Jangan memberikan kartu ke orang lain

5 Sebaiknya setelah menggunakan ATM ulangi dengan memasukkan PIN yang salah supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong

6 Yang terpenting selalu waspada dari kemungkinan apapun

Bagaimana sebaiknya menjaga suatu rahasia agar aman Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada

47 ONE TIME PAD

One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak Pertama ditemukan oleh Mayor J Maugborne dan G Vernam rahun 1917 OTP termasuk dalam kelompok algorirma kriptografi simetri Setiap kunei hanya digunakan untuk sekali pakai Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tidlk mudah menerka Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan Conroh jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH

27564 34498 86670 32451 998123461Q 16843 46662 etc

ljH~S 01 ral1lorr( HUll1tHi $)

~ paivipapr Jhm ad tl1tlr a tfijja(lll quina viappamHfy rorufomfy 1Gflrn4 rmmb(f$

Gambar 47 Solah Salu SenIuk DIP

Algoritma Kriptografi Klasik

Penerima pesan memiliki salinan pad yang sama Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja Sekali pad digunakan ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi

Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere

1 Enkripsi j = (Pi + kJ) mod 26

2 Dekripsi ci == (Pi - fa) mod 26

Bila diketahui teks-asli ONETIMEP AD

Dengan kunci TBFRGF ARFM

Diasumsikan A 0 B == 1 Z 25

Maka akan didapat teks-kode lPKLPSFHGQ yang mana diperoleh sebagai

berikut

(0 + T) mod 26

(N + B) mod 26 = P

(E + F) mod 26 == K

(T + R) mod 26 L

(1 + G) mod 26 == P

(M + F) mod 26 S

(E + A) mod 26 F

(P + R) mod 26 H

(A + F) mod 26 == G

(D +M)mod26=Q

Sistem OTP tidak dapat dipeeahkan karena beberapa alasan

1 Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang

seluruhnya aeak

2 Mendekripsi teks-kode dengan beberapa kunei berbeda dapat menghasilkan teb-asH yang bermakna sehingga kriptanalis tidak punya ear a untuk menentukan reks-asli mana yang benar

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 22: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

84 Pengantar IImu Kriptografi

Contoh

Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ

Kriptanalis meneoba kunei POYY AEAAZX

Teks-asli yang dihasilkan SALMONEGGS

Bila ia rneneoba kunci BXFGBMTMXM

Teks-asli yang dihasilkan GREENFLUID

Dari eontoh tersebut sudah jelas bahwa kriptanalis akan binggung atau rnendapatkan teks-asli yang salah bukan ONETIMEPAD

Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan sehingga timbul masalah penyirnpanan kunei pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak rnaka tidak mungkin pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan

OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei Saluran ini pada umurnnya eukuD mahal dan larnbat

BABV TIPE DAN MODEL ALGORITMA

KRIPTOGRAFI

51 PENDAHULUAN

Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi Pada dasarnya ada dua tipe dasar algoritma simetri

L Blok Kode Algorima blok kode merupakan algoritma yang masukan dan keluarannya berupa satu blok dan setiap blok terdiri dari banyak bit (misalnya 1 blok terdiri dari 64 bit atau 128

2 Aliran Kode Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit) Pada blok kode blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi Sedangkan pad a aliran kode bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode

52 BIT-STRING

Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli Pada kriptografi modern karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits) yaitu 1 dan O yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange) Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit

Algoritma enkrip~i bisa menggunakan salah satu dari dua metode Yang pertama natural pembagian antara aliran kode di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit Metode kedua adalah blok kode di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok Sebagai eontoh sekuen 12 bit 100111010110 Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 23: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

106 ~______engantar IImu Kriptografi

100tJai Value en-I

KunC1

s-bls-bit

Plaintext BoCk3mml

Gambar 511 Proses Dekripsi Mode OFB

o

BAB VI ALGORITMA KRIPTOGRAFI MODERN

61 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan Fal ini sangat berguna untuk melindungi privacy data integrity authentication dan non-repudiation Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain

Gambar 61 Skema Kriplografi Modern

Pada gambar antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki seperti Privacy didukung oleh Encription Data Integrity didukung oleh pemberian MAC Authentishycation didukung oleh MAC ChalJenge Response dan Digital Signature Encription terdid dad Symmetric Key Public Key dan IVs sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers sementara Public Key tedid dari ECC dan RSA MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests Pseudo Random digunakan untuk

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 24: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

109 108 Pengontor Ilmu Kriptogrofi

IVs Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart

Cards sedangkan Nonces digunakan untuk menghasilkan Challenge Response

62 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN

Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim

melalu jaringan komputer Algoritma kriptografi modern terdiri dari dua

bagian

621 AlGORITMA SIMETRIS

Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya Contoh Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob Untuk mengirim pesan e xa (x) kepada Bob dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima Begitu juga sebaliknya

Plaintext input Ciphertext Plaintext output middot

4~~r-~~~-~ f ~~~~~~ middotLi~middotdj~ljSjJ II

~ ~~ ~) ~

t-shyr Same key

(shared secret) i nbull Gambar 62 Algoritmo Simetris

Algorifmo Kriptogrofi Modern

Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah

ini

1 Data Encryption Standard (DES)

2 Advance Encryption Standard (AES)

3 International Data Encryption Algoritma (IDEA)

4 AS

S RC4

622 AlGORITMA ASIMETRIS

Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengshyenkripsi suatu pesan sedangkan hanya satu orang saja yang memiliki rahasia itu yang dalam hal ini kunci rahasia untuk melakukan pembongkaran terhadap kode yang dikirim untuknya Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama

penemunya yakni Rivest Shamir dan Adleman)

Plaintext Input Cipher-text Plaintext Output

Dmetiflt keys ReCipientsRecipients private key public key

Gambar 63 Algoritmo Asimetris

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 25: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

110 Pengantar IImu Kriptografi

623 ALGORITMA HIBRIDA

Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci yairu kunci rahasia (simerri) - yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri

EE ---C ~ - ~ ~

jS~J2~~~dbullltt liM 1It~

~ Users ~key

(In certlflcate)

~ Randomly- ~Ir Generated symmetric session key

-tlr

Recipients ~key

Session key must be f~ decrypted using the

Digital envelope recipients ~ contains session j Wkey encrypted using recipients ~J1JJj (JJpybllc key

Gambar 6S Dekrip~i Hibrido

~~

t bull

EiJJllSlfjl

~ ~jJ~J~~f)middotimiddotmiddotmiddot

Other recipients or l-UI~ ~l agents ~ key

Ti[r (in certificate)b in reco~ery policy

Gambar 64 Enkrip~i Hibrido

lt

bull

Algoritma Kriptografi Modern 1 1 1

63 STANDAR ENKRIPSI DATA

Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia yang diadopsi oleh NISI (Nasional Institue ofStandards and Technology) sebagai stan dar pengolahan informasi Federal AS Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok yaitu pemrosesan kunci enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain

631 SEJARAH SINGKAT DES

Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer Proyek ini berakhir tahun 1971 dan li

I

Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 il bit dan menggunakan ukuran kunei 128 bit Setelah IBM mengembangkan I sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data II Encryption Standard) Proyek ini dipimpin oleh Walter Tuchman Hasil dari I riset ini merupakan VeTS Lucifer yang bersifat menentang pemecahan algoritma kriptografi 1

ill Pada 1973 National Bureau of Standard (NBS) sekarang menjadi National

ilInstitute ofStandard and Technology (NISI) mengeluarkan proposal untuk Jlkode standar nasionaL Proposal tersebut memberikan kriteria unruk standar

algoritma kripc)grafi sebagai berikut 1L Algorirma harus bisa memberikan level keamanan yang tinggi bull

2 Algoritma hal us lengkap dan mudah untuk dimengerti

3 Keamanan algoritma harus mempunyai kunci bukan tergantung dari algoritma yang ada

4 Algoritma harus aViil1able untuk semua user

5 Algoritma harus dapat beradaptasi dengan berbagai aplikasi

6 Algoritma harus ekonomis Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih

7 Algoritma harus efisien bila digunakan

8 Algoritma harus valid

9 Algoritma harus exportable

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 26: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

113 112 Pengantar Ifmu Kriptografi

Pada 1970 IBM dengan tim kriptografinya Kingston dan Yorktown Heights termasuk Roy Adler Don Coppersmith Horst Feistel Edna Grossman Alan Konheim Carl Meyer Bill Notz Lynn Smith Walt Tuchman dan Bryant Tuckerman menyampaikan hasH risetnya tentang proyek DES yang dulu diberi nama Lucifer dan mengajukan kandidat untuk kode standar nasionaL NBS meminta agen Nasional Security Agency (lSA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan Pada November 1976 Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication Undang-undang atas penggunaan DES FIPS PUB 46 diterbitkan 15 January 1977

Algoritma DES merupakan salah satu proposal terbaik tahun 1977 Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES Selama 20 tahun algoritma DES dipakai sebagai standar nasional hingga akhirnya diketahui bahwa algoritma DES tidak begitu aman karena DES tidak memiliki struktur internal yang kuat DES dievaluasi satu kali dalam lima tahun Evaluasi yang pertama 6 Maret 1987 dan evaluasi yang kedua pada 10 Desember 1992 Tetapi belum ada alternatif untuk menggantikan DES Pad a akhir tahun 1990 tepatnya tahun 2001 AES menjadi standar algoritma

DES merupakan keamanan dasar yang digunakan di seluruh dunia Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat baik dari segi password store data dan sistem kontrol akses

632 ALGORITMA DES

DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode DES beroperasi pada ukuran blok 64 bit DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit Skema global dari algodtma DES adalah sebagai berikut

Algoritma Kriptografi Modern

1 Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP) Bisa ditulis 1J IP (x) lJJRn di mana hJ terdiri dari 32 bit pertama dari 1J dan 32 bit terakhir dari tl

2 Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran) Setiap putaran menggunakan kunci internal yang berbeda

dengan perhitungan LRi

1 i 16 dengan mengikuti aturan berikut

Li = Ri - 1

Ri = Li - 1 $ (Ri-t Ki)

di mana EB merupakan exclusive-or dad dua f adalah suatu fungsi dan Kl 16 KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A) KI 10 Kl6 terdiri dari kunci skedul Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini

Gombar 66 Putaran Pertllma Enkripsi DES

3 HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP- 1) menjadi blok teks-kode Ipmiddotl ke bitstring Rl6L16 memperoleh teks-kode y kemudian y= Ipmiddotl(RI6L16)

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 27: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

114 Pengantar IImu Kriptografi

Fungsi f dia~bil dari masukan pertama argumen A dengan panjang bitstring

32 dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut

1 Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut

fix dan fungsi ekspansi E E(A) yang berisi 32 bit dari A permutasi

dengan cara tertentu dengan 16 bit sediktnya muncul dua kali

T [ E(A)

F(AJ)

Gambar 67 Rincian DES Fungsi f

2 Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B BlB1BtampampBBdk

3 Langkah berikutnya menggunakan beberapa kotak-S Sibullbull 56 Setiap Si

adalah 4 x 16larik yang dimasukkan dari integer 0 15 Dengan memberi

suatu bitstnng dengan panjang 6 seperti B = bt blblblbX maka akan dapat dihitung SAB) dengan mengikuti dua bit bt lx tentunya dengan

representasi binari dari row r of 5 (0 r 3) Gan empat bit blfublb

dengan represemasi binari i dari kolom c of S (Cmiddot c 15) Kemudian

SABI) didefinisikan sebagai entry SAT c) yang dituliskan ke dalam binari

dengan panjang bitstring empat Dengan begitu dapat dihitung Q SAB) 18

Algoritma Kriptografi Modern 1 15

4 Bitstring C= GlGCJGCSoOG dengan panjang 32 adalah permutasi dari

hasil bitstring P( G) yang didefinisikan untuk iA )

Fungsi f dije1askan pada gam bar di atas Pada dasamya bens subsitusi dengan

menggunakan S-box (kotak-S) dengan mengikuti permutasi P 16 iterasi dari f yang terdiri dari sis tern kripto

Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit DES

mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit Dengan demikian DES termasuk lama biok kode dengan

tahapan pemakaian kunci yang sarna untuk dekripsinya

1r=~~~-] OAr ~ ll --~ I OA1A4CAK -_

~iltJllaquoMI_ =rTAb

Gambar 68 Pemakeian Kunci pede DES

Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi

masukan yaitu

1 Teks-asli untuk dienkripsi dengan panjang 64 bit

2 Kunci dengan panjang 56 bit

Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 28: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

116 117 Pengantar IImu Kriptografi

Input Plainte)ll 16middot811

4 t bullbull UH~U~bullbullbullbull~middotmiddotmiddotmiddot bullbull_middotmiddot~middot

Initial Prmutaa

Perulngan Kata 1

~rulngan Kata 2

Input Key r-__5~6~~

Pllfhan permutasl

~Pillhan P6rmutaI2--Erenkunc

K2 Pilihan Permuta 2 Pegeaeran kunc

Crulan~ta~E)--~Pillhn p~ulaai 2 Ic32-b1tswap _)

c-L-Inyera dan

rmutas awol ) ~ t t

Output Ciphertext 64middot6il

0ea~~kuncJ

Gombar 69 Gomboron Umum Algoritmo OpoundS

Proses dari permutasi inisial (IP) teks-asli ada tiga

1 Teks-asli Mmiddotbit diproses di permutasi inisial (lP) dan menyusun kembali

bit untuk menghasilkan permutasi masukan

2 Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna yang menghasilkan fungsi permutsi subtitusi yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi

dari teks-asH dan kunci) masuk ke swap dan menghasilkan pre-output

3 Pre-output diproses dan permutasi diinversi dari permutasi inisial yang

akan menghasilkan teks-kode M-Bit

Algoritmo Kriptogrofi Modern

Proses dari kunci 56-bit

1 Kunci melewati fungsi dari permutasi

2 Penggeseran kunci yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi

3 Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit

633 PERMUTASIINISIAL

Di bawah ini kita akan mempelajari fungsi dad permutasi dan inversi dari permutasi tersebut yang mana akan dipertimbangkan dari 64-Bit yang akan diberi masukan M

MR MI M2 M4 M7M3 Ms M6

MI6M9 Mu MI4Mil MI2 MIsM IO

M I9 M2J M24MIS M21 M22MI7 M 20

M27 M30 M31 M32M25 M26 M 29M 28

MwM34 MJ7MJ3 MJ5 1136 M38 M 40i ~-----

M47M41 M42 M43 M44 M45 M46 M48i ~~~

M49 M52 M54 MSjM50 l MSI MS3 ~ ~~~

M64 MS7 MS9 M63MS8 M60 M61 M62

Jika M adalah bilangan binari kemudian dilakukan permutasi X = IP (M) seperti di bawah ini

shyJv5X Mso M42 M34 M26 Mill M lo M2

M60 M52 M44 M36 M28 M 20 MI2 --shy M4

-- shy

M62 M54 M46 M38 M30 M22 MI4 M6

M64 M56 M48 M 40 M32 ~----

M24 MI6 Mg

MS7 M49 M41 MJ3 M 25 M17 M9 MI-----c

MSI M43M59 M35 M27 MI9 Mil M3

Mill MSJ M45 MJ7 M29 M21 MI3 ~ 5

M63 M55 M47 MJ9 M31 M 23 MIS ~L~

M71

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 29: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

118 119

Pengantar IImu Kriptografi

Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)) yang akan mengembalikan M ke bentuk semula Di bawah ini adalah tabel dari initial permutarion (IP) inversi dari permutasi fungsi dari permut~si serta ekspansi dari permutasi

Tabel 61 Tabel Permuosi Algoritmo DES

Table Permutasi lJntuk DES

(al Initial Permutai lIP)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 62 54 46 38 30 22 14 6 64 56 4S 40 32 24 16 8

Jllpt Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

[put Bit 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64

Output Bit 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7Lshy __ -

(0) Inverse Initial Permutasi (11)

Input Bit Output Bit

1 2 3 4 5 Igt 7 8 9 10 11 12 13 14 15 16

40 8 4S 16 56 24 64 32 39 7 47 15 55

29

23 63 31

30 31 32Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28

38 6 46 14 54 22

38

62

39

30 37 5 45 13 53 21 61 29

Input Bit Output Bit

33 34 35 36 37 40 41 42 43 44 45 46 47 48

36 4 44 12 52 20

54

6e 28 35 3 43 II 51 19 59 27

55 56 57 58 59 60 61 62 62 64Input Bit Output Bit

49 50 51 52 53

34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25shy(e) Expantion Permutasi (E)

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output Bit 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11

Input Bit 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

OutputBi 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21

Input Bit 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Output Bit 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1

(d) Fungs Permuasi (1)

Algoritma Kriptografi Modern

Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES Pada tabel (a) awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit masukan kedua mengalami perubahan 50 bit dari masukan 2 bit dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64 Blok masukan mengalami permutasi dan kemudian menjadi masukan pada pershyhitungan kunci yang akan dipermutasi tergantung kunci yang dimasukkan

Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit

Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit

Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit

634 PEMBANGKITAN KUNCI INTERNAL

Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah yaitu KI K2 K16 Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna Kunci eksternal panjangnya 64 bit atau 8 karakter

Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini

Input Bit OulpuBit

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16_

16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10

Input Bit Output Bit

17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 30: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

120 121 Pengantarllmu Kriptografi

Tube 62 Permutosi Pilihon Solu (PC-I)

Table DES Schedule Key

Input Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE Output Bil 57 49 41 33 2S 17 9 1 58 50 42 34 26 11 10 2

Input Bit 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 Output Bit 55 51 43 35 27 IS 11 3 60 52 44 36 63 55 47 39

Input Bil 33 34 35 36 37 3 39 40 41 42 43 44 45 46 47 48 Output Bit 31 23 15 7 62 54 47 38 30 22 14 6 61 53 45 3

Inpul Bil 49 50 51 52 5~ 54 55 5~

Output Bit 25 21 13 5 2 2C 12 4

Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit Selanjutnya 56 bit ini dibagi menjadi 2 bagian kid dan kanan yang masing-masing panjangnya 28 bit yang masing-masing disimpan di dalam G dan n Gl bertsi bit-bit dari K pada posisi

57 49 41 33 25 17 9 15850 4234 26 18

10 2 5951 4335271911 3605244 36

Dl berisi bit-bit dari Kpada posisi

63 55 47 3931 23 15 7 62 54 4638 3022

14 661 534537 2921 13 52820 12 4

Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI63

Tubel 63 lumloh Pergeseron Bit podo Setiap Putoran

Nomor [nterasi

Perpularan Bil

Algoritma Kriptografi Modern

Misalkan (C Dt) menyatakan penggabungan C dan D (Cl Dt)) diperoleh

dengan menggeser C dan Dt satu atau dua bit Setelah bit bergeser (C Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut

Tubel 64 Permutas Pilihan Dua (PC-2)

Input Bil 1 2 3 4 5 6 7 fi 9 10 1] 12 13 14 15 16

Output Bit 14 17 11 24 1 5 2 28 15 6 21 10 23 19 12 4

Input Bil 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32

Output J3it 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40

Input Bil 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

Output Bit 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 -

Dengan permutasi ini maka kunci internal Ki diturunkan dari (C Di) yang dalam hal ini J( merupakan penggabungan bit-bit C pada posisi

1417 11 24 1 5 3 28 15 6 21 10

2319 12 426 816 7 27 20 13 2

dengan bit-bit D pada posisi

415231374755304051453348

444939563453464250362932

Jadi sctiap kunei internal G mempunyai panjang 48 bit Proses pembangkitan

kunci-kunci internal dapat dilihat pada gambar berikut ini

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 31: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

122 123 Pengontor IImu Kriptogrofi

KI

I I V -l ( Pennulas r KIe ( r PC-2 1

I--------I-----~~I Pennutasi PC-2 KI6

Gombar 610 Proses Pembangkitan Kunci Internal DES

Algoritmo Kriptogrofi Modern

II

S I 2 3 o

s ~

~ (I

$ I I (l

s i I gt

3 o

$~ i 1 I ~

3 (I

S 1 ~

o S1 I

2 ~

o S8 1

~

I 3

Tabel 6S DES Kalak-S

n 3 4 5 ( l( 9

14 4 13 2 15 II H J W ) IS 7 4 14 2 D I 10 ( 4 I 14 X n ( II IS 12 I~ 12 8 2 4 ltJ 7 5 II 15 I II 14 II ) I t) 7 3 13 4 7 15 2 II 1-1 l~ 0 (1 14 7 11 10 I D 5 S

13 8 10 1 3 15 4 1 1 ( 6 10 (I 9 14 ( 3 15 5 ( 13 13 7 0 lt) 4 6 10 2 It 13 ( 4 lt) 8 15 o 11I 10 13 0 ( lt) 7 -I 15 7 I 14 () Ii ltI 10 2

U II 5 ( 15 o 3 -I 10 ( lt) () I~ II 7 I 15 I J 15 0 ( 10 I ~ 9 4 2L 4 710 II ( N 5

14 II 2 12 4 7 n I 5 n I II 10 U II 15 lt)

I I l 11 7 I 14 J f 15 12 10 15 lt) to ~ 0 n 10 15 4 2 7 12 9 (i I

lt) 14 15 5 2 x 12 7 () 4 3 2 12 lt) 5 15 10 11 14 J II It 15 0 l- 11 J I 13011749 I 10 )4 3

I I II 13 12 1 7 14 III 15 6 II I~ 8 I 4 10 7 ) 5 132l46Li II 10 I

I 15 J3 II 10 7 J 12 5 7 II 4 I J I 14 206 2 14 7 4 f(I ~ 13 I 11

iO 11

ltshy 12 12 II

j 14

2 13 10

12 tgt 7 12

12 7 gt 14 2 12

14 ~

5 2 I 14 II

15 15 10 12 (l l

3 4 1shy j

4 111 7

I)

5 C ( 11

o Ii 3 14 ( II

10 l~

lt) IJ

II 13

5 ltI

Y ~

III 10 l 12 ( (i lt)

lt) 3 o 5

II J I II

5 10 II 5 II 12

10

U

ltJ

~

IU J 1-1 7 o II

U ( 0 ) 10

1 15 () 5

14 2 5 0 () 14

15

3 5

1-4

()

I s (

)

11

14 1

15 14 2 j

14 s 2

1-1

s o 5

II X

6

8 lt)

)

12 j

5 6

IS

7

~

o 13 II) 5

15 lt)

~

I 7

12 15 l)

J 14 I

(

14

x h

D I Igt

2 l~

7 ~

II

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 32: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

124 Pengontor IImu Kriptogrofi

Tabel 16 kali perputaran dad DES seperti di bawah ini

Tabel 66 Enam Belos Koli Perputoran Perhitungon Kunci

Permutasi Choice Two (PC-2)

Input Bit Output Bil

1 2 3 4 5 6 8 9 10 11 12 13 14 15 16

14 17 11 24 1 5 2 28 15 6 21 Ie 2l 15 12 4

Input Bit Output Bil

17 18 15 20 21 22 2l 24 25 26 27 2E 29 30 31 32

26 8 1euro 7 27 2C 13 2 41 52 31 37 47 55 311 40

Input Bit OutputBil

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 4E

51 45 33 4S 44 49 39 56 34 53 46 42 50 36 2S 32

Round 1

Input Bil 1 2 3 4 5 6 ) a 9 10 11 12 13 14 15 16

OutputBil 10 51 34 60 49 17 33 57 2 9 19 42 3 35 2E 25

Input Bit Output Bil

17 18 IS 20 21 22 23 24 25 26 27 2E 29 30 31 32

44 58 55 1 36 27 18 41 22 2E 39 54 37 4 47 30

Input Bit OutputBH

33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48

5 53 23 29 61 21 38 63 15 20 45 14 13 62 55 31

Round 2

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

2

17

36

33

2E I

143

134

45

3

1 26 152

1 35 136 I

115 1 21 153

I 41 I

37 I

14151 71

~

M

1l

I 25 I 49

1 39 I 40

I 30155

61

9

38

113

13 114 115 lIE

60 27 18 17

29 30 31 32

29 63 39 22

45 46 47 48

54 147123

Round

Algoritmo Kriptografi Modern 125

Round 4

Input Bi 2 3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116

Output Bit 35 111 155 149 I 9 142 I5a 117 I27 I34 1441 2 157 160 1511 50

Input Bit Output Bit

VI331

HI18 HI~119 I

ln26 l2125 I

2I252

3I143

~I25I26I~I28I~I~I~t~ 31 ) 53

46 4748

22 15 54

InputBll Output Bit

~

63

g

23

Round 5

Input Bit 1 2 3 4 5 6 ) 8 9 III 11 12 13 14 15 1euro

Output Bit 19 611 43 33 58 26 42 1 11 18 57 51 41 44 35 34

Input Bit 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32

Output Bit 17 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37

[nputBii 33 34 35 36 37 38 39 40 41 42 43 44 45 4i 47 48

Output Bit 47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38

Input Bil OutputBt

Input Bit Output Bit

Input Bit Output Bit

Round 6

31415161718 14115 I If

57 19 18~V42ll26~

~ 31 32

~~~0l134

H~n2223~

62 38 21

46 47 48~36~38~g

5314612114 I 5S I 20 1 47129154

Round 7

Input Bit Output Bit

InputIiI Output Bit

InputBit OutputBt

2 I 3 5 I 6 I 7 I 8

52157111 26 I 59 110 I 34

VIHIHI~~2223~

a42~WU

36~38~g

39 I 4 I31 1 13 1 38

16

2

32

6

Input Bit Output Bit

Input Bit Output Bil

Input Bit Output Bit

13 114 115 116

4411112

29 30 31 32

13 47 23 6

45 46 47 48

20138 131 I 7

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 33: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

126 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127

1_ound 8

Round 12InputBii OutputBif

InputBif OutputBil

Input Bit OutputBil

1 2_ 3 4 5 6 ] 8 9 Ie 11 12

36 41 60 50 10 43 59 18 57 35 9 3

17 U 19 20 21 2223 24 25 26 27 28

34 15 49 Zl 2(i 17 44 2 lZ 54 61 13

33 34 35 36 37 38 39 40 41 42 43 44

62 47 45 23 5S 15 28 22 37 46 39 4

Round 9

13 14 15 1~

58 25 52 51

29 30 31 32

31 30 6 2C

45 46 47 48

l 21 14 53

Input Bit outputml

InputBii -9utpt Bif

InputBiI ()utput Bil shy

2

13 16

50 43

29130131132

23 2 61 12

45 46 47 4li

6213645

InputBil OutputBii

Input Bi -OutputBil

lnputBil OutputBii

1 2 3 I 5 6 7 Ii 9 10 11 12

41 17 36 26 51 15 35 55 33 11 50 44

17 18 19 2C 21 22 23 24 25 21i 27 28

10 60 25 3 2 58 49 43 5S 30 37 20 33 34 35 36 37 38 39 40 41 42 43 44

38 23 21 62 31 54 I 61 13 22 15 47

13 14 15 16

34 1 57 27

29 30 31 32 6 45 63

45 46 47 48

46 28 53 29

Round 11

6 ] I 8 9 10 11 12

3 19 4311760134 57

22 23 I24 1251 26 I27 28

514213312713911421 4154

37 38 139 40 I 41 I 42 I 43 144

15 38 155145 2B I 6162 131

Input Bit 1 2 3 4 5 6 - 7 a l 10 11 -12 131415 16

Output Bit 9 50 33 59 19 52 3 271 44 18 14i2 34 25 60

Input Bit 1718 19 20 21 22 2324-25 26 27 ~ 29303132

Output Bil 43 57 58 36 35 26 1711 middot23 61 5 5li~37

Input Bit- 33 34 35 36 37 3S 39 4041 424344 ~14647148 Output BiI 6 54 20 30 62 2239 29 12 53 46 15 146321128

Round 13

Input Bit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Output Bit 58 34 17 43 3 36 52 IIi 50 57 2 25 51 18 9 44

Input Bit 11 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Output Bit 27 41 42 49 19 10 1 6C - 45 20 39 22 middot21 28 -15

Input Bit 33 34 35 36 37 3S 39 40 4i 42 43 44 45 46 47 48

Output Bil 53 3S 4 14 46 6 23 13 63 -37 30 62 6f 47 5 12

Round 14

Inlut Bit Output Bit

Input Bit Output Bit

Input Bit Output Bit

6 1 7111 12 16

42 52 149 I 36 160 57

17 21 1221231241251261271 28 32

1125 126 1331 3159501 44 54294 62 33 I Ul 351 36 I 37 3B 39140 14H42 143 47148

37122155 161 130153 L7123 14721114 20163

Round 15

Input Bit Output Bil

input Bit O~tputBlt

Input Bit Output BlI 21

ound 1~

Input Bitgt jiZ 3 4 5 6 7 $-1$ 10 111Z 3 14 1516

Output Bit -lt 18 59 42 3 5725 41 361(1 17 27 5011 43 34 33

Input Bit -17 1819 20 21 22 23 2(25 26 27 za 29 3C31 32

Output Bit 521 2 9 4435 26 ~49K 5 47 62 45 12 5S3S

lnputBU Output Bit

Input Bit QutputBil

JnputBil OutputBil

InputBil OutputBil

23456

571335242235

17 lIB 19 120 21 22

26111 141 115 18 I 9

33 36 38

54 IS ]

Round 10

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 34: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

128 129 Pengantar IImu Kriptografi

Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 RI dan akan mengeluarkan keluaran teks-asli

Di bawah ini iterasi algoritma DES lIt 32 ait 32 Bit 28 Sit 28 ait

LJI RImiddott CIl Ol

I

L Expan

t Pfgbullbullbulln

Pgenl1l

PHmllltl (ETabl

48 Bit f

i XOR 48 BI1

_~ Kl

_____~

Prmuh

(Plhln drl Permut 2)

48 Bit

~_--L _

Subtftu1 (S-bo)

32 Sit

_f

Permubl (P)

32 Bit XOR

f T LJ R CI 01

Gambar 611 Itera~j Algoritma DES

635 PENGKODEAN

Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal biok teks-asli mengalami 16 kali putaran pengkadeall Setiap putaran

pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai

L RJ-I

Ri L-I EEl f(R-If(j)

Algoritma Kriptografi Modern

Contah 1 dari enkripsi DES

Bila diketahui teks-asli dalam heksadesimal

o123456789ABCDEF

dengan menggunakan kunci (heksadesimal)

133457799BBCDFFl

Kunei dalam binari tanpa plrity-check bits adalah

00010010011010010101101111001001101101111011011111111000

Dengan menerapkan IP (intiaJ permutation) maka In dan Ro biner)

Lo 11001100000000001100110011111111 L1 Ro 11110000101010101111000010101010

16 putaran untuk melakukan ~nkripsi sebagai berikut

J(-(Q 01 11 lOlOOOOlUlOlOlOI01010ll 11010000iOTOIO lO HllQ 1 KI 00011011000000101110111111111100011100QOOIIIOOIO

E(Ro)0lt = 011000010001011110111010100001100110010100100111I Smiddotbo) outputs 0101 1IOOI00QOOI010IIOI01 100101 11

f(RoK) 00100011010010]01010100110111011 L~ = RI = 11101111010010100110010101000100

E(R 1 ) 011101011110101001010100001100001010101000001001 K 011110011010111011011001110110111100100111 100101

I S(R) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ SmiddotOOx outputs 11111000110100QOOOIII01010101110

f(Rs K2) OOllll00WI010111()OOOI1110100011 L) = R - 110011VOOOOOOOOIOl11011100001001

E(R) ITIOOIOllOUOOOo)OOOOOOI010l11010111010000l0l(10l1 K3 = 01010101111111001000101001000)10110011111oo11001 _E(R2) EEl K3 101100000111110010001000111110000010011111001010

Smiddotooo ootPV$ 00100111000100001110000101101111 f(RlK3 01001101000101100110111010110000

pound1 = R3 10100010010111000000101111110100

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 35: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

131 Pengantar IImu Kriptografi

01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101

----------~

101110101110100100000100000000000000001000001010 jl

011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 i 0010100oo001001110101101110000l1 Jl 10001010010011111010011000110111---------------___-----------shyll000101010H)o1001011 111110100001100000110101111 1 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~

11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100II0I 0111110 IIIOI)OOOU I 001110II00 11111 01111 00010000011101010100000010101101 1000110(OOOOO I 0 1000111 0000100III 000001 HlO 1001010101 110 1000010000---------shy

E(Jh) K

E(Rr) (poundI K S-box OltpU~

J(R7KII )

Li =RII

E(Rs) (9

E(Rs) e (g SmiddotOOll outputs

f(~ () LH1 ~

- 0000000011000010010 10 WI 0 101111101 000000 10100000 111101111000101000111010110000010011101111111011 = 111101110100100001 1011 1110011 1l001l1l01lOI0110 1

01101100000110000111110010101110 = 00111100000011101000011011111001 = 11010101011010010)00101110010000

011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001

== 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll

=0 ooI0oo100011011001l111000110101O 00100100011111001100011001111010

Algoritma Kriptografi Modern

E(I4) = 000I000QI000001111111001flI1000001100001111110100 KIO = 101100011111001101000111101110100100011001001111

E(I4) It) KIo 101000010111000010111110110110101000010110111011 Smiddotbox OUIPUt$ 11011010000001000101001001110101

f(I4K1o) 01100010101111001001110000100010 LII =RIO 10110111110101011101011110110010

E(nUlfmiddot-~-OlO110101111111010101011l11010101IIIl101l01001O Ku

ERIO e KII Smiddotbox outputs

(RloKII )

Lu Ii I

E(Ru) KI2

~(Rlll ID KJ~

1S-box outputs

ftRIIKll) Lll RI2

---E(Rr---ool]eiToTOiTfiOn-ffficilofo5Cfifli0000001001lOOOlfl (ll =

E(RI~) () KIJ

Smiddotbox outputs f(Ru(13 =

pound14 RIJ =

E(RI3) K14

ER(3) () K14 S-oox outputs

fCR13Ku) LI~ RI shy

K(R) KI~ =

E(Rbullbull )ltDKu S-oox OUlpulS

j(R14KI~ ) Ll( =RIgt

-=

=

001000010101111111010(111110111101101001110000110 at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 11100001000001001111101000000010 11000101011110000011110001111000

011000001010101111110000000111111000001111110001 = 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000

011110111000101100100) 1000110101 = 110000100010001100111111101010 01110101101111010001100U01011000

10010111110000111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000II00011 0000 llOOOlOlO10l0 11010

0000111]0001011000000110100010101010101011110100 OlO 1111010000111 0110111111100101110011100 111010 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101

111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100

I

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 36: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

------------

132 Pengontor Ilmu Kriptogrofi

E(Rl~) 001000000110101000000100000110100100000110101000 K~ 110010110011110110001011000011100001011111110101

qRI~) ill KI~ 11101011010]0] J J 10001111000101000101011001011101 S-lxJr OUlpUls 10100111100000110010010000101001 f(Rl~ KIfraquo - IIOOIOOOlIOOOOO)))OOIIIIIOOIIOOO

RI6 00001010010011001101100110010101

Setelah dilakukan 16 perputaran dengan menerapkan IP-I to RlhLI6 maka diperoleh teks-kode sebagai berikut (dalam bentuk heksadesimal)

85E813540FOAB405

Contoh 2 dari algoritma DES seperti di bawah ini

Diberikan teks-asli COMPUTER

- tPlairitextr~~ HexadedmaL bull -)tiBiner -~ ~

C 43 01000011

0 4F 01001111

M 40 01001101

P 50 01010000

U 55 01010101

T 54 01010100

E 45 01000101

R 52 01010010

Teks-asli heksa

43 4F 4D 50 55 54 45 52

Teks-asli biner

xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101

Misalkan kunei heksa

13345779 9B BC DF Fl

Modern 133

Kunei biner

K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001

Dengan initial permutation diperoleh

xo =IP(x) LoRo

di mana

10 11111111 101110000111011001010111

Ro 00000000 00000000 00000 II 0 10000011

Enkripsi DES 16 putaran

Dengan lltilt16

Li Ri-l

Ri Li-I (B f( RH Ki)

Ki= PC2(Cn)

C

n

CoDo

Putaran 1

E(Ro) 100000000000000000000000000000001101010000000110 Kl 000110110000001011101111111111000111000001110010 E(Ro)(BKl 100110110000001011101111111111001010010001110100 Keluaran

kotak-S 10000101010010000011001011101010

F(RoKl) 00101000101100110100010011010001 I

L2=RI 11010111000010110011001010000110 I

Putaran 2

E(Rl) 011010101110100001010110100110100101010000001101 K2 011110011010111011011001110110111100100111100101 E(Rl)(BK2 000100110100011010001111010000011001110111101000

11011100010000111000000011111001Keluaran

01010010

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 37: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

--

135 13~ Pengantar lImu Kriptografi Algoritma Kriptografi Modern

kotak-S F(RIK2) 10001011110110011000110000010011 13=Rl 10001011110110011000101010010000

Putaran3

E(R2) 010001010111111011110011110001010101010010100001 KJ 010101011111110010001010010000101100111110011001 E(Rl)$K 000100001000001001111001100001111001101100111000 Keluaran 11010110001111001011011001111111 kotak-S F(RlKJ) 01101111101100101001110011111110 lA=Rl 1011100010111001101011100111000

Putaran 4

E(R1) 010111110001010111110011110101011100001111110001 K4 01110010101011O111O1O11O1O11011O01lOlO1O0011lO1IE(Rl)EDK4 001011011011100000100101000011101111011011101100 Keluaran 00101001110100001011101011111110 kotak-S F(RlK4) 0011111100111011~OQ011110100OQI J Ls=R4 10110100111000101100110100110001

Putaran5

E(R4) 110110101001011100000101011001011010100110100011 Ks 011111001110110000000111111010110101001110101000 E(R4)$lG 101001100111101100000010100011101111101000001011 Keluaran 01000001001111011000101011000011 kotak-S F(R4Ks) 10010101001100101101100001000101 u=Rs 00101101100010110111011000111101

Putaran 6

E(Rs) 100101011011110001010110101110101100000111111010 K6 011000111010010100111110010100000111101100101111 E(Rs)EJ)K6 111101100001100101101000111010101011101011010101 Keluaran 01101101110111000011010101000110 kotak-S

F(RsK6) 00100100000110111111001111111000

_

b=R6

Putaran7

E(fu)

K7 E(R6)EJ)K7

~

Keluaran kotak-S F(R6K7)

La=R7

Putaran8

E(R7)

Ks E(R7)EDKs Keluaran kotak-S F(R7KK)

10010000111110010011111011001001 I

110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111

-

11100011011010110000010100101101

- -

11001000110000011110111001101100 11100101010010101001100001010001

111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101

00000111001110010010100101100001 19=RK

Putaran9

E(Rs) K9 E(Rs)ffiK9 Keluaran kotak~S

f---- shyF(RaKy) LI()=R9

PutaranlO

E(R9) KIO E(R9)ffiKIO

10010111110000000001011110101000

010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010

11011001001110111010001110010100 00111100011100010011101111000101

100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101

00001100000101010110111000100100 10011011110101010111100110001100

- shy

c-Keluaran kotak-S

I---shyF(R9KIO)

LII=RIO

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 38: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

Algorifma Kripfografi Modern 137136 Pengantar IImu Kriptografi

Putaran 11

010011110111111010101010101111110011110001011001 i KlJ ~(Rlo)

001000010101111111010011110111101101001110000110 E(RIO)EBK 011011100010000101111001011000011110111111011111

I Keluaran 01011110000011001101101111000010 kotak-S

F(RIl)KII) I 01110001001111101011000001010011 I 01001101010011111000101110010110ILI2=RII

I Putaran 12

E(RII) 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001~2

E(RII)EBK2 010100001101101110101010010100010001101101000101lKeluaran 01101000000010110011011010101101 kotak-S F(RJ IKI2) 10101000011010001000111011101001

f-- LI3=RI2 00110011101111011111011101100101

Putaran 13

100110100111110111111011111110101110101100001010 Ki3 E(R2)

100101111100010111010001111110101011101001000001 E(R2)EBKI3 000011011011100000101010000000000101000101001011 Keluaran 11111001110110110010010010110011 kotak-S I F(RI2KJ3) 10000110110010111100111111001011 L4=RI3 11001 011100001000100010001011101

LPutaran 14

E(R13) 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010

E(R13)EBK14 KI4

101110100011111110111111110100100110010111000001 Keluaran 10111000011111101100010111000001 kotak-S F(RnKI4) 00000101110111010011101001001111 LIS=R4 00110110011000001100110100101010

Putaran 15

E(RI4) 000110101100001100000001011001011010100101010100

~-----

Kl~ 101111111001000110001101001111010011111100001010 E(RI4)EBKlS

Keluaran

101001010101001010001100010110001001011001011110 01000001001110011111011100100111

kotak-S F(RI4K1S) L16=RIs

10100101001001101110110011101100 01101110101000101010100010110001

I

Putaran 16

E(Rls) KI6

101101011101010100000101010101010001010110100010 -

110010110011110110001011000011100001011111110101

E(RIS)E[)KI6

Keluaran

011111101110100010001110010110110000001001010111 10000001011010101111011101001011

kotak-S

F(RISK16) Rio

00101001111101110]10100011001100 00011111100101111010010111100110

Teks-kode biner

y IpmiddotI(RI6L6)

0101011011110001 11010101 1100100001010010 10101111 10000001 00111111

Teks-kode heksa

56 Fl D5 C8 52 AF 81 3F

Teks-kode ASCII

VfiOEWD

Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat

pada lampiran di akhir bab inL

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB CBC OFB dan CFB Namun karen a kesederhanaannya mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus Mode CBC kadang-kadang saja digunakan

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 39: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

bullbullbull

bullbullbull

139 Pengantar IImu Kriptografi

636 MODE OPERASI DES

DES dapat dioperasikan dengan mode ECB eBC OFB dan CFB Namun karena kesederhanaannya mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan Mode CBC

Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus Mode CBC kadang-kadang saja digunakan

Mode ECB cocok digunakan untuk blok kode Diberikan urutan XlXl bullbullbull 64shybit blok teks-asli Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K yang menghasilkan suatu blok string teks-kode )I2

Pada mode CBC setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan11 = IV kemudian dibangun)l2

dari aturan yl = eA(yi-1 () Xi) i lt 1 Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini

0 bullbullbull

encrypl

decrypt

QI

Gombor 612 Mode eBe

Algoritma Kriptografi Modern

perhitungan kunci aliran ZlZl dari aturan Zi eA(ztI) i lt 1 Urutan teks-asli XlXl bullbullbull adalah perhitungan enkripsi dari Yj Xi () Zi j lt 1

Pada mode CFB dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode

kemudian Zj eA (ytI) h 1 sarna dengan mode OFB yi = Xi Zi i lt 1 Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini

IIV ~hl--ICP 9

rhl--1r 9J

encrypt y y 2

~ CJl 1- N_ ~GJ-8 LGJ-8 L

~ ~ decrypt [J [J

Gombar 613 Mode UB

Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64) 64-bir bisa dijelaskan I-bit dan O-bit Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna

Empat mode operasi blok kode seperti Electronic Code Book (ECB) Cipher Block Chaining (CBC) Cipher Feed Back (CFB) Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing Mode ECB dan OFB

menukar satu biok teks-asli 64-bit Xi karen a koresponden blok teks-kode yi

yang diubah karena biok teks-kode yang lain tidak diubah

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 40: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

140 141

Pengantar IImu Kriptografi

Listing program untuk enkripsi dan dekripsi algoritma DES

Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan mengshy

gunakan bahasa Pascal bukan listing program secara keseluruhan supaya

buku ini tidak terlalu tebal

procedure Enkripsi

begin

for i= 1 to 64 do

for j=1 to 32 do L[O][iJ gtO[i]

for 1=1 to 32 do R[O][ij = xQ[i+32]

write(Plaintext ) write(plaintext) writeln

write(Plaintext dIm hex ) for i=1 to 8 do writeln

writeCKey dim hex ) for i= 1 to 8 do write(key_Hex[i]) writeln

writeln( 2 3 4 5)

writel nC 12345671190 1234567890123456789012345678901234567890)) write(LO ) for i~1 to 32 do write(L[O][i]) writeln

writc(RO ) for i-I to 32 do write(RfOll ill writcln writeln

( Mulai enkripsi 16 putaran )

for i=1 to 16 do begin

Round i)

( permutasi E (expansion function) J

for i= 1 to 48 do E_ [ E(Ri) XOR Ki J

for j~ 1 to 48 do begin

if E_Ri(jJ Ki[ i][iJ then E_XOR_K[j] = 0

else E_XOR_K[j] = ]

end

( B 48 bit dipecah menjadi B182B3 88 masing-masing 6 bit J n= 0

for i~1 to 8 do begin

for k= 1 to 6 do begin n n + 1

B(j][kJ E_XOR K[nJ end

end

( menghitung C]C2 C8 dengan kotak-SJ

Algoritma Kriptografi Modern

for to 8 do begin baris= 0

if 8[jJ(1]=1 then baris = baris + 2

then baris baris + I kolom= 0

if8[j][2]=1 then kolom= kolom + 8

if BU][3] I then kolom kolom + 4

if B[j][4Fl then kolom = kolom + 2 ifB[mS]=l then kolom= kolom + 1

ifj=l then cc= SBoxl[baris kolom)

2 then cc SBox2[baris kolomJ

then cc= SBox3[baris kolomJ if j=4 then cc = SBox4[baris kolomJ

i[=S then cc SBox5[baris kolomJ

then cc= SBox6[baris kolom] if=7 then cc= SBox7[baris kolom]

then cc SBox8[baris

for bl to 4 do C[j][kJ = bindigit[cc][k] end

[ menggabungkan CIC2 C8 ) n~ 0

for j=1 to 8 do begin

for k=1 to 4 do begin n n + 1

C_All[nJ end

end

( permutasi P J for j=l to 32 do F _R_K[j] ~ C_AlI[P[jJl (Li = R(i-l) J

then

else R[i][jj ~ ]

end

write(ERi ) for to 48 do write(E_Ri[jJ) writeln write(Ki ) for j=1 to 48 do write(Ki[i][j]) writeln

write(XOR ) for j=l to 48 do write(E_XOR_K[j]) writeln

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 41: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

142 143

Pengantar IImu Kriptografi

writeCsbo ) for j=1 to 32 do write(C_All[j]) writeln

write(frk ) for j=1 to 32 do write(F_R_K[jJ) writeln write(Ri ) for i= 1 to 32 do write(Rfill il) writeln readln

end

for j=1 to 32 do R16L16il R[16)[j]

for j=ltO 32 do R16L16[j+32]=

for j=l to 64 do yU] RI6L16[IPinv[ill end

procedure Dekripsi

begin

for bl to 64 do xO[i] = y[IP[iJJ

for i=1 to 32 do L[0J[i] xO[iJ

for i=l to 32 do R[OJ[i] ~ xOi+32]

writeCLO ) for i=l to 32 do write(L[Olfi]) writeln

write(RO ) for i=l to 32 do write(R[O][i]) writeln writeln

[ Mulai dekripsi 16 putaran 1

for i= 1 to 16 do begin

writelnCDekripsi Round i)

[ permutasi E (expansion function) 1

for j=1 to 48 do E_Ri[jJ = Rfi-l

[ E(Ri) XOR Ki 1

for j=1 to 48 do begin

if E_Rilj] = Ki[17-i][j] then

E_XOR_K[j] 0

else

E_XOR_K[j] = 1 end

[ 8 48 bit dipecah menjadi 818283bull 88 masing-masing 6 bit J n= 0

for j= 1 to 8 do begin

for k= 1 to 6 do begin

n= n + 1

8[j)[k] ~ E_XOR_K[n] end

end

[ menghitung ClC2 C8 dengan kotak-S1 for j=1 to 8 do begin

baris = 0

Algoritma Kriptograf Modern

if 8[j][ 1]=1 then baris = baris + 2

if B[j][6J=I then baris baris + 1

kolom= 0

if B[jJ[2J=I then kolom = kolom + 8 if 8[j][3J=I then kolom = kolom + 4

if B[j][ 4J=1 then kolom = kolom + 2

ifB[j][5]=l then kolom= kolom + 1

if j=1 then c SBoxI[baris kolom]

ifj=2 then cc= SBox2[baris kolom]

then cc SBox3[baris kolom]

ifj=4 then cc= SBox4[baris kolom]

then cc SBox5[baris kolom]

if j=6 then cc ~ SBox6[baris kolom]

ifj=7 then cc= SBox7[baris kolom]

if j=8 then cc SBox8[baris kolom]

for bl to 4 do C[j][kJ = bindigit[cc](kJ

end

[ menggabungkan C1C2 CB J n 7 0

for j=1 to 8 do begin

for k=l to 4 do begin

n = n + 1

C_Allln] end

end

I permutasi P I for j=l to 32 do F_R_K[j] =

[Li R(i-I)]

for j~1 to 32 do L[iHj] R[i-I)[j]

himng Ri = L(i-I) XOR LR_K J

for i=1 to 32 do begin

ifL[i-IHj) = F_R_K[j) then

= 0

else =

end

write(ERi ) for j=1 to 48 do write(E_Ri[j]) writeln

writeCKi ) for to 48 do write(Ki[iJ[j]) writeln

write(XOR ) for j=1 to 48 do write(E_XOR_K[iJ) writeln

write(sbo ) for =1 to 32 do write(C_All[j]) writeln

write(frk ) for j=l to 32 do writeCCR_K[jJ) writeln

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)

Page 42: Pengontor IImu Kriptogrofi // BAB III ALGORITMA · PDF fileDigital Signature Algorithm (DSA), 2. RSA, 3. Diffie-Hellman (DH), 4. ... juga halnya yang terjadi pada sistem penyandian

144 145 Penganfar Ilmu Kripfografi

writeCRi ) for [032 do writeln

readln

end

for j=l [032 do R16L16[jJ=

for j= 1 to 32 do R16L16[j+32]= L[ 16][j]

for )=1 to 64 do end

64 TRIPLE DATA ENCRYPTION STANDARD (3DES)

3DES euma mempunyai perbedaan keeil dengan DES 3DES lebih aman dibanding DES merupakan pengembangan daTi algoritma DES 3DES mempunyai kunei yang lebih panjang (3 x dad DES) Coba perhatikan gam bar di bawah ini

Plaintext Key 2 Key j

Algoritma Kriptografi Modern

Contoh

Diberikan tiga kunei

Kl = 0x260bI52f31b51e68

K2 Ox321poundod61a7731558

K3 Ox519b7331bfl04ee3

Dan teks-asli P = Ox403da8a295d3fed9

16 putaran kunci yang eDeok diberikan Kl K2 dan K3 Untuk melakukan perhitungan eoba lihat di bawah ini

Putaran Kl OOOeed9158e9

2 588490792e94 3 54882eb9409b 4 a2aJ06077207 5 280e26b621e4 6 e03038a08be7 7 84867056a693 8 e65a 127 pound0549

9 2443236696a6 10 a311155eOdeb 11 Od02dl0ed859 12 1750b843f570 13 geOl eOa98d28 14 I a4aOdc85e 16 IS 0931Oc5d42bc 16 53248c80ee34

K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7poundO 2d405frlee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d

K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1 fa9f254 27b30c31e6a6 Oalee3geOe87 rl68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3

~ ~

Key 1

________----l Enkripsi

Plaintx Key 1 Key 2

(J r Enco~lon (J (J

Deskripsi

Gambar 614 Proses 30[5 dengon

SU Ciphertext

Ky3 dJ DES

EncryPtlonl

Kunci

Pada gambar di atas terdapat 3 kunei yaitu Kl K2 K3 Proses kerja dari 3DES Kl berfungsi unruk enkripsi K2 untuk dekripsi dan K3 untuk enkripsi atau juga dikenal dengan mode Encrypt Descrypt Encrypt

Tahap pertama Tahap kedua Tahap ketig~

Dekripsi

keempat kelima akhir

EKI = Ox7a39786f7ba32349 DK2 =Ox9c60f85369113aea EK3 Oxe22ae33494beb930 C (teks-kode)

DK3 = Ox9c60f85369113aea EK2 = Ox7a39786f7ba32349 DKI Ox403da8a295d3fed9 P (teks-asli)