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).
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.
3.2 MACAM-MACAM ALGORITMA KRIPTOGRAFI
Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang
dipakainya:
1. Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan dekrip­
sinya).
2. Algoritma Asimetri (menggunakan kunci yang berbeda ulltuk enkripsi
dan dekripsi).
3. Hash Function.
3.2.1 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 meng­
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. Di'ta 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.
3.2.2 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 mende'uipsi 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.
3.2.3 FUNGSJ HASH
Fungsi Hash disebut dengan fungsi Hash saru arah (one-way function),
message digest, fi'ngerprint. 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
3.3 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 per­
mutasi karakter.
3.4 KRIPTOGRAFI MODERN
Kriptografi modern mempunyai kerumitan yang sangat kompleks karena
dioperasikan menggunakan komputer. Hal ini akan dibahas lebih detail
bagian lain.
.,
A\gorilmo Kriptogrofi
47
3.5 PROSES PENGKODEAN
Cara kerja sistem penyandian sangat sederhana, bisa dianalogikan dengan
kayu. mesin, serbuk kayu. Kayu digunakan sebagai bahan baku untuk mem­
buat serbuk kayu dan untuk membuat serbuk terse but dibutuhkan mesin
pembuatnya. Coba lihat gambar di bawah ini.
Gambar 3.1lluslrnsi 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 pem­
buatan 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
4.1 PENDAHUlUAN
Kriptografi sudah dipakai sejak empat abad yang lalu. Perkembangan krip­
tografi begitu pesat sampai sekarang. Untuk mendapatkan pengertian bagai­
mana 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.
4.2 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 terhad.lp satu karakter teks-asli.
4. Polygraph: sam enkripsi dilakukan terhadap lebih dari sam karakter teks­
ash.
4.2.1 KODE KAISAR
Subsitusi kode yang pertama dalam dunia penyanuian terjadi pada pemerin­
tahan 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 D\NWdfn
-
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 2:l
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 teks­
kodenya 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
0.082
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
.
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 4.2 Sepuluh Huruf yang Sering Mun(ul dalam Bahasa Indonesia
Letter
Frequency
kemunculan (%)
A 17.50
N 10.30
I 8.70
E 7.50
K 5.65
T 5.10
R 4.60
0 4.50
S 4.50 .
M 4.50
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.
K\o<;\\<.

Listing program untuk mendek,ipsi me yang menggunakan kode Kaisar:
file menggunakan Caesar cipher *1
.
sebagai berkas ma .. ukan/n•• ··•
, "
argv[l·J. argvl2J I;
1* Program.dekr1psi
hneluda <stdio. h>'
main (int' argo •. char 'argv[J)
I . .
FILE *Fin, *Foutj
char p, 'C;
1, It;
Fin ,,·fop41n(argv[ll. "rb"):
if (Fin - NULL)
printt("Kesalahan dalam mmnbuka %s
Fout. - fopen(arqv[2], Itwb
lf
);
printt("\noakripsi %s manjadi , ..... \n",
printf(".\n") ;
printf(tlk : .. ,;
scant ("'d". &k);
"hil.. «c - <]<Itc(Fin» != EO!!')
I
P - (e - k) , 256;
pute (P. Fout);
)
felo..e(Fin) ;
felos..
)
Pada sistem operasi Unix. ROT13 adalah fungsi yang menggunakan kode
Kaisar dengan pergeseran k = l3.
13
t
j 'q' .,j

Gombar 4.1 AJgori!ma R0T13
Sistem enkripsi pada unix. dengan membagi alfabet n = 26 menjadi 13
sehingga satu huruf dengan huruf yang lain saling berhadapan. Jika teks­
aslinya 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 (M»
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:
ENKRlJ'SI MENGGUNAKAN nonl
Gombar 4.2 P r o ~ e ~
ROT13
Proses dekripsi:
I'ROSES DEKlurSI ROTI3
PLAINTEXT
Gombar 4.3 Proses Dekr,psi 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:
A\goritma Kriptografi K\asik
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 , ~ 1"I 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 rABAH!'Nl 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 K1
Pad a contoh di atas, Kl digunakan pada blok pertama, K2 blok kedua, K3
blok ketiga. Begitu seterusnya. Atau juga bisa dipakai untuk meng­
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 YEBKCKNPDUDLlYOYBYILJCJCHDSCXX:X"

\<xi?'o<aro\\ \<"\O.,\\(
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 _... .,.. .
K] , I I ,- ,- r I'TT I' '''' I"""I " ,,' " , n ,., 1' I __ Iv ,,,' I 'I '-I L D () N Y A n 1 T I <;: Jl r' r: t: .-"'."7 ... , r.r "ow-. """_ _. _, __ .
10. K R J f' T n r: A r." r " r T. • • •• .,,'
o Y Hll C N r K N A A K I' D K C Y N PYA 0 N G
1 1 1 J,j 1
K3 K:J KJ KJ K3 KJ KJ KJ
fj IqPll rIP]I
KJ K:J
K:J K:J K:J
3. Zig-zag
Pendistribusian dengan metode zig-zag dilakukan dengan menukarkan huruf
asli dengan huruf yang sudah 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 '''! • ". , " ! • I vI ! t - t • ,-! U! J !.-, - ,m,. ,'< I - I - "-I ,. 1 - ,
)
I, ;IQlnls ITlulwlxlylz I
Dari teks-asH:
"KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA"
didapat teks-kode:
"FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK"
4.2.2 KODE GESER
Teknik substitusi kode geser (shift) c'engan modulus 26 memberikan angka ke
setiap alfabet seperti a 0, B 1 .. , .. ,. Z 25. Agar lebih jelas,
perhatikan comoh di bawah ini:
A M
0 12
N 10
13
1
14
,
--,-­
p 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 °19 12 8 3 13 8 6 7 19
Untuk mendapatkan teks-kode, kita mempunyai kunei 11. Dengan me­
nambahkan 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
,
\<..\o";\\<.
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
4.2.3 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\ (j
yl =llxl + 3X2
Ie\
"j l \
y2 8xI + 7X2
"
\.
dimlis dalam notasi matriks sebagai berikut:
i'
)
(j
I'
11 811 ""j - ::;q,
(YI'Y2) (x"x
2
) 3 ­ -(
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 k,j, maka dapat ditulis II [
c· '( r .
K (k,.J Untuk x (XI, ... , Xm) E P dan K E K. dihitung y eK(x) =(Yl, ... , '.
, ,.
sebagai berikut: / "
,-
\
kl.l
1
o
kl.mj
k2.J k2•
2 k2,m
Ii
(Y)'Y2. (x) ,x2, ... ,X
s'S
-!
!,
H
2
m
km .2 ...
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 AA·I k'A = 1m.
Dengan menggunakan sifat-sifat matriks di atas, maka:
y xK
yK·I (xK)KI = x(KK·I) '" xlm X
Contoh:
Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki
inversi pada Z26:
fll . 8)-1 l( 7 18)
3' 7 23 11
l
-
r
A f
n ~ "
Karena
III
~ J (;3 1
=(11'7+8'23 l1'18+8'I1J
l3
3'7+7'23 3'18+7'11
II
261 2861
( 182 131)
i.:
=( ~ 1
Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26.
~
A\gorHmo Kriptogroti K\osik
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. (9,20) ~
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 • 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 • 24) • 22{:3
-)
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!.
<')
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 al.la2.2 - al.2a2.1
dan matriks inversi dari A adalah:
32.2
-31,2)
(det
(
-32.1 31.1
Contoh:
K =: (11
3 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 d<ngan kunci matriks (42 3; 6
33; 312).
Diketahui teks-asli berikut: "KENAlKAN HARGA BBM MEMBUAT
RAKYAT KECIL MENDERITA"
\<.\asik 61
'"
\-<

B
B
'" c
o
c.. ..... .;
<lJ _:i ""
..!:;
"" ';j) 'iii -e D...

:t
<1:
:t o
+ +
+
r--.
+
rKEN1 l

40 + 8 + 39)
(
423) (10) Mod 26 (;):: ( H) JH
6 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
( (
Mod 26:: (y) :: (g)
:I 2 1
0+ 8 + 20
Al m
0 + 26 + 21 )
= 0 + 39 + 21 :: VIB
(
i Gn Mod 25:: :: (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) (84
1
(6) (G\
6 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
Mod 26:: (15) ::
:I 2
1 20 36 + 1 + 40
ATR
0+ 38 + 51) (89
(
i (109) ::
(
0+58+51 :: 109

LFB Mod26=
3 2 1 17 0+ 19 + 34 53
1
64 Pengantar IImu Kriptografi
AKY
0 + 20 + ) (92) (14) (0)
" 0 + 30 +
72
72 " 102 Mod 26 = 24 = Y OYG
3 2 1 24 o+ 10 + 48 58 6 G
ATK
(
(1
0
0)
(
( (
(Q) 0+38+30) (68) (16)
(10
9
)
= 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

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) (2) (C)
6 :\ = 102+24+57" 183 Mod26= 1 = B CST
(
(
3 2
51 + 8 + 38 97 19 T
\
AXX
(
(;;)
0 +46 +69) (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
616465251151142461691318242101182124211911817"atau
menggunakan heksadesimal dan binari.
65
Algoritma Kriptografi Klasik
4.2.4 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 K<"siski pada
pertengahan Abad 19.
Gambar 4.4 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 teks­
asli 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.
4.2.4.1 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 : (2.8. 15.7, 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,
15,7,4.17), dan reks-aslinya "This Cryptosystem is Not Secure",
K\05ik
67
4.VU \1URUf
Ide dasarnya adalah dengan menggunakan kode Kaisar, tetapi Jumlah per­
geseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu,
Untuk mengenkrlpsi p e ~ a n dengan kode Vegenere digunakan tabula
(disebut juga bujUIsangkar Vigenere; seperti gambar di bawah ini:
ABC D E F G H I
A A'BCDEFGHI 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 X,Y Z A B C D E F·G
~
c­ - - f-­
J K L M N 0 l' Q R S T U V WX Y Z A n C D E F G H I '
-
i
K 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-·
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

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 Q
f-­
T S U V WX Y Z A B C D E F G H I J K L M N o r Q It
f-­ -I­ .-I-­
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 r,Q 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 V,W 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
I'laintext
J K L M NOr Q R STU V W X Y Z
Tabula recta dig:makan 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) • 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(x,y)
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 teks­
asli 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 K l a ~ i k
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 teks­
kode 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
2'k
""
11 15 2'
26
"" 1-1--+------------
6%, '",
ftl K I ~ I /
Gambar 4.5 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere
Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan peng­
gunaannya 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 menentu­
kan kata kunci. Kata kunei dapat ditentukan menggunakan exhaustive kef
search. Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba
adalah 26
P
• 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 ke·19 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.
4.2.5 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 4.6 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!=15511.2IO.043.330.985.984.000000
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 teks­
kode dad "di" adalah "nl"
,S D T A
~
e ~ E R
II!
v
G F I K
-
p
a U M Q
y
W x z V
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

V W X Y Z\
.... ~ L
~ I " I . ~ . S T PI
e B H E. B­
F G I L K
p
~ Q M a UI
V Y ,W
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'(
A­ ~ 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 pengf.unaan 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
Alg,oritma Kriptografi Klasik 75
Inggris dan
dipeeahkan.
teks-kode yang cukup ban yak. kode Playfair akan dapat
4.3 TEKN;K 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:
J J . £ l ~ 5 l i
-3-1
5
1116141
2
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. Segi{iga: 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
._ ..•._ .._ .. ,
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
..­
Xi
- '--­
Teks-kodenya adalah:
"SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX"
Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa di­
gunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak
berhak. Kombinasi tersebut merupakan dasar dari pembentukan algoritma
kriptografi yang kita kenaI sekarang ini (modern).
4.4 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 meng­
gunakan teknik diagonal permutasi dengan kunei 4.
Q
K T
Q
0 G
N G X
G H H
S K S
A G Z
K 1 0
S T K
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.
4.5 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
f:\\go.\'mo \<'..\p':>gro'\'\ \<..\oo:.\\<.
manual. Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang
diperlukan? Dengan menggunakan teknologi komputer yang bisa mencoba
kemungkinan 10.000 kata kunci per detik, kemungkinan untuk menemukan
teks-asli Vigenere menjadi kurang dad satu hari.
Sebelum membahas kriptografi modem, sangatlah penting unmk mendis­
kusikan 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 umum­
nya algoritma kriptografi tidaklah sempurna,
algoritma yang lebih baik dan mempunyai s
dipeeahkan adalah one time pad(OTP).
tetapi
edikit
untuk
kemun
mendapatkan
gkinan untuk
4.6 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 meng­
intempsi 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 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 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-·· {] 1
K2- .• ,-1·· {]
Algoritma Kriptografi Klasik
Jika sistem yang digunakan dan 0 diinterupsi, dan penyerang mf'nyimpulkan
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 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 10.000 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.
4.7 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 tid.lk 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 ..
l \ j H ~ S 01 'ral1l,:orr( HUll1tHi' $)
; ~ pai vipap,r Jhm.'. ,'ad, tl1tlr
atfijja(lll "quina viappamHfy
rorufomfy 1'Gfl/r'n4 rmmb(f$.
Gambar 4.7 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
5.1 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.
5.2 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 e n k r i p ~ 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
~ _____!_e:ngantar IImu Kriptografi
100tJai Value
en-I
KunC:1
s-b'l
s-bit
Plaintext B!oCk3mml
Gambar 5.11 Proses Dekripsi Mode OFB
o
BAB VI
ALGORITMA KRIPTOGRAFI MODERN
6.1 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 6.1 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, Authenti­
cation 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.
6.2 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:
6.2.1 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

.: . :
.,. f
,,/
II
" ...,


!",:/

t

.r" Same key
/. (shared secret)
"i' n

Gambar 6.2 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.
6.2.2 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 meng­
enkripsi 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
Dmet:iflt keys
ReCipient's
Recipient's
private key
public key
Gambar 6.3 Algoritmo Asimetris
110
Pengantar IImu Kriptografi
6.2.3 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
- !,..;, . .


<{t '",...liM;;;:.;'.. ..
User's

(In certlflcate)

Randomly-
Generated
symmetric
"session" key
-tl:r
Recipient's

Session key must be

decrypted using the
Digital envelope
recipient's
contains "session" j
W
key encrypted
using recipient's

:::.1J'J!j :;(J'J
pybllc key
Gambar 6.S Hibrido

..t • ."..
Ei'J'J:llSlfj:;l


Other recipient's or
agent's key
Ti[;r
(in certificate)
b
in policy
Gambar 6.4 Hibrido
. <:
....
...
..

Algoritma Kriptografi Modern 1 1 1
6.3 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 of Standards 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.
6.3.1 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
il
Institute of Standard and Technology (NISI), mengeluarkan proposal untuk
Jl
kode standar nasionaL Proposal tersebut memberikan kriteria unruk standar
algoritma kripc')grafi sebagai berikut:
'\1
L Algorirma harus bisa memberikan level keamanan yang tinggi •
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 (l\SA) 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.
6.3.2 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) '" l.JJRn, 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 6.6 Putaran Pertllma Enkripsi DES
3. HasH enciphering kemudian dipermutasi dengan matriks permutasi balik
(invers initial permutation atau IP- 1) menjadi blok teks-kode. Ip·l ke
bitstring Rl6L16, memperoleh teks-kode y. kemudian y= Ip·l(RI6L16).
114 Pengantar IImu Kriptografi
Fungsi f 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. sedik'tnya muncul dua kali.
T
,
[ E(A)
F(AJ)
Gambar 6.7 Rincian DES Fungsi f
2. Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit
string B '" BlB1Bt&&B.Bdk.
3. Langkah berikutnya menggunakan beberapa kotak-S Si •...• .56. Setiap Si
adalah 4 x 16larik yang dimasukkan dari integer 0 15. Dengan memberi
suatu bitstnng dengan panjang 6. seperti B; = bt blblblb;/X. 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; (C· ,; c,; 15). Kemudian
SABI) didefinisikan sebagai entry SAT, c) yang dituliskan ke dalam binari
dengan panjang bitstring empat. Dengan begitu dapat dihitung Q SAB,).
1,;/,;8.\
Algoritma Kriptografi Modern 1 15
4. Bitstring C= GlGCJGCSo,OG dengan panjang 32 adalah permutasi dari
hasil bitstring P( G) yang didefinisikan untuk i{A, /).
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.
..]
OAr,. .. \ l'l"...... \.. --',
."",,.... I OA1A.4CAK '"-_..

:=:r':
TAb
Gambar 6.8 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)l:l
16·811
4' t
•• •••• ••
Initial P.rmutaa'
Perul.ngan Kata 1
Kata 2
Input Key
r-__
Pllfhan permutasl
P6rmut.aI2}--Erenkunc
K2
Pilihan Permut.a' 2 Pegeaeran kunc
2}
I
c32-b1t:swa
p
_)
c;
-L-
Inyera. dan '\
""rmutas' awol )
.
.......... ........".............
t t
Output Ciphertext
64·6il

Gombar 6.9 Gomboron Umum Algoritmo O£S
Proses dari permutasi inisial (IP) teks-asli ada tiga:
1. Teks-asli M·bit 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.
6.3.3 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 M7 M3 Ms M6
MI6 M9 Mu MI4 Mil MI2 MIs M
IO
M I9 M2J M24 MIS M21 M22 MI7 M
20
M27 M30 M31 M32 M25 M26 M
29
M
28
Mw M34 MJ7 MJ3 MJ5 1\136 M38 M
40
i
M47 M41 M42 M43 M44 M45 M46 M48i

M49 M52 M54 MSj M50 l MSI MS3

M64 ! MS7 MS9 M63 MS8 M60 M61 M62
Jika M, adalah bilangan binari, kemudian dilakukan permutasi X = IP (M)
seperti di bawah ini:

J'v'!5X Mso M42 M34 M26 Mill M
lo M2
M60 M52 M44 M36 M28 M
20 MI2
.. --­
M4
--'­
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 M43 M59 M35 M27 MI9 Mil M3
Mill MSJ M45 MJ7 M29 M21 MI3 5
M63 M55 M47 MJ9 M31 M 23 MIS

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 serta ekspansi
dari permutasi:
Tabel 6.1 Tabel Permu!osi Algoritmo DES
Table Permutasi lJntuk DES
(al Initial Permuta.i 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
Jllp"t 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 7
L­__ -
(0) Inverse Initial Permutasi (11'.')
Input Bit
Output Bit
1 2 3 4 5 I:> 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 32
Input 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 64 Input Bit
Output Bit
49 50 51 52 53
34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25

(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; Permu!asi (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 per­
hitungan 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.
6.3.4 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
Oulpu!Bit
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! 6.2 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, 1,58,50, 42,34, 26, 18
10, 2, 59,51, 43,35,27,19,11, 3,60,52,44, 36
Dl berisi bit-bit dari Kpada posisi:
63. 55, 47. 39.31, 23, 15, 7. 62. 54, 46,38, 30,22
14, 6,61, 53,45,37, 29,21, 13, 5,28,20, 12, 4
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 TabeI6,3.
Tubel 6.3 lumloh Pergeseron Bit podo Setiap Putoran
Nomor [nterasi
Perpularan Bil
Algoritma Kriptografi Modern
Misalkan (C, Dt) menyatakan penggabungan C dan D. (C.l, 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 6.4 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:
14,17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10
23,19, 12, 4,26, 8,16, 7, 27, 20, 13, 2
dengan bit-bit D pada posisi:
41,52,31,37,47,55,30,40,51,45,33,48
44,49,39,56,34,53,46.42,50,36,29,32
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 K
Ie. (, . r. PC-2 .,
1
I - - - - - - - - I - - - - - ~ ~ I ,Pennutasi, .
PC-2 . KI6
Gombar 6.10 Proses Pembangkitan Kunci Internal DES
Algoritmo Kriptogrofi Modern
II
S; : I
:2
3
o
s,
~
~
(I
$, I I
::
;.
(l
s. i I
>
3
o
$ ~ i 1
I ~
3
(I
S" 1
:!
. ~
o
S1 I
2
. ~
o
S8 1
~
I 3
Tabel 6.S 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 <J 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 <) 4 6 10 2 It
13 (. 4 <) 8 15 .\ o 11
,
I 10 13 0 (. <) 7 -I 15
7 I:' 14 .\ () Ii <.I 10 2
U !\ II 5 (. 15 o 3 -I
10 (, <) () 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 <)
I I l! 11 7 I 14 J f, 15
12 10 15 <) ; to ~ 0 n
10 15 4 2 7 12 9 (i I
<) 14 15 5 2 x 12 .\ 7 ()
4 3 2 12 <) 5 15 10 11 14
J II I.t 15 0 l-: 1:1 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
132l!46L'i 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
<­ 12
12 II
\j ?
;. 14
2 13
10
12 t>
7 12
12 7
:> 14
2 12
14 ~
"
5
2 I'
:. 14
:; II
15
15 10
12
(l 'l
3 4
1:­ !.j
4 11.1
7
I)
5 C
(. 11
o Ii
3 14
(, II
10 l ~
<) IJ
II 13
5 <I
Y ~
.\ III
10 !l
12 (\
(i <)
<) 3
o 5
II J
I: II
5 10
II 5
II 12
10
,
U
<J
~
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
<)
)
12
\j
5
6
IS
7
~
o
13
II)
5
15
<)
~
I
7
12
15
l)
J
14
'I
(,
14
x
h
D
I
I>
2
l ~
7
,
~
II
124
Pengontor IImu Kriptogrofi
Tabel 16 kali perputaran dad DES seperti di bawah ini:
Tabel 6.6 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 2.'l 15 12 4
Input Bit
Output Bil
17 18 15 20 21 22 2.'l 24 25 26 27 2E 29 30 31 32
26 8 1€ 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

331

18

119 I

26

125 I

52

143

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 .1€
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 4/i 47 48
Output Bit
47 2S 30 4 5 63 45 7 22 31 2C 21 55 6 62 38
Input Bil
OutputB!t
Input Bit
Output Bit
Input Bit
Output Bit
Round 6
31415161718 14115 I If
57 19 18
31 32


62 38 21
46 47 48
53146121 14 I 5S I 20 1 47129154
Round 7
Input Bit
Output Bit
InputIiI
Output Bit
Input Bit
OutputB!t
2 I 3 5 I 6 I 7 I 8
52157111 26 I 59 110 I 34



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 12
InputBii
,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 2.0 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
58 25 52 51
29 30 31 32
31 30 6 2C
45 46 47 48
'l 21 14 53
Input Bit
outputml
InputBii
-9utp\!t Bif
'InputBiI
()utput Bil, ­
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 2.0
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 /43117/60134 /57
22 / 23 I 24 1251 26 I 27 / 28
51/42133127139114/21/ 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 -1:;2 '13141.,5 "16
Output Bit, 9 50 33 59 19 52, :3' 27:,'1', '44' 18. 14i,'2 , '34 "25, 60
Input Bit 1718 19 20 21 22 2324-25 26 27 ,2930:3132'
Output Bil : 43 5'7 58 36 35 26 ,17'11" ·23 61 5
Input Bit-, , 33, 34 35 36 37 3S ,39 40,.41' 424344:
Output BiI: 6 54 20, 30 62 22'39 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' ·21 '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 1.4
Inl'ut 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 1221231.24:1251261271/ 28 ,32'
11/25 126 1331 3159/501 44 /.54,/.29/4 62
33 I :U'l 351 36 I 37 / 3B /.39140 1,4H42 143, ,47148
37122155 161 130153 L7123 147:/,21114 20163,
Round 15
Input Bit
Output Bil
input Bit

Input Bit'
Output BlI
21
"ound
Input Bit> 'j:i::Z;" 3 4 '5, '6' :,7: '$'-1:$'\ "1.0 11.1Z ,::"3 14 '15'16.
Output Bit, ;,-,,< 18 59 42 .3 ,5725' ;41 36:1(1 17, 27: 50,'11 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' ','5' 47 62 "45 :12 5S3S
,lnput.BU
Output Bit
Input Bit
QutputBil
JnputBil
OutputBil
InputBil
OutputBil
2/3/4/5/6
57133/52/42/2/35
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 ..
LJ.I
RI·t
CI.l Ol.!
I
L
Expan.'
t
Pf'g•••,..n
,
P"g.,enl1l
PHmllltl
(E.Tabl.,
48 Bit
f
.
i XOR..
48 BI1
Kl
.
___:__
,
P.rmuh,.,
(P!!lhln d.rl
Permut" 2)
48 Bit
.. _
Subtftu.1 (S-bo.)
. 32 Sit
_.....f
Permubl (P)
: 32 Bit
,
,.: XOR
,
f
T
.... LJ R. CI
01
Gambar 6.11 Algoritma DES
6.3.5 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,-I,.f(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 p,lrity-check bits, adalah:
00010010011010010101101111001001101101111011011111111000.
Dengan menerapkan IP (intiaJ permutation) maka In dan Ro
biner):
Lo 11001100000000001100110011111111
L1 Ro 11110000101010101111000010101010
16 putaran untuk melakukan sebagai berikut:
J::(/-(Q} ;:::: 01 11 lOlOOOOlUlOlOlOI01010ll 11010000i"OTOIO lO HllQ 1
KI
::: 00011011000000101110111111111100011100QOOIIIOOIO
E(Ro)0/<' '=" 011000010001011110111010100001100110010100100111
I S·bo);, outputs 0101 1IOOI00QOOI010IIOI01 100101 11
f(Ro.K.) 00100011010010]01010100110111011
= RI
=: 11101111010010100110010101000100
E(R1 ) 011101011110101001010100001100001010101000001001
K, 011110011010111011011001110110111100100111 100101
I S(R!) ED Kl = 0000IIQOOI000100100011011110101101100011111011OQ
S·OOx outputs 11111000110100QOOOIII01010101110
f(Rs. K2) OOllll00WI010111()OOOI1110100011
L.) = R, - 110011VOOOOOOOOIOl11011100001001
E(R,) ITIOOIOllOUOOOo{)OOOOOOI010l11010111010000l0l(10l1
""
K3
=
01010101111111001000101001000{)10110011111oo11001
_.
E(R2) EEl K3 101100000111110010001000111110000010011111001010
S·oo:o. ootPV!$ 00100111000100001110000101101111
f(R'l,K3} ::: 01001101000101100110111010110000
£1 = 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
"---------------.._._.._-----------­
ll000101010{H)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
'----'-----­
E(Jh)
K.
E(Rr) (£I K,
S-box
J(R7.KII )
L'i/ =RII
E(R.s)
}(9
E(Rs) e }(g
S·OO.ll. outputs
}(,,)
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) KI.o :; 101000010111000010111110110110101000010110111011
S·box OUIPUt$ 11011010000001000101001001110101
f(I4.K1o) "'" 01100010101111001001110000100010
LII =RIO 10110111110101011101011110110010

Ku
E{RIO } e KII
S·box outputs
!(Rlo,KII )
Lu Ii, I
E(Ru)
. KI2
ID

S-box outputs
ftRII.Kll)
Lll:::; RI2
.
--"-E(R;;r;---ool]!eiToTOiTfiOn-ffficilofo5Cfifli000000100'1lOOOlfl
}(ll =
(!) KIJ :::
S·box outputs
f(Ru.}(13} =
£14 .:: RIJ =
E(RI3)
K14 :::
E{R(3) (!) K14 :::
S-oox outputs
fCR13.Ku)
RI. ­
K(R,.)
=
E(R•• )<DKu :::
S-oox OUlpulS
)
Ll(. =RI!'>
"'"
-=
""
=
001000010101111111010(111110111101101001110000110
at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I
OU 1001100000 1011101000100000001
11100001000001001111101000000010
11000101011110000011110001111000
011000001010101111110000000111111000001111110001
= 011101010111000111110101100101000110011111101001
; 000101011101101000000101100010111110010000011000
011110111000101100100) 1000110101
= 110000100\\010001100111111101010
;; 01110101101111010001100U01011000
1001011111000\0111010001111110101011101001000001
10101lOI011110000010101I01l1010110111000101l000 I
1001101011010001 1000101101001111
11011101101110110010100100100010
000II00011 0000 llOOOlOlO10l0 11010
0000111]0001011000000110100010101010101011110100
OlO! 1111010000111 0110111111100101110011100 111010
010100000101010110110001011110000100110111001110
01100100011110011001101011110001
10110111001100011000111001010101
IIOOOOI010nOl1001001011000001101
111000000101010031011001010010I() I lOOOOOl)l)10l101 1
101111111001000110001101001 I 110lOU11 111100001010
010111111100010111010100011 101111111111101010001
10110010111010001000110100111100
01011011100000010010011101101110
01000011010000100011001000110100
I
------------
132
Pengontor Ilmu Kriptogrofi
'" 001000000110101000000100000110100100000110101000
;;
110010110011110110001011000011100001011111110101
ill
11101011010]0] J J 10001111000101000101011001011101
S-lxJ:r; OUlpUls
10100111100000110010010000101001
KIf» - 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
,
;-
:,,:HexadedmaL • -;)t!i;:Biner
'.. ' , . ,.' \;
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 l<i<16
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(Ro.Kl) 00101000101100110100010011010001
I
L2=RI 11010111000010110011001010000110
I
Putaran 2
E(Rl) 011010101110100001010110100110100101010000001101
K2 011110011010111011011001110110111100100111100101
E(Rl)(BK2 000100110100011010001111010000011001110111101000
11011100010000111000000011111001 Keluaran
01010010
--
135 1 Pengantar lImu Kriptografi Algoritma Kriptografi Modern
kotak-S
F(RI,K2) 10001011110110011000110000010011
13=Rl 10001011110110011000101010010000
Putaran3
E(R2) 010001010111111011110011110001010101010010100001
K:J 010101011111110010001010010000101100111110011001
E(Rl)$K,
000100001000001001111001100001111001101100111000
Keluaran 11010110001111001011011001111111
kotak-S
F(Rl,K:J) 01101111101100101001110011111110
lA=Rl 10111000101110011010111001'11000
Putaran 4
E(R1) 010111110001010111110011110101011100001111110001
K4
01110010101011O111O1O11O'.1O11011O01lOlO1O0011lO1
IE(Rl)EDK4 001011011011100000100101000011101111011011101100
Keluaran 00101001110100001011101011111110
kotak-S
F(Rl,K4)

J
Ls=R4 10110100111000101100110100110001
Putaran5
E(R4)
110110101001011100000101011001011010100110100011
Ks
011111001110110000000111111010110101001110101000
E(R4)$lG
101001100111101100000010100011101111101000001011
Keluaran 01000001001111011000101011000011
kotak-S
F(R4,Ks) 10010101001100101101100001000101
u=Rs 00101101100010110111011000111101
Putaran 6
E(Rs)
100101011011110001010110101110101100000111111010
K6
011000111010010100111110010100000111101100101111
E(Rs)EJ:)K6
111101100001100101101000111010101011101011010101
Keluaran
01101101110111000011010101000110
kotak-S
F(Rs.K.6) 00100100000110111111001111111000
.\_.
b=R6
Putaran7
E(fu,)
K7
E(R6)EJ:)K7

Keluaran
kotak-S
F(R6,K7)
La=R7
Putaran8
E(R7)
Ks
E(R7)EDKs
Keluaran
kotak-S
F(R7.KK)
10010000111110010011111011001001
I
110010100001011111110010100111111101011001010011
111011001000010010110111111101100001100010111100
001001101001001101000101011010011100111011101111
-
11100011011010110000010100101101
- -
11001000110000011110111001101100
11100101010010101001100001010001
111100001010101001010101010011110000001010100011
111101111000101000111010110000010011101111111011
000001110010000001101111100011100011100101011000
00001000110110001000001111010101
00000111001110010010100101100001
19=RK
Putaran9
E(Rs)
K9
E(Rs)ffiK9
Keluaran

f----­
F(Ra,Ky)
LI()=R9
PutaranlO
E(R9)
KIO
E(R9)ffiKIO
10010111110000000001011110101000
010010101111111000000000000010101111110101010001
111000001101101111101011111011011110011110000001
101010100010010111101011111001110001101011010000
01101110111000011010101101001010
11011001001110111010001110010100
00111100011100010011101111000101
100111111000001110100010100111110111111000001010
101100011111001101000111101110100100011001001111
001011100111000011100101001001010011100001000101
00100001011100000100000101101101
00001100000101010110111000100100
10011011110101010111100110001100

c-
Keluaran
kotak-S
I---­
F(R9,KIO)
LII=RIO
Algorifma Kripfografi Modern 137
136 Pengantar IImu Kriptografi
!
Putaran 11
010011110111111010101010101111110011110001011001
i KlJ

001000010101111111010011110111101101001110000110
E(RIO)EBK" ' 011011100010000101111001011000011110111111011111
I Keluaran 01011110000011001101101111000010
. kotak-S
F(RIl),KII) I 01110001001111101011000001010011
I
01001101010011111000101110010110 ILI2=RII
I Putaran 12
E(RII) 001001011010101001011111110001010111110010101100
01110101011100011111010110010100011001111[101001

E(RII)EBK'2 010100001101101110101010010100010001101101000101
lKeluaran
01101000000010110011011010101101
kotak-S
F(RJ I,KI2) 10101000011010001000111011101001
f--'
LI3=RI2 00110011101111011111011101100101
Putaran 13
100110100111110111111011111110101110101100001010
Ki3
E(R'2)
100101111100010111010001111110101011101001000001
E(R'2)EBKI3 000011011011100000101010000000000101000101001011
Keluaran 11111001110110110010010010110011
kotak-S I
F(RI2,KJ3) 10000110110010111100111111001011
L'4=RI3 11001 0111000010001000'10001011101
LPutaran 14
E(R13) 111001010111110000001000001000001000001011111011
.
010111110100001110110111111100101110011100111010
E(R13)EBK14
KI4
101110100011111110111111110100100110010111000001
Keluaran 10111000011111101100010111000001
kotak-S
F(Rn,KI4) 00000101110111010011101001001111
LIS=R'4 00110110011000001100110100101010
Putaran 15
!
E(RI4) 000110101100001100000001011001011010100101010100

101111111001000110001101001111010011111100001010
E(RI4)EBKlS
Keluaran
101001010101001010001100010110001001011001011110
01000001001110011111011100100111
kotak-S
F(RI4,K1S)
L16=RIs
10100101001001101110110011101100
01101110101000101010100010110001
I
Putaran 16
E(Rls)
KI6
101101011101010100000101010101010001010110100010
-
110010110011110110001011000011100001011111110101
E(RIS)E[)KI6
Keluaran
011111101110100010001110010110110000001001010111
10000001011010101111011101001011
kotak-S
F(RIS,K16)
Rio
00101001111101110]10100011001100
00011111100101111010010111100110
Teks-kode biner:
y Ip·I(RI6L,6)
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
6.3.6 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,
•••
•••
139
Pengantar IImu Kriptografi
6.3.6 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 ••• 64­
bit blok teks-asli. Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K.
yang menghasilkan suatu blok string teks-kode )'I}'2 ..
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 ditetapkan}11 = IV. kemudian dibangun)'l.}'2 ....
dari aturan yl = eA(yi-1 (!) Xi), i <!: 1. Penggunaan mode CBC dapat dilihat pada
gam bar di bawah ini.
,.;0... •••
encrypl
decrypt
Q
I
Gombor 6.12 Mode eBe
Algoritma Kriptografi Modern
perhitungan kunci aliran ZlZl dari aturan Zi:: eA(zt'I). i <!: 1. Urutan teks-asli
XlXl ••• adalah perhitungan enkripsi dari Yj:: Xi' (!) Zi, j <!: 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' (yt'I), h: 1 sarna dengan mode OFB yi = Xi '" Zi. i <: 1. Untuk
lebih detailnya dapat dilihat pada gam bar di bawah ini.
IIV",
9
rhl--
1r
9
J
encrypt y , y 2
C?Jl
1- N_,. LGJ-8 L ...

decrypt [J [J
Gombar 6.13 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 meng­
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 :>.:O[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 12345671'190 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 B1.82,B3, ... 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 CI.C2, ... ,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 R16L16!il:: 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] : ~ xO{i+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 81.82.83•... 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 Cl.C2.....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 C1.C2 .... ,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;
6.4 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 Ox321£od61a7731558
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 £0549
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
1a915708a7£O
2d405fr:lee05
2741ac4a469a
9a09b19d710d
9d2a39a252eO
87368edOab27
30258f25c11 d
K3
03e4ee7e63e8
8486dd46ae65
575a226a8dde
aabgeOO9d59b
98664[413421
615718ea496e
449ge580dbge
93e853d116b1
ee4a 1 fa9f254
27b30c31e6a6
Oalee3geOe87
r:l68788e62d5
84e78833e3c1
521 fl7b28503
6db841ee2706
c9313e0591 e3

Key 1
________----l Enkripsi
Plaint"x!
Key 1 Key 2
(::::J r (::::J (::::J
Deskripsi
Gambar 6.14 Proses 30[5 dengon
S\
U
Ciphertext
K"y3 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
Dekripsi:
keempat
kelima
akhir
: EKI = Ox7a39786f7ba32349
: DK2 =Ox9c60f85369113aea
: EK3 Oxe22ae33494beb930 C (teks-kode)
: DK3 = Ox9c60f85369113aea
: EK2 = Ox7a39786f7ba32349
: DKI Ox403da8a295d3fed9 P (teks-asli)

44

Pengantar Ilmu Kriptografi

Algoritma Kriptografi

45

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.

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

1. Di'ta 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.

3.2.2 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.

3.2 MACAM-MACAM ALGORITMA KRIPTOGRAFI
Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan kunci yang dipakainya: 1. Algoritma Simetri (menggunakan satu kunci untuk enkripsi dan dekrip­ sinya). 2. Algoritma Asimetri (menggunakan kunci yang berbeda ulltuk enkripsi dan dekripsi). 3. Hash Function.

3.2.1 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 meng ­ gunakan algoritma ini. si penerima pesan harus diberitahu kunci dari pesan terse but 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

2. Alice mengenkripsi pesan dengan menggunakan kunci publik Bob. 3. Bob mende'uipsi pesan dari Alice dengan kunci rahasianya. 4. Begitu juga sebaliknya jika Bob ingin mengirim pesan ke Alice.

.,
46
Pengantar IImu Kriptografi

A\gorilmo Kriptogrofi

47

Algoritma yang memakai kunci publik di antaranya adalah: 1. Digital Signature Algorithm (DSA),

3.5 PROSES PENGKODEAN
Cara kerja sistem penyandian sangat sederhana, bisa dianalogikan dengan kayu. mesin, serbuk kayu. Kayu digunakan sebagai bahan baku untuk mem­ buat serbuk kayu dan untuk membuat serbuk terse but dibutuhkan mesin pembuatnya. Coba lihat gambar di bawah ini.

2. RSA,
3. Diffie-Hellman (DH), 4. Elliptic Curve Cryptography (ECC), 5. Kriptografi Quantum, dan lain sebagainya.

3.2.3 FUNGSJ HASH
Fungsi Hash disebut dengan fungsi Hash saru arah (one-way function), message digest, fi'ngerprint. 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 hoY;L-".~"

Gambar 3.1lluslrnsi Proses Teks-Kode

3.3 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

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 pem­ buatan 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

lain. 2. Teknik transposisi (permutasi): Dilakukan dengan menggunakan per­ mutasi karakter. 2.

melakukan suatu nilai yang digunakan pada algoritma sehingga algoritma tersebut bisa bekerja.

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

48

Pengantar IImu Kriptografi

~A.~

\\1

AlGORllMA KR1P10GRAfl KlAS1K

4.1 PENDAHUlUAN
Kriptografi sudah dipakai sejak empat abad yang lalu. Perkembangan krip­ tografi begitu pesat sampai sekarang. Untuk mendapatkan pengertian bagai­ mana 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. menggunakan pena dan kertas saja. belum ada komputer, termasuk ke dalam kriptografi kund sil1etri.

2. 3.

Tiga alasan mempelajari algoritma klasik: I. 2. 3. memahami konsep dasar kriptografi. dasar algoritma kriptografi modern. memahami kelemahan sistem kode.

4.2 TEKNIK SUBSITUSI
Substitusi merupakan penggantian setiap karakter teks-asli dengan karakter lain.

A

F

K

p

c
X

U

Meski sedikit. Polygraph: sam enkripsi dilakukan terhadap lebih dari sam karakter teks­ ash. Monogral sam enkripsi dilakukan terhad. karena jumlah kunei sangat sedikit (hanya ada 26 kunei). antara lain: 1. Penggeseran kunci yang dilakukan tergantung keinginan pengirim pesan. . 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.50 Pengantar Ilmu Kriptografi Algoritma Kriptografi Klasik 51 Terdapat empat istilah substimsi kode. 4. eoba perhatikan eontah berikut: A B I ( D j E ~ F 5 G f H I I J ~ K l 11 M N 01 p 14 liS Q 16 1 19 U V W X i Z C 2 8 Ie 12 1J 18 20 21 2:l 23 24 - 25 '-- Menjadi: u v w x 19 ZC 21 22 ) Z A B 2J 24 25 Jika penggeseran yang dilakukan sebanyak tiga kali maka kunei untuk dekripsinya adalah 3. Bisa juga menggunakan exJlaustive key search. Bisa saja kunei yang dipakai a 7.1 KODE KAISAR Subsitusi kode yang pertama dalam dunia penyanuian terjadi pada pemerin­ tahan Yulius Caesar yang dikenal dengan kode Kaisar. 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) = 3. dengan memasukkan kunci tiga. karen a untuk menemukannya dengan brute foree attaek dibutuhkan waktu yang eukup lama. Monoalphabec: setiap karakter teks-kode menggantikan salah sam karakter teks-asli. (P+3) mod (26) Rumus dekripsinya menjadi seperti berikut: P = D(C) (C K) mod (26) 4. b '" 9. dan seterusnya. yaitu dengan melihat frekuensi kemuneulan huruf sepeni yang ditunjukkan tabel frekuensi kemuneulan huruf berikut ini: Caesar Cipher (ROT3) Plain Text Encoded Text i---'-' DEF ABC II 17 ----i Hello Attack Khoor D\NWdfn ~ Seeara lebih detail.2. dengan mengganti posisi huruf awal dari alfabet atau disebut juga dengan algoritma ROT3. Polyalphabec: setiap karakter teks-kode dapat menggantikan lebih dari satu maeam karakter teks-asH.lp satu karakter teks-asli. suatu bentuk serangan yang dilakukan dengan meneoba-eoba berbagai kemungkiuan untuk menemukan kunei. Contoh algoritma kode Kaisar: Untuk teks-asH diberikan simbol "P" dan teks­ kodenya He" dan kunci "K". Ada cara lain yang dapat digunakan kriptanalis untuk memeeahkannya. 2. Dari eomoh di atas. kunei suatu kode eukup merepotkan kriptanalis.

02·c~ . ukan/n••··• Fout..127 . Pada teks bahasa Indonesia. Begitu seterusnya.50 . «c .020 .001 . ) W X Y P ) (e - k) . file menggunakan Caesar cipher ~ - ~ Karakter A B C D E F G H I I J K L M Peluang 0.024 Karakter N 0 P Q R S T U V Peluang ..·fop41n(argv[ll.063 *1 FILE *Fin. hanya saja memerlukan waktu yang lama.008 .60 4.j ROTl~ Gombar 4.040 . Fin .070 . Notasi matematikanya dapat ditulis sebagai berikut: C = ROTl3 (M) Untuk melakukan dekripsi dengan proses enkripsi ROTl3 dua kali: M = ROTl3 (ROT 13 (M» Brute force attack juga digunakan untuk mencari password dan ID dari suatu sistem.50 5. .010 .. int~'n~ 1.10 4..\\<. argvl2J I.015 . printf(tlk : ... dengan membagi alfabet n = 26 menjadi 13 sehingga satu huruf dengan huruf yang lain saling berhadapan.075 . 4. printf(". "rb"): if (Fin .. It.. " printt("\noakripsi %s manjadi .082 ...001 . Z pute (P. yang paling sering muncul adalah 10 huruf pada tabel di bawah ini: Tabel 4.70 7.023 .001 . char 'argv[J) I . Pada serangan ini para penyerang mencoba beberapa kemungkinan yang ada dari daftar kata-kata yang ada di dalam kamus. . (~out). Jika teks­ aslinya adalah "A" maka teks-kodenya adalah "N". *Foutj char p. Fout). I Frekuensi Kemunculan Huruf dalam Bahasa A.022 .043 .<]<Itc(Fin» != EO!!') I . \n". felos.. felo. 5~ Listing program untuk mendek. h>' main (int' argo •. 13 A N I E K T R 0 S M 17. . Umumnya serangan ini dapat berhasil.061 ... 'C..e(Fin) .50 10.NULL) .. &k). printt("Kesalahan dalam mmnbuka %s sebagai berkas ma .30 8.019 . . argv[l·J. "hil..dekr1psi hneluda <stdio..002 . scant ("'d". ROT13 adalah fungsi yang menggunakan kode Kaisar dengan pergeseran k = l3.fopen(arqv[2].50 t j ~ 'q' .09 .\~()r\'mo Kr\?'()~ro\\ K\o<. 256.\n") .020 .028 ..ipsi me yang menggunakan kode Kaisar: 1* Program.067 . . Itwb lf ) .50 4..060 .1 AJgori!ma R0T13 Sistem enkripsi pada unix.2 Sepuluh Huruf yang Sering Mun(ul dalam Bahasa Indonesia Letter Frequency kemunculan (%) Pada sistem operasi Unix.52 Pengantar IImu Kriptografi Tabel 4.65 5.

maka huruf itu tidak dipakai lagi..2 Proses dekripsi: I'ROSES DEKlurSI ROTI3 Pro~e~ ROT13 Kl K2 : '"BELAjAR KRIPTOGRAFI UNTUK MENGAMANKAN DATA" : DONY ARlYUS : YOGYAKARTA Teks-kode : IYKAOAFGFPDJBCFAMPLTJLGRYTCARATGATXAJA Menggunakan lebih dari satu kunei: PLAINTEXT Kl Gombar 4. alamat atau apa saja yang diinginkan oleh pengirim pesan.. tidak ada perulangan huruf dalam hal ini. J Teks-asli Gombar 4.. Karena ada pengulangan huruf Y.54 Pengantar IImu Kriptografi A\goritma Kriptografi K\asik Teks-asli 55 : " MBAH MARIJAN SEKARANG SUDAH MENJADI ARTIS" : "MERAPI" ROT13 didesain untuk keamanan pada sistem operasi UNIX yang sering digunakan pada forum on-line. Kode Kaisar dengan menggunakan satu kunci bisa disebut dengan substitusi deret campur kata kunei. Yang perlu diingat... berfungsi untuk menyelubungi isi artikel sehingga hanya orang yang berhak yang dapat membacanya.~ 1"I I I" 1. Contoh proses enkripsi ROTl3 danat dilihat di bawah ini: ENKRlJ'SI MENGGUNAKAN nonl Kunei Teks-kode :" JEMCJMQDFMKSPGMQMKBSUAMqPKFMADMQTDS" Menggunakan dua kunci: K1 K2 1 ' 1v 1 '"'I'" 1 . Kunci bisa jadi nama.3 Proses Dekr.. DONY ARlYUS menjadi DONYARIUS. Menggunakan satu kunei: Kl K2 K3 Teks-kode :GEMPA :MBAH : MERAPI "HJSFWFTFLFPFDOKFTUCRJLFSFOAFUTRJHUAFUFISUAF DWJSDHFLFTUCUIQFOU2007" .psi ROfl3 Pada perkembangannya algoritma kode Kaisar memberikan suatu gagasan baru untuk menggunakan kunei lain yang disebut poly-alphabetic. Coba perhatikan contoh di bawah ini. I .

. _.r I'TT I' '''' I"""I" . KI K2 ~. ' _. K I IR I I J f' n r: r. sehingga huruf yang menjadi teks-kode adalah huruf dari persamaan C = K3 dan sebaliknya. M('tode hi terdiri dari tiga bagian. K2. 1 I__ I n ' Y A 1 TI <. Dengan menggunakan metode ini. Karakter Metode ini menggunakan pendistribusian per karakter.. karakter. K3 blok ketiga.u ~. 1. Maka didapat hasil pendistribusian kunci untuk teks-kode sebagai berikut: "ODGBSLHKNKAYEBKCKNPDUDLlYOYBYILJCJCHDSCXX:X" . . Contoh pendistribusian per karakter adalah seperti di bawah ini: K] D () N Blok Metode untuk melakukan enkripsi dengan menggunakan blok adalah dengan membagi jumlah teks-asli menjadi blok-blok yang ditentukan.j 1 ~.. Contoh: Pad a contoh di atas. Atau juga bisa dipakai untuk meng­ enkripsi dua blok sekaligus dengan memakai satu kunci (Kl.' " .j 1 ~.u ~. yaitu bIok. Coba perhatikan contoh di bawah ini: Teks-asH: NAIK" "BANJIR MEREDAM JAKARTA HARGA BAHAN POKOK .u K3 K:J o Y Hll C N r K N A A K I' D K C Y N PYA 0 N G KJ KJ K3 KJ KJ KJ KJ Didapat teks-kode berikut: ODGBSI HKNKAY EllKCKN PDUDlI YOYBYI LJCJCH DSCXXX I Kl I I K2 K3 I K1 I I K2 I I K~ I K1 fj IqPll rIP]I KJ K:J K:J K:J K:J 3..j 1 ~. 2. •• . 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.." j TTI-r'I'IJI"/"I"""'''''''''I''I''I'lul'I''IAI~ILI A r " r T. """_ v .: Jl r' r: L t: ."7 . I 'I '-I Teks-asH di atas dibagi menjadi 8 blok. karena masih ada beberapa kunci lagi yang harus dicari. K2 blok kedua. '--_---' '--_---' [MJAKAR] [TAHARGJ r ABAH!'Nl li~ I Block 1 Block 2 Block 3 Block 4 Block 5 Illock 6 AIKXXX Block 7 10. bisa menggunakan metode pendistribusian kunci-kunci yang ada. r. dan zig-zag... .. atau K3) dan seterusnya.. ..r n . hampir sama dengan metode biok. belum tentu pesan bisa dipecahkan.-"'..~ Dengan menggunakan lebih dari satu kunci. Kl digunakan pada blok pertama. ~. tergantung dari keinginan pengirim pes an. jika satu kunci ditemukan oleh kriptanalis... .. • • _. Setiap blok berisi 6 karakter.. Karena blok yang ketujuh tidak mencukupi maka ditambah dengan karakter "X" atau karakter lain yang diinginkan.u ~.' . "ow-.j 1 J.\\( 57 . Begitu seterusnya. I I .56 Pengantar IImu Kriptografi ~\<aori'mo \<xi?'o<aro\\ \<"\O. __ ..

Misalkan: yl 4.3 KODE Hill Kode Hill termasuk salah satu sistem kripto polialfabetik.mj k 2. . X2) dan suam elemen teks-kode sebagai y = (yl. setelah ditambah dengan kunci maka akan dikurangi I ..- / kl.! U! ) J !. 59 . elemen pada baris i dan kolom j dari matriks K adalah k.2 k~'fTJ ~\. -( I' Teks-asli: "We Will Meet at Mid Night" Kalimat di atas mendaoat angka dari setiap huruf sebagai berikut: o " U S l. '.. 1...2. . ~ K (k.I .J k 2•2 kl.m . Hill. 13 1 14 15 16 18 20 21 22 23 25 811 i' (j ""j - ­ ::. We will meet at mid night : 11 7.'< Jika lebih dari 20.2. ) dimlis dalam notasi matriks sebagai berikut: (YI'Y2) (x"x 2 ) [( 3 . . Misalnya. " ! • I ~! v I ~ ! ~ t . dengan 26.. Kode ini ditemukan pada tahun 1929 oleh Lester S. Misalkan m = 2 maka dapar ditulis suatu elemen teks-asli sebagai x = (XI. dihitung y eK(x) = (Yl.q. maka dapat ditulis II [ c· '( r .J Untuk x (XI..l (Y)'Y2. - 22 4 22 8 II II 12 4 4 19 ° 19 12 8 3 13 8 6 7 19 Untuk mendapatkan teks-kode.2 KODE GESER Teknik substitusi kode geser (shift) c'engan modulus 26 memberikan angka ke setiap alfabet seperti a ~7 0. .. o o . -! H2 !. Misalkan m adalah bilangan ."-I . Setelah dikonversi menjadi huruf K21~~~1EI~ I. Z ~7 25. - .t • .j. ~ IFI~I J-I~I~lol .58 Pengantar IImu Kriptografi J\\qo~\'mo \<...Xm 1 o Ii 7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19 17 18 4 k2. .m. \ Kli '-' I 'J '''! • ". s'S ~ k m .\o". yl adalah kombinasi linear dari XI dan X2... .... Agar lebih jelas. (x) .. Ide dari kode Hill adalah dengan mengambil bulat positif. . .­ p Q y2 R 17 "j l\ S T 19 U V W X Y 24 Z " 11 \.26 maka akan didapatkan teks-kode: "HPHTWWXPPELEXTOYTRSE" Teks-asli Kunci . B ~7 1 . Y2). .IQlnls ITlulwlxlylz I Teks-kode : HPHTWWXPPELEXTOYTRSE Dari teks-asH: "KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDER ITA" didapat teks-kode: "FMPKCFKPVKJGKSSOOMOSHKTJKFXKTFMOCNOMPYMJCTK" 4. Xm) E P dan K E K. kita mempunyai kunei 11. .-.t\?'oq~o\\ \<. dan P = C m kombinasi linear dari m karakter alfabet dalam satu elemen teks-asli sehingga dihasilkan TIl alfabet karakter dalam saru elemen teks-asli. .. perhatikan comoh di bawah ini: A 0 M 12 = llxl + 3X2 8xI + 7X2 Ie\ 1\ (j N 10 --. Oi sini yl. . . 22+11= 33 ...\\<.x2. yang berarti karakter alfabet bisa dipetakan ke lebih dari satu maeam karakter.. sebagai berikut: " \ . . Dengan me­ nambahkan setiap nilai dari teks-asli dengan kunci 11 maka didapat: Seeara umum dengan menggunakan matriks K m x m sebagai kunci.

B untuk sembarang matriks m x n. Dikatakan bahwa teks-kode diperoleh dari teks-asli dengan cara transformasi linear. (9.~ 60 dengan kat a lain. dekripsi dilakukan dengan rumus x = yK-'.3 1 =(11'7+8'23 l1'18+8'I1J 3'7+7'23 3'18+7'11 261 2861 ( 182 131) dan (11 • 22{:3 =(11 • 24) =(~ sehingga teks-asli diperoleh kern bali. Dekripsi hanya mungkin dilakukan jika matriks K memiliki inversi. Pengantar IImu Kriptografi A\gorHmo Kriptogroti K\osik 61 Sebuah contoh untuk memberikan gambaran tentang enkripsi dan dekripsi dalam kode Hill. 1 Ingat bahwa semua operasi aritmetik di atas dilakukan pada modulo 26. 8)-1 3' 7 l( 7 18) 23 11 - A f Karena r n~" II sehingga enkripsi untuk JULY adalah DELW. ~) Dari perhitungan di atas diperoleh bahwa: K-I = =( 23 18J 7 11 ~ 12 Misalkan untuk mengenkripsi teks-asli JULY. (11 . Matriks identitas m x m. 4) ( 23 7 (9. Suatu matriks K memiliki inversi jika dan hanya jika determinannya tidak no!. 22) ~ LW l fll . ada 2 elemen teks-asli untuk dienkripsi: 1m disebut dengan matriks identitas karena AIm'" A untuk sembarang matriks I x m dan 1mB". 88+168)=(11 . Misalkan kunci yang dipakai adalah: 2.20) 2.: III (. . yang ditulis dengan adalah matriks yang berisi 1 pada diagonal utama dan berisi 0 pada elemen lainnya. Contoh matriks identitas 2 x 2: Im.72+140) j (3. Untuk melakukan dekripsi menggunakan matriks inversi K-I. 1. Untuk mendekripsi dilakukan dengan cara: (3 .24) ~ L Y 3. maka: y xK k'A = 1m. Matriks inversi dari A (jika ada) adalah kl di mana AA·I Dengan menggunakan sifat-sifat matriks di atas. yaitu (AB)C '" A(BC). 20) ( 3 7 =(99+60 . Perkalian matriks memiliki sifat asosiatif. 1. K=C. i -) l3 ~J i. y '" xK. 4) ~ DE yK·I Contoh: (xK)KI = x(KK·I) '" xlm X dan Dapat dilihat bahwa matriks enkripsi pada contoh sebemmnya memiliki inversi pada Z26: (11 • 24) 3 8) (11 7 18) 11 (121+72. Kemudian lakukan perhitungan berikut: 11 81 (9 .

..24 mod ( i ~ ~) (~3) :I _ 1 7 0+13+14 Gn 5 Mod 25:: (y) : (g) C~1) : (r) 5) (G) :: N uee VIB 26 6 3 3 ARG 53 mod 26 =1 4 + 14 ( 3 2::I) (0) (0 + 21 + 18 ) 2 1 5 0 17 + 12 17 0+ + 18 (32) Mod 25:: ( 13 39 29 3 GND 0 kemudian 1-1 mod 26 1..62 Pengantar IImu Kriptografi' \<.!:.j) :t dan matriks inversi dari A adalah: (det Contoh: K maka detK det 11 3 ( =: r--. 6 6 3 3 ( 4 2:I) 3 2 1 MME (12) 12:: (48 + 35 + 12 :: (84 Mod 26 = 72 + 24 + 12) 120 4 36 + 12 + 8 56 MHU ( 1 Mod 26:: 6) 15 = 0)1 4 E (G\ GOE 33. Unruk matriks A det A berukuran 2 x 2.2a2. sehingga matriks inversinya adalah: 11 =l3 Contoh: (11 =(.1 -31.2 ( -32. nilai determinannya adalah: <') :::. 312).. ~ _:i 'iii o B '.1 ( 423) (10) 3 2 1 13 AIK 40 + 8 + 39) Mod 26 ( .~ .2 . ..la2... <1: B \-< al.al. "" o 0­ + H) JH I 3 2. ) : : ( 50 + 12 + 39 :: ( 30 + 4 + 25 \60) 8' (11 4 (.. ? 3 7 ( :I 2 1 :I :I 3) Al m :: 0+ 16 + 30) 0 + 24 + 30 :: ( 0+ 8 + 20 0 + 26 + 21 ) 0 + 39 + 21 :: (i~) Mod 26:: = ( ~ j 11' 7 8' 3 mod 26 = 77 . "" D.c~ '" ~~ '" c.1 ~ c . 4 2 Diketahui teks-asli berikut: "KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA" ( :I (..+ 6 3 3 rKEN1 4 + l :: + ~~ (1~~\ :t I~ -e <lJ .3 ( 4 2:I) (0) (0 2 3) (5) 6 3 3 3 2 1 ABB 1 1:: 0 +3 + 3 + + 0+ 1+2 :: Mod 25 (21) (V) 20 = 3 23 U X VUX Kode Hill dengan menggunakan matriks 3 x 3 d<ngan kunci matriks (42 3.\asik 61 Namun karena 226 maka matriks K memiliki inversi modulo 26 jika dan hanya jika gcd(det K. :I :I 2 1 :I) (12) = (48+2+60) :: 1 72 + 3 + 60 20 36 + 1 + 40 ATR + + (~~J) (15) : (~) ~1) (~) GFZ ~1 ( i 2 ~) 3 (109 ) 17 : ( 0 38 + 51) :: (89 0+58+51 109 0+ 19 34 53 1 Mod26= LFB .2) 31. 26)= 1.

Bila pada teknik di atas setiap teks-kode selalu rnengganti nilai setiap teks-asli tertentu (tidak peduli apakah jumlah teks-kodenya ekuivalen dengan teks­ asli tertentu satu atau lebih). tahun 1586. 4. seperti: "9 7 8 20 222181 613321 2023 616465251151142461691318242101182124211911817"atau menggunakan heksadesimal dan binari. Teknik dari subtitusi Vigenere bisa dilakukan dengan dua cara.64 Pengantar IImu Kriptografi AKY Algoritma Kriptografi Klasik 65 0 ~ ~ ~) 0) ( 3 2 1 (124 ( ~ 4.. pada teknik substisusi Vigenere setiap teks-kode bisa memiliki banyak kemungkinan teks-asli. Teks-kode dari Kode Hill juga bisa disajikan dalam bentuk angka. yaitu angka dan humf. kekurangan pada akhir kalimat ditambah dengan humf "x" untuk mencukupi perkalian matriksnya. Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis.4 Olaise de Vigenere teks-kode dari teks-asli: "KENAlKAN HARGA BBM MEMBUAT RAKYAT KECIL MENDERITA" adalah: "JHIUCCVIBGNDVUXFQCGFZLFBOXBQJNSCECKBSVYCBTLlR" Pada (ontoh di atas.1 ANGKA Teknik subsitusi Vigenere dengan menggunakan angka dilakukan dengan menukarkan humf dengan angka. hampir sama dengan kode geser.) = 3 2 1 ( 0 +46 +69) 0 + 69 + 69 o + 23 + 46 = (11~ 138 69 Mod 26 (11)" I 8 17 R (L) LlR Gambar 4. = NDE Mod 26 CKB ( ':I 6 2 3 .3 2 ' 4 2 ~ ) (1I) RIT AXX " 52+6+12) (70) Mod 26 78 + 9 + 12 = 99 ( 39 + 3 + 8 50 (18) 21 24 SVY ( 6 \ :\ 3 2 ~) C~) = 23 68+16+57) 102+24+57" ( 51 + 8 + 38 ~32) 183 97 Mod26= (2) 1 19 = (C) B CST T (~ ~ ~) (.2.4. Sebenamya Giovan Batista Belaso telah menggambarkannya untuk pertama kali pada tahun 1553 seperti ditulis di dalam buku La Cifra del Sig.4 KOOE VIGEN ERE 0 + 20 + " 0 + 30 + ( o + 10 + 48 72 ) (92) " 102 58 Mod 26 = (14) = 24 6 G (0) Y J OYG ATK ~ 2 ~) ~1 ~ (109 ) 10 Eel = ( 0+38+30) 0 + 57 + 30 o + 19+ 20 (68) Mod 26 = 87 39 (16) 9 13 (Q) N QJN 16 4 + + 24 ~~~) (~) = ( 24 + 6 + 24) = G~) Mod 26 (~) =(~) 12+2+16 ( 2 1 8 = SCE LME " :\ :\) 6 2 ~ ( 3 2 1 Kode Vigenere termasuk kode abjad-majemuk (polyalphabetic substitution cipher). Blaise de Vigenere pada Abad 16. .2. 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 K<"siski pada pertengahan Abad 19.

..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 x Y Z Z A 11 C D E F G H.4. 8. 15. 15. Untuk mengenkrlpsi pe~an dengan kode Vegenere digunakan tabula recta (disebut juga bujUIsangkar Vigenere.­ 0 o l' Q R S T U V WX Y Z A B C D E F ~ H I J K L MN l' 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 It S T U VW X Y Z A B C D E F G H I J K L MN o I' Q It 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 Q f-­ S S T U V WX Y Z A B C D E F G H I J K L M N o r Q It f-­ . -I-­ 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 r.17)._. .8. S .f-­ K J J K L M N 0 l' Q R S T U V WX Y Z A n C -D E F G H I ' i u K K L MN o l' Q R S T U V W X Y Z A B C D E F G H I 11 L L M NO l' Q R S T U VW X Y Z A B C D E F G ITT J K C M R S T U V WX Y Z A n C D E F G H I J K L ~ N 0 \' Q N 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 . __ .. seperti gambar di bawah ini: I'laintext Kunci dengan 6 huruf kode jika ditukar dengan angka akan menjadi K (2. I ~ e-· J-. ABC D E F G H I J K L M NOr Q R STU V W X Y Z A A'BCDEFGHI 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.Q 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 . _ _ _... 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) • k(i mod m)) ..Y Z A B C D E F·G c­ .. Tabula recta dig:makan untuk memperoleh teks-kode dengan menggunakan kunci yang sudah ditentukan.66 antar IImu Kri K\05ik 4. _ L._ .J K L M N 0 I' Q R STU V.I ­ .7. _ _ _ _. 17) Teks-kode : VPXZGIAXIVWPUBTTMJPWIZITWZT Untuk melakukan dekripsi juga bisa menggunakan kunci yang sarna dengan modulo 26.7. .. __ .VU \1URUf 67 A I 8 I C I DIE I FIG I H o N 13 J IKILIM 110 111 /12 I1 I2 I3 I4 I 5 I6 I7 Ia I9 0 14 P 15 Q 16 R 17 STU 18 19 20 V W x 21 22 23 y 24 Z 25 0= Ide dasarnya adalah dengan menggunakan kode Kaisar. T H I S CRY P T 0 19 2 7 8 18 7 2 4 6 B 15 S Y S T 4 17 2 8 1 17 24 15 19 14 18 24 18 19 17 8 2 0 8 23 15 8 7 21 15 23 25 21 22 15 20 ElM 4 15 12 7 SINIOITISIEICIUIRIE B 18 13 14 19 18 4 4 8 2 17 20 17 2 8 4 15 4 17 9 2 8 15 8 7 25 19 19 12 Teks-asli Kunci 15 22 19 22 25 19 : This cryptosystem is not secure : (2. tetapi Jumlah per­ geseran hurufnya berbeda-beda untuk setiap periode beberapa huruf tertentu.c __. 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 I J K L MN o l' Q R S T U V W X. _ _..W . dan reks-aslinya "This Cryptosystem is Not Secure". 4.

dan huruf yang tersimpan pada bans x dan kolom y pada tabula recta. huruf D pada tabel untuk baris huruf Dada pada kolom huruf A. tarik gans lurus ke bawah dari teks­ asli dan gans lurus ke samping dari posisi kunci maka akan ditemukan huruf "un. Salah satu kelebihan kode Vigenere adalah sulitnya melakukan kriptanalisis dengan metode analisis frekuemi karena dua huruf yang sarna dalam teks­ kode belum tentu bisa didekripsikan menjacli clua huruf yang sarna dalam teks-asli. Huruf U inilah yang akan menjadi teks-kode. huruf yang bersesuaian pada kunci yang digunakan adalah D. Misalnya. 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". Karena itu huruf pertama teks-asli adalah A. pad a huruf pertama teks-kode (D). pad a tabula recta bisa dilihat bahwa posisi horizontal merupakan teks-asli dan pada posisi vertikal adalah kunci.68 dengan: huruf ke-i dalam teks-asli Pengantar IImu Kriptografi Algoritma Kriptografi Kla~ik 69 kn m V(x.y) huruf ke-n dalam kunci panjang kunci. 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. Begitu seterusnya. Dengan melihat tabula recta. Coba perhatikan contoh berikut ini: Untuk mendekripsi pesan. Contoh kode Vigenere adalah sebagai berikut: Teks-asli Kunci :" KEAMANAN DATA MENGGUNAKAN CIPHER VIGENERE" : "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. . Jika sudah menemukan.

yaitu CSATP. Misalkan panjang kunei yang sudah berhasil dideduksi adalah n. Kelompokkan setiap huruf ke-n bersama-sama sehingga kriptanalis memiliki n buah "pesan". Perulangan huruf ini memungkinkan unruk menghasilkan kriptogram yang berulang. P • Gambar 4.-ak antara kriptogram yang berulang. "" 1-1 --+-----------'". tetapi juga perulangan pasangan huruf atau tripel huruf seperti "TH".70 Pengantar Ilmu Kriptografi Algoritma Kriptografi Klasik 71 Pada eontoh tersebut. masing-masing dienkripsi dengan substitusi alfabet-tunggal (dalam hal ini kode Kaisar). 6%. ~K 2. Jika kriptanalis dapat menentukan panjang kunei saja maka teks-kode dapat diperlakukan seperti rangkaian beberapa kode Kaisar. ftl 2'k 3. 3. Metode Kasiski memanfaatkan keuntungan bahasa Inggris yang tidak hanya mengandung perulangan huruf. Jika panjang kunei adalah p maka jumlah kunci yang harus dieoba adalah 26 frekuensi. . Temukan semua kriptogram yang berulang di dalam teks-kode (pesan yang panjang biasanya mengandung kriptogram yang berulang). Tujuan dad metode Kasiski adalah meneari dua atau lebih kr ptogram yang berulang untuk menentukan panjang kunci. Contoh: Teks-asli : CRYPTO IS SHORT FOR CRYPTOGRAPHY Kunci . huruf M pad a teks-kode berasal dari huruf H dan T pada teks-ash. Hitung semua faktor (pembagi) dari jarak tersebut (faktor pembagi menyatakan panjang kunei yang mungkin). dsb. '2% Plaintext Pada eontoh tersebut. Tiap-tiap pes an dari hasil langkah 1 dapat dipeeahkan dengan teknik analisis fJ ekuensi. Setiap huruf kelipatan ke-n pasti dienkripsi dengan huruf kunci yang sarna. abcdab cd abcda bed abedabedabed Teks-kode : CSASTP KV SIQUT GQU CSASTPIPAQJB Namun akan lebih efisien bila menggunakan teknik analisis Langkah-Iangkah untuk melakukan analisis frekuensi adalah: 1. Gambar memperlihatkan perbandinggan frekuensi kemuneulan huruf pada suaru teks-asli dan huruf pada teks-kode dengan menggunakan kode Vigenere. kriptanalis dapat menyusun huruf-huruf kunei atau menerka kata yang dapat membantu memeeahkan teks-kode. Hitung j. 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. Dari hasillangkah 3. "THE".5 Perbondingon Frekuensi Kemunculon Huruf podo Kode Vigenere Kelemahan utama kode Vigen ere adalah kuncinya yang pendek dan peng­ gunaannya yang berulang-ulang. II / "" 11 15 2' 26 4. 2. Tentukan irisan dari himpunan faktor pembagi tersebut. Setelah panjang kunci diketahui maka langkah berikutnya adalah menentu­ kan kata kunci. Hal ini karena string yang berulang dapat munetll bertindihan (coincidence). Nilai yang muncul di dalam irisan menyatakan angka yang muneul pada semua faktor pembagi dari jarak-jarak tersebut. Kata kunei dapat ditentukan menggunakan exhaustive kef search.. Langkah metode Kasiski adalah sebagai berikut: 1. Nilai tersebut mungkin adalah panjang kunei. CRYPTO dienkripsi menjadi kriptogram yang sarna. Metode Kasiski membanru menemukan panjang kunci-kode Vigenere.

Jumlah kemungkinan kunci pada kode Playfair: 25!=15511. .6 Penemu Kode ~ II! a p Q U v - Boron lyon V W x y z Kunci dari cipher Playfair adalah penggunaan matriks 5 x 5 (dengan masukan terdiri dari 25 karakter dan membuang J yang ada di dalam alfabet). maka akan dijumpai karakter "n" (sebagai teks-kode).2. PI . Cootoh.330.. 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.72 Pengantar IImu Kriptografi Algoritma Kriptografi Klasik Contch: Diketahui teks-asli: Di dalam jiwa yang sehat t erdapat akal yang schat 73 Pada abad ke·19 dikembangkan aneka algoritma lain untuk kode abjad majemuk. S T E.000000 2. Uotuk melakukan enkripsi. untuk mengenkripsi "an" maka karakter di sam ping "n" adalah "d" da!).5 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. Misalnya teks-as1i "di" huruf keduanya adalah Hi". 5 T A N D. Jadi teks­ kode dad "di" adalah "nl" 4.985. ~.S T A ~ I D E R e K F G M Sir Charles Wheatstone Gambar 4.W IX Y Zl . ~L ~I"I. B­ e H B K F G ] 11 M 0 p Q u· V W X Y Z\ K F G I L M a p ~Q UI V . E R C H B. Untuk karakter yang kedua. karakter di sam ping "a" adalah un" sehingga teks-kodenya menjadi "dn".2IO. 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... Algoritma-algoritma tersebut biasanya menggunakan tabel yang lebih rumit daripada tabula recta dan untuk mengenkripsikan satu pesan saja butuh waktu yang lama.043. Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya.984. maka dari "i" yang di dalam matriks bergerak vertikal mencari huruf yang sebaris dengan "d". kode Playfair mempunyai beberapa aturan berikut: 1. "d" mencari sisi lain seperti cara karakter Hi" sehingga dijumpai karakter "I". Dengan begitu kunci yang digunakan ada 25 alfabet.

74 Pengantar !lmu Kriptografi Alg. 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. Untuk kepentingan analisis dari kode Playfair. karakter yang diambil untuk teks-kodenya adalah karakter yang berada di samping (yang berarti baris pertama setelah baris tersebut). narnun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf. Sebagai contoh: Ada 6 kunei untuk rnelakukan perrnutasi kode: K F G I L M a p Q U V W x y z 4. Meskipun kode Playfair sulit dipecahkan dengan anal isis frekuensi relatif huruf. "ii" menjadi Haza". Jika terdapat karakter kern bar untuk pengf. misalnya pasangan huruf TH dan HE paling sering rnuncul. Tetapi ukuran poligram di dalam kode Playfair tidak cukup besar. Bila karakter-karakter yang dienkripsi berada pada akhir baris maka diikuti aturan sepeni nomor 2 di atas.3 TEKN. Di dalam bahasa Inggris frekuensi kemunculan pasangan huruf. hanya dua huruf. Inggris dan teks-kode yang cukup ban yak. sehingga kode Playfair tidak arnan. 5. Sebagai contoh "aa". Hal ini berguna untuk mempersulit analisis dari kod. decipher left) sedangkan aturan dua dan tiga EBDA (encipher below.unaan kode Playfair maka disisipkan satu karakter di antara karakter tersebut. aturan sam.oritma Kriptografi Klasik 75 3.K TRANSPOSISI Di atas kita sudah rnengenal teknik subsitusi kode. decipher above). Daiam eontoh ini ditarnbah dengan huruf X.£l~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: "SAYA SEDANG BELAJAR KEAMANAN KOMPUTER" Terlebih dahulu kalimat tersebut dibagi menjadi 6 blok dan apabiia terjadi kekurangan dad blok bisa ditambah dengan huruf yang disukai.' tersebut. Jadi dari teks-ash di atas akan didapat teks-kode di bawah ini: JJ.I'( E R A­ ~ D C H B -- 4. aturan dua dan aturan tiga diberi singkatan. Teknik ini menggunakan perrnutasi karakter. Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalarn bahasa . Pada bagian ini akan dibahas teknik perrnutasi (transposisi kode). 9/ . tetap! pada kasus baris terakhir. "izi" tergantung kesepakatan. Aturan satu ERDL (encipher right. 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" 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. kode Playfair akan dapat dipeeahkan.

. . Segi{iga: masukkan teks-asli dengan pola segitiga dan dibaca dari atas ke bawah. seperti zig-zag.­ - "AGAAMXYSNBJRMNOPRAEAEAKAAKUESDLENTX" 2._ . ~ J A N U T E X X X X . Teknik dati enkripsi super ini mudah dilakukan asal sudah memahami teknik subsitusi dan permutasi di atas.A' Y A S E A M A N A. B R K A N K R X X X Teks-kodenya adalah: S A Y A E L A E A M 0 M P X X X L .17 Xj E E K A U Xi '--­ . • . Diagonal. . Pertama yang dilakukan adalah melakukan enkripsi pesan dengan menggunakan teknik subsitusi dan teks-kode yang dapat dienkripsi lagi menggunakan teknik transposisi (permutasi). 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: "KENAlKAN HARGA BRM MEMBUAT RAKYAT KEelL MENDERITA" "SAEKRAAMETUJYARXPAANXXMLSANKOEEDANGB" . . semua tergolong kode yang sederhana dan mudah dipecahkan.M A M 11 X P L R 0 L E N E A A.. .. Dengan menggunakan pola ini teks-asli dimasukkan dengan cara diagonaL Coba perhatikan contoh di bawah ini: 1... A A K RI Y N J M '0 'x. A 1\ K E T 5 e Teks-kode dan teknik ini dengan membaca dari baris atas ke baris bawah A G A A M. Spiral. teks-asH dimasukkan secara spiral dan dapat dibaca dari atas ke bawah.76 Pengantar IImu Kriptografi Algoritma Kriptografi Klasik 77 Untuk mengembalikan ke bentuk teks-asH maka dilakukan inversi terhadap chiphertext dengan mengikuti kunci nomor dua di atas. _ 4. Ada banyak teknik untuk permutasi ini.. spiral dan diagonaL 4. Zig-zag memasukkan teks-asli dengan pola zig-zag seperti contoh di bawah im: A G A B J R K . Contoh dari superenkripsi adalah seperti di bawah ini: Diketahui teks-ash: . "RAXRNXBKKXAEEOXSYLAMXAAMPXJAUXNTXEXX" 3. Lihat contoh di bawah ini: S .4 ENKRIPSI SUPER Pada pembahasan di atas. segitiga... Kombinasi tersebut merupakan dasar dari pembentukan algoritma kriptografi yang kita kenaI sekarang ini (modern)._ . Teks-kodenya adalah: "SDLENEAAAAJRYNHMOXAGAAMXSBRNPXEEKAUX" Teknik transposisi (permutasi) memiliki bermacam-macam pol a yang bisa di­ gunakan untuk menyembunyikan pesan dari tangan orang-orang yang tidak berhak. 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). s Y A S 11 0 E 0 A E L A A.. X S B R N .

Jauh lebih baik jika pesan yang dikirim tidak jamh ke pihak ketiga sewaktu terjadi tranmisi sehingga bisa mencegah penyerang unruk . Berapa kemungkinan kunci yang akan dicari dan berapa waktu yang diperlukan? Dengan menggunakan teknologi komputer yang bisa mencoba kemungkinan 10. yang dipakai tentara Jerman untuk mengirim pesan pada Perang Dunia Kedua. Hal itu mempakan pelajaran yang berharga di dalam dunia kriptografi. untuk mendapatkan tahtanya. manual. Pada zaman teknologi komputer sekarang inL pemecahan kode rahasia menjadi jauh lebih mudah. tetapi untuk mendapatkan algoritma yang lebih baik dan mempunyai sedikit kemun gkinan untuk dipeeahkan adalah one time pad (OTP). 79 1.\'mo \<'. Elizabeth. Surat rahasia ini dikirim ke komplotannya yang berisi reneana Ratu Mary untuk terbebas dari hukuman dan reneana pembunuhan atas Ratu Inggris. walaupun pesan jatuh ke pihak ketiga.78 Pengant(lr Ifmu Kriptografi f:\\go. Coba bayangkan jika algoritma Vigenere dipecahkan dengan menggunakan eara 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. Dari dua kisah di atas dapat disimpulkan bahwa suatu algoritma kriptografi bisa dipecahkan jika algoritma 1m memakai metode yang statis. Dalam sejarah. Walaupun saat algoritma itu dirancang. Setiap perancang algoritma kriptografi mengaku bahwa algoritma mereka tidak terpecahkan. Sebelum membahas kriptografi modem. Teks-kode yang didapat: "QKTGOQGTNGXMGHHSSKSHAGZQKIORSKTJKXOZG" 2.\p':>gro'\'\ \<. 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. 4.. sangatlah penting unmk mendis­ kusikan konsep kode yang tak terpecahkan.\\<.000 kata kunci per detik. Oleh karena itu diperlukan algoritma yang dapat menjamin pesan tersebut.6 RAHASIA YANG SEMPURNA 4. Begitu juga dengan Ratu Mary dari Skotlandia yang menggunakan suatu varian kode subsitusi untuk mengirim pesan rahasia pada Abab 16. Menggunakan teknik substitusi kode dengan memakai algoritma kode kaisar dengan kunei 6. walau pun pihak ketiga bisa meng­ intempsi transmisi dari sistem pengiriman pesan. Kode rahasia mereka dapat dipeeahkan dan saat itu kekalahan dari tentara Jerman dimulai. kemungkinan untuk menemukan teks-asli Vigenere menjadi kurang dad satu hari. Pada umum­ nya algoritma kriptografi tidaklah sempurna. kriptografi yang terkenal adalah Enigma. Menggunakan teknik transposisi kode (permutasi kode) dengan meng­ gunakan teknik diagonal permutasi dengan kunei 4. Q K T G 0 Q G T N G X M G H H S S K S H A G Z Q K 1 0 R S K T J K X 0 Z G X X 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. Mereka terlalu pereaya ::liri bahwa pesan rahasia mereka tidak akan bisa dipecahkan oleh orang lain.\oo:.. pemecahan kode rahasia pada umumnya dilakukan dengan menggunakan teknik erial and error hingga menemukan kunci dari kode tersebut.5 AlGORITMA YANG SEMPURNA Algoritma kriptografi klasik mempunyai bemuk yang sederhana dan mudah dipeeahkan.

kalau ATM tidak membatasi PIN yang error dalam sekali transaksi. Untuk kunci K1. lain waktu jika ada pesan yang mempunyai algoritma yang sarna akan lebih mudah dipeeahkan. Perlu diingat bahwa kejadian seperti ini sudah sering terjadi di Amerika. dan penyerang mf'nyimpulkan bahwa pesan "sell" jika kunci K2 digunakan. yang baik di dalam menggunakan kartu kredit. {] . K1 dan K2. Ekspresi kl (Buy) '"'0 dibaea dari hasil enkripsi "buy" menggunakan kunei K1 adalah O. 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). karena akan membuat reputasi mereka menurun di mata konsumen. Jika dalam sekali transaksi hanya diberi 3x peluang untuk mengulangi kesalahan PIN. X mengirim keputusan dengan menggunakan jaringan publik seeepat yang ada dalam pikirannya. Pad a eontoh di atas Mr. Untuk menyatakannya ditulis Ekl (Buy) '" 0 dan Ek2 (Sell) = l. Catatan: Pada prinsipnya setiap penyerang pesan rahasia dan pesan terse but berhasil diinterupsi maka hanya ada satu pilihan. Contoh dari rahasia yang sempuma adalah seperti kasus di bawah ini. Kemungkinan ini berhasil 50%. Sistem yang bisa meneapai objek ini bisa disebut dengan rahasia yang sempuma (perfect secrecYJ. 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. Seorang direktur suatu perusahaan. teks-kode dari teks-asH "Buy" adalah 0 dan teks-kode untuk "sell" adalah 1. ia bisa berhasil dengan meneoba 10. yang meneoba menebak dan mengubah pesan yang dikirim. Pesan yang dikirim ke pialang sahamnya adalah pesan yang telah dienkripsi.. mengetahui bahwa panjang dari pesiJn tersebut sudah cukup bagi penyerang untuk dapat mengetahui 100 persen isi pesan tidak mengetahui kunci dari pesan terse but. Hal ini umum dilakukan untuk mengirim pesan pendek. Kemungkinan untuk diterka oleh penyerang menjadi 100 persen. Jika kartu tersebut jatuh ke pihak ketiga yang kemudian meneoba untuk menggunakan PIN. jika keputusan ini tepat pada waktunya dan jelas. PIN hanya digunakan oleh yang memiliki kartu.-1·· SeU 1 {] K2. yaitu menebak isi dari pesan tersebut setelah meng~tahui algoritma yang dipakai. Jangan pernah meneatat dan menyimpan PIN di manapun. Jika pesan yang didapatkan tidak bisa dipeeahkan.80 Pengantar IImu Kriptografi Algoritma Kriptografi Klasik 81 meneoba mengira-ngira pesan tersebut. Untuk enkripsi tersebut digunakan subsitusi kode. Pilihan yang lain boleh jadi menggunakan sis tern dua kUnci. 2. Tika membuat keputusan membeli (buYJ maka akan meningkatkan nilai perusahaan tersebut. Jika penyerang mengirim bahwa kunci yang digunakan masing-masing adalah sarna. at au "Buy" jika kunci Kl. Sedangkan jika menggunakan algoritma yang berbeda at au memakai dua algoritma sekaligus dalam mengirim pesan maka kemungkinan menjadi 50 persen. maka keuntungan besar akan diraih. Diasumsikan peny'~rang mengetahui sistem yang digunakan. debit atau kanu sejenis adalah: 1. Jika sistem yang digunakan dan 0 diinterupsi. Jangan pernah memberitahukan PIN ke orang lain. Pada dasarnya PIN sering terbongkar oleh pihak ketiga tetapi hal itu tidak dipublikasikan oleh lembaga yang bersangkutan. tetapt pada pesan tertentu dengan menggunakan subsitusi kode sederhana. Diasumsikan pada eontoh ini bahwa algoritma yang dipakai tidak ditentukan. Kode yang kompleks seperti: Kunci K2: Ek2 (Buy) Kunei Kl: Ekl = 1. akan membuat suatu keputusan serius dalam saham perusahaan. Ekl (SELL) = 1 Ekuivalen ditulis seperti di bawah ini: " KL-·· Kund:!' BUY'. atau sarna dengan gambling.000 kemungkinan yang ada. Ek2 (SELL) = 0 = 0. X selalu mengirim pesan dengan algoritma yang sarna. tapi jika pesan ini salah ~iterima oleh pialang sahamnya maka kemungkinan bangkrut menanti. Untuk mengirim pesan ini ke pialang sahamnya. panjang dari pesan mempunyai eiri khas yang unik. Contohnya adalah penggunaan PIN (Personal Identification Number) dan kartu kredit atau kartu debit pada ATM (Automated Telling Machine). X. mungkin untuk menebak pesan yang ada menjadi 50 persen. Mr. hanya saja membutuhkan waktu yang agak lama.• . sebut saja Mr. Pada situasi real-life. Pad a waktu pesan ini ditransmisikan tentu ada pihak-pihak yang tidak senang. Jika keputusan menjual (sell) maka akan mengakibatkan kerugian yang sangat besar. Eropa maupun di Indonesia.

etc. Sekali pad digunakan. . Maugborne dan G.fa) mod 26 Bila diketahui teks-asli: "ONETIMEP AD" Dengan kunci: "TBFRGFARFM" Diasumsikan A 0. 5.. l\jH~S 01 'ral1l. B == 1. Penerima pesan memiliki salinan pad yang sama. Panjang kunci OTP paniang reks-asH sehingga tidak ada keburuhan untuk mengulang penggunaan kunei selama proses enkripsi. Pemilihan kunei harus seeara aeak agar tidak bisa diproduksi ulang dan membuat lawan tid. Conroh.82 Pengantar Ilmu Kriptografj Algoritma Kriptografi Klasik 83 3.. Mudah diingat dan unik (bukan tg]. 6. supaya orang-orang yang tidak bertanggung jawab tidak dapat memanfaatkannya.:orr( HUll1tHi' $) (P + R) mod 26 '" H (A + F) mod 26 == G (D +M)mod26=Q Sistem OTP tidak dapat dipeeahkan karena beberapa alasan: . 1. Aturan enkripsi yang digunakan persis sama seperti pada kode Vigenere. Maka akan didapat teks-kode : "lPKLPSFHGQ' yang mana diperoleh sebagai berikut: (0 + T) mod 26 (N + B) mod 26 (E + F) mod 26 (T + R) mod 26 (1 + G) mod 26 (M + = P K L == == P S F F) mod 26 (E + A) mod 26 27564 34498 86670 32451. Setiap kunei hanya digunakan untuk sekali pakai. OTP termasuk dalam kelompok algorirma kriptografi simetri. Record PIN pada mesin ATM bisa diIacak dengan menggunakan suatu program kartu kosong. 1. Gambar 4. Jangan memberikan kartu ke orang lain. Enkripsi:. Jadi untuk mendapatkan sistem yang sempurna dibutuhkan security policy yang baik dan juga memikirkan segala kemungkinan yang ada. nomor rumah dan sebagainya). Z 25.~ pai vi pap. . tl1tlr a tfijja(lll "quina vi appamHfy rorufomfy 1'Gfl/r'n4 rmmb(f$. Sebaiknya setelah menggunakan ATM.r Jhm. Vernam rahun 1917.'.7 Solah Salu SenIuk DIP . lahir. ia dihaneurkan supaya tidak dipakai untuk mengenkripsi pesan yang lain.. 2. 'j = (Pi + kJ) mod 26 2. . ulangi dengan memasukkan PIN yang salah. Barisan kunei aeak + teks-asli yang tidak aeak teks-kode yang seluruhnya aeak. Pertama ditemukan oleh Mayor J.7 ONE TIME PAD One time pad berisi deretan karakter kunci yang dibangkitkan seeara aeak. 998123461Q 16843 46662 . 4. Jumlah karakter kunci sama dengan jumlah karakter yang dimiliki pesan.'ad.. Dekripsi: ci == (Pi .. 4. Bagaimana sebaiknya menjaga suatu rahasia agar aman? Pada dasarnya setiap manusia tidak ingin orang lain mengetahui rahasia yang dimilikinya.. Satu pad hanya digunakan untuk mengenkripsi pesan satu kali (one-time) saja. Yang terpenting selalu waspada dari kemungkinan apapun. 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.lk mudah menerka. jika diketahui teks-asli KEAMANAN maka untuk kuncinya bisa dipakai ZJKEOLFH.

Pada blok kode. Urutan bit yang akan mewakili teks-asli yang kemudian dienkripsi untuk mendapatkan teks-kode dalam bentuk urutan bit. 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. pembagian antara aliran kode. Sebagai eontoh sekuen 12 bit: 100111010110. Saluran ini pada umurnnya eukuD mahal dan larnbat.. blok teks-asli sarna dengan blok yang ada pada teks-kode dan menggunakan kunci yang sarna untuk enkripsi dan dekripsi. Meskipun OTP merupakan suatu algoritrna yang sernpurna dan arnan. Aliran Kode: Algoritma pada aHran teks-asH dan teks-kode satu bit atau byte (kadang-kadang satu bit ksts 32-bit). di mana urutan pembagian dalam bentuk ukuran blok yang diinginkan.2 BIT-STRING Kriptografi klasik rnenggunakan sistem subsitusi dan permutasi karakter dari teks-asli. pendistribusian kunei dan masalah pengiriman kunei karena kunei dibangkitkan seeara aeak. rnaka 'tidak mungkin' pengirim dan penerima membangkitkan kunei yang sarna seeara sirnultan. Jika dipeeah menjadi 3 blok rnaka akan didapat 100 111010 . BABV TIPE DAN MODEL ALGORITMA KRIPTOGRAFI 5. 5. Sedangkan pad a aliran kode. di mana urutan dari bit untuk enkripsi menggunakan met ode bit-by-bit. yang umum digunakan untuk skema encoding ASCII (American Standard Code for Information Interchange). tetapi dalam praktik OTP jarang digunakan karena sedikit rumit yang disebabkan oleh panjang kunei = panjang pesan. karakter yang ada dikonversi ke dalam suatu urutan digit biner (bits). ASCII memerlukan 8 bit untuk mendapatkan satu karakter dan blok kode mempunyai 64 bit untuk satu blok. bukan "ONETIMEPAD". Algoritma enkrip~i bisa menggunakan salah satu dari dua metode. sehingga timbul masalah penyirnpanan kunei.84 Contoh: Pengantar IImu Kriptografi Kriptanalis rneneoba rnendekripsi teks-kode IPKLPSFHGQ Kriptanalis meneoba kunei . Metode kedua adalah blok kode. POYYAEAAZX" 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. Pada kriptografi modern. bit pada teks-asli tidak sarna dengan bit yang ada pad a teks-kode. yaitu 1 dan O. Yang pertama "natural". OTP hanya dapat digunakan jika tersedia saluran komunikasi alternatif yang eukup aman untuk mengirim kunei.1 PENDAHULUAN Ada banyak algoritma untuk melakukan enkripsi dan dekripsi pad a kriptografi.

11 Proses Dekripsi o Mode OFB Gambar 6. sedangkan Symmetric Key terdiri dari Block Cipher dan Stream Ciphers. antara faktor yang satu dengan yang lain saling berhubungan untuk mendapatkan keamanan yang dikehendaki.106 100tJai Value ~ _____!_e:ngantar IImu Kriptografi en-I BAB VI ALGORITMA KRIPTOGRAFI MODERN KunC:1 6. seperti Privacy didukung oleh Encription. s-bit s-b'l Plaintext B!oCk3mml Gambar 5. sementara Public Key tedid dari ECC dan RSA. Data Integrity didukung oleh pemberian MAC. Public Key. Encription terdid dad Symmetric Key. data integrity.1 PENDAHUlUAN Enkripsi modern berbeda dengan enkripsi konvensionaL Enkripsi modern sudah menggunakan komputer untuk pengoperasiannya. Di bawah ini akan digambarkan bagaimana enkripsi modern saling mendukung satu dengan yang lain. Authenti­ cation didukung oleh MAC. Pseudo Random digunakan untuk . MAC dibentuk dad Hash Function yang akan menghasilkan Massage Digests. ChalJenge Response. Fal ini sangat berguna untuk melindungi privacy. dan IVs.1 Skema Kriplografi Modern Pada gambar. dan Digital Signature. berfungsi untuk mengamankan data baik yang ditransfer melalui jaringan komputer maupun yang bukan. authentication dan non-repudiation.

~."r. Aplikasi dari algoritma simetris digunakan oleh beberapa algoritma di bawah ini: 1. Data Encryption Standard (DES). Contoh: Alice ingin mengirim pesan x dengan aman menggunakan saluran umum kepada Bob. f ./ ~.. dia akan mendekripsi teks-kode yang diterima dengan kunci yang sarna dengan yang digunakan untuk memperoleh akses ke pesan yang diterima. Advance Encryption Standard (AES). !". Plaintext input Ciphertext Plaintext output -­ t . Untuk mengirim pesan e xa (x) kepada Bob.: .. Shamir dan Adleman). "i' n • .2 AlGORITMA ASIMETRIS Algoritma asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi.j~'ljSj:J: " .'Li~·d..~ ~~ '· II ."4~'. Plaintext Input Cipher-text Plaintext Output 6.'.1 AlGORITMA SIMETRIS Algoritma simetris adalah algoritma yang menggunakan h nci yang sarna untuk enkripsi dan dekripsinya.:/ ~) ·.:-~~:~:-~ . International Data Encryption Algoritma (IDEA). Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA (merupakan singkatan dad nama penemunya. .108 Pengontor Ilmu Kriptogrofi Algorifmo Kriptogrofi Modern 109 IVs. Alice menggunakan kunci xa yang sebelumnya telah disepakati antara Alice dan Bob. Begitu juga sebaliknya.2 MACAM-MACAM ALGORfTMA KRIPTOGRAFI MODERN Kriptografi modern merupakan suam perbaikan yang mengacu pada kriptografi klasik. sedangkan Nonces digunakan untuk menghasilkan Challenge Response.2 Algoritmo Simetris . 4.3 Algoritmo Asimetris ReCipient's private key Gambar 6. S. Nonces sena pembuatan Secret Kays yang disimpan di dalam Smart Cards. 6. RC4.. Algoritma kriptografi modern terdiri dari dua bagian: 3. : .r" Same key (shared secret) /. sedangkan hanya satu orang saja yang memiliki rahasia itu. Pada kriptografi modern terdapat berbagai macam algoritma yang dimaksudkan untuk mengamankan informasi yang dikirim melalu jaringan komputer.'~. 2. .2. 6. Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk meng ­ enkripsi suatu pesan. untuk melakukan pembongkaran terhadap kode yang dikirim untuknya.2. yakni Rivest. yang dalam hal ini kunci rahasia. AS...~~~~~ Dmet:iflt keys Recipient's public key Gambar 6.

~l Ti[.I :1 !'!""l'. .3 ALGORITMA HIBRIDA Algoritma hibrida adalah algoritma yang memanfaatkan dua tingkatan kunci.1 SEJARAH SINGKAT DES Pada akhir 1960 IBM memulai riser proyek Lucifer yang dipimpin oleh Horst Feistel untuk kriptografi komputer..S Dekrip~i Hibrido 8.2. 5.(J'J Gambar 6.. ~ '".3. Algoritma harus dapat beradaptasi dengan berbagai aplikasi. 9.. Secara umum stan dar enkripsi data terbagi menjadi tiga keJompok. -... yang diadopsi oleh NISI (Nasional Institue of Standards and Technology) sebagai stan dar pengolahan informasi Federal AS. Perangkat yang menggunakannya tidak membutuhkan suatu alat yang sangat canggih. sekarang menjadi National Institute of Standard and Technology (NISI). '~':~:".. -tl:r • Recipient's ~key <: .liM. :jS'~%:J2/~~~d 6.' EE ~ !.3 STANDAR ENKRIPSI DATA Standar enkripsi clata (Data Encrytion Standard DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia. yaitu pemrosesan kunci. . Algoritma hal us lengkap dan mudah untuk dimengerti. Algoritma harus valid.t•..'. . Keamanan algoritma harus mempunyai kunci. mengeluarkan proposal untuk kode standar nasionaL Proposal tersebut memberikan kriteria unruk standar algoritma kripc')grafi sebagai berikut: L Algorirma harus bisa memberikan level keamanan yang tinggi • li I.l ~ User's ~key (In certlflcate) Randomly..110 Pengantar IImu Kriptografi Algoritma Kriptografi Modern 1 11 6.yang disebut juga session key (kunci sesi) unruk enkripsi data dan pasangan kuncirahasia-kuncipublik untuk pemberian tanda tangan digitai serta melindungi kunci simetri.-UI~ .. 6. . Proyek ini dipimpin oleh Walter Tuchman.. ~. Setelah IBM mengembangkan sistem enkripsi yang dikomersialkan maka Lucifer disebut dengan DES (Data Encryption Standard). • <{t '. Algoritma harus ekonomis. Ei'J'J:llSlfj:. bukan tergantung dari algoritma yang ada.'.. f~'" Digital envelope contains "session" key encrypted using recipient's pybllc key j Session key must be decrypted using the recipient's ~ 4.. Algoritma harus efisien bila digunakan. Hasil dari riset ini merupakan VeTS! Lucifer yang bersifat menentang pemecahan algoritma kriptografi... Pada 1973. Algoritma harus exportable....:'" . Proyek ini berakhir tahun 1971 dan Lucifer pertama kali dikenal sebagai blok kode pada pengoperasian blok 64 bit dan menggunakan ukuran kunei 128 bit. National Bureau of Standard (NBS). W ~J"'" :::. enkripsi data 64 bit dan dekripsi data 64 bit yang mana saru kelompok saling berinteraksi satu sarna lain.~ il I' '~!jJ~J~~f)·:.4 Enkrip~i Hibrido . 3.. 7...i··· II .r b Other recipient's or agent's ~ key (in certificate) in reco~ery policy il il Jl '\1 Gambar 6. 1It~. yairu kunci rahasia (simerri) .C --"".:. 6..1J'J!j :..~Ir' Generated symmetric "session" key ~ .".. Algoritma harus aViil1able untuk semua user. 2.

112 Pengantar Ifmu Kriptografi Algoritma Kriptografi Modern 113 Pada 1970 IBM dengan tim kriptografinya.1) menjadi blok teks-kode. Bisa ditulis . Bill Notz.3. Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali putaran). Pad a akhir tahun 1990. DES beroperasi pada ukuran blok 64 bit. HasH enciphering kemudian dipermutasi dengan matriks permutasi balik (invers initial permutation atau IP.. termasuk Roy Adler. 16.. Alan Konheim.. Skema global dari algodtma DES adalah sebagai berikut: Gombar 6.2 ALGORITMA DES DES termasuk sistem kriptografi simetri dan tergolong jenis blok kode.. AES menjadi standar algoritma. tepatnya tahun 2001. 10.6 Putaran Pertllma Enkripsi DES 3. Blok teks-asli dipermutasi dengan matriks permutasi awal (initial permutation atau IP). 2. i. Lynn Smith. 16. DES dievaluasi satu kali dalam lima tahun. Edna Grossman. Walt Tuchman.1 $ !(Ri-t.. Kunei internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit.. Horst Feistel.. . DES mengenkripsikan 64 bit teks-asli menjadi 64 bit teks-kode dengan menggunakan 56 bit kunci internal (internal key) atau upa-kunci (subkej..JJRn. di mana EB merupakan exclusive-or dad dua. Ip·l ke bitstring Rl6L16. 6 Maret 1987. dengan mengikuti aturan berikut: Li = Ri - 1 Ri = L i . Tidak ada kritik yang datang dari kalangan ilmuwan tentang panjang kunci yang digunakan dan kotak-S yang merupakan bagian internal dari DES... Carl Meyer. Ki). 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.\1J dan 32 bit terakhir dari !?tl... DES merupakan keamanan dasar yang digunakan di seluruh dunia. Putaran pertama dad enkripsi terse but ditunjukkan oleh gambar di bawah ini: 6. 1. baik dari segi password. Don Coppersmith. Pada November 1976. memperoleh teks-kode y. Undang-undang atas penggunaan DES. f adalah suatu fungsi dan Kl.. 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 (l\SA) untuk melakukan evaluasi keamanan algoritma terse but dan menentukan apakah pantas menjadi standar yang dipakai dalam pemerintahan. . Data Encryption Standard dipilih sebagai standar yang dipakai pada pemerintahan dan mendapat kuasa untuk menggunakannya atas nama US Government Communication. Kl6 terdiri dari kunci skedul. Algoritma DES merupakan salah satu proposal terbaik tahun 1977. kemudian y= Ip·l(RI6L16). KI6 dengan panjang 48 dari perhitungan fungsi dari kunci K (Sebenarnya Ki adalah permutasi dari A'). Kingston dan Yorktown Heights. . KI. Oleh karen a itu ada kemungkinan DES akan tetap dilanjutkan penelitiannya hingga menjadi suatu sistem enkdpsi yang kuat. di mana hJ terdiri dari 32 bit pertama dari . store data dan sistem kontrol akses. FIPS PUB 46 diterbitkan 15 January 1977. .\1J '" IP (x) '" l. Tetapi belum ada alternatif untuk menggantikan DES. dan evaluasi yang kedua pada 10 Desember 1992. Evaluasi yang pertama. Setiap putaran menggunakan kunci internal yang berbeda dengan perhitungan LRi 1 .

7 Rincian DES Fungsi f 2.... untuk dekripsinya.56. Gan empat bit blfublb.. Fungsi f dije1askan pada gam bar di atas. Dengan begitu dapat dihitung Q SAB. Kemudian SABI ) didefinisikan sebagai entry SAT. seperti B./X.. :=:r': TAb Gambar 6. Gambar 6. Setiap Si adalah 4 x 16larik yang dimasukkan dari integer 0 15..).. c.8...' (0 . Data dienkrip dalam biok-blok 64 bit menggunakan kunei 56 bit. Argumen pertama A diperJuas ke bitstring dengan panjang 48 menurut fix dan fungsi ekspansi E. = bt blblblb. 3.. DES mentransformasikan masukan 154 bit dalam beberapa tahap enkripsi ke dalam keluaran 64 bit. dengan represemasi binari i dari kolom c of S.. dengan panjang bitstring 32. l'l"... permutasi dengan cara tertentu dengan 16 bit. \.Bdk. Kunci dengan panjang 56 bit. tentunya dengan representasi binari dari row r of 5. --'. Dengan demikian DES termasuk lama biok kode dengan tahapan pemakaian kunci yang sarna. Dengan memberi suatu bitstnng dengan panjang 6..] ~iltJl:!«MI'_' I OA1A. Teks-asli untuk dienkripsi dengan panjang 64 bit. F(AJ) 2.\ . \ ~ ... Skema dari pemrosesan Data Encrytion Standard (DES) seperti gambar berikut ini: 1./. ~ . T . Bitstring C= GlGCJGCSo.) dengan mengikuti dua bit bt lx.4CAK '"-_. 16 iterasi dari f yang terdiri dari sis tern kripto.8 Pemakeian Kunci pede DES Seeara umum skema Data Encrytion Standard (DES) mempunyai dua fungsi masukan. r. /)."". yaitu: 1. Pada dasamya bens! subsitusi dengan menggunakan S-box (kotak-S) dengan mengikuti permutasi P. [ E(A) '1r:=~~.. c) yang dituliskan ke dalam binari dengan panjang bitstring empat..114 Pengantar IImu Kriptografi Algoritma Kriptografi Modern 1 15 Fungsi f dia~bil dari masukan pertama argumen A.OG dengan panjang 32 adalah permutasi dari hasil bitstring P( G) yang didefinisikan untuk i{A. maka akan dapat dihitung SAB.. .• . E(A) yang berisi 32 bit dari A. 15). 3). sedik'tnya muncul dua kali. Langkah berikutnya menggunakan beberapa kotak-S Si •...~OAr. dan argumen yang kedua j dari panjang bitstring 48 dan prosedur keluaran dari bitstring adalah 32 seperti langkah berikut: 1. 4.. (C· . Perhitungan E(A) Ef) I dan hasilnya ditulis pada penggabungan 6-bit string B '" BlB1Bt&&B.

Mw M 40 i ~---'-M48i t M41 Output Ciphertext 64·6il ~. 117 Input Plainte)l:l 4' •• 16·811 t Pllfhan permutasl UH'~.a' 2 Pegeaeran kunc ~rul....­ Mso M52 M54 M56 M49 MSI MSJ M55 M42 M44 M46 M48 M41 M43 M45 M47 M34 M36 M38 M 40 MJ3 M35 MJ7 MJ9 M26 M28 M30 ~:-"-"--' Mill M 20 M22 M24 M17 MI9 M21 M 23 ~L~ M lo MI2 . . 2. M2 --'­ MI4 M9 Mil MI3 MIS --­ M4 M6 Mg M32 M 25 M27 M29 M31 MI6 ---'--c MI ~ 5 M71 M3 . Kunci melewati fungsi dari permutasi. adalah bilangan binari..ngan Kata 1 ~Pillhan P6rmut.... Pre-output diproses dan permutasi diinversi dari permutasi inisial yang akan menghasilkan teks-kode M-Bit. kemudian dilakukan permutasi X = IP (M) seperti di bawah ini: J'v'!5X M60 M62 M64 MS7 M59 Mill M63 .~ulaai 2} 0e. yang mana keluaran akhir dari hal tersebut berisi 64-Bit (fungsi dari teks-asH dan kunci).-~{Pillh. Jika M... Penggeseran kunci.ta~E)-...." .9 Gomboron Umum Algoritmo O£S Proses dari permutasi inisial (IP) teks-asli ada tiga: 1..a~~kuncJ 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": MI M2 M IO MIS M26 M34 M42 M50 MS8 M3 Mil M I9 M27 MJ5 M43 M4 MI2 M 20 M 28 1\136 M44 M52 M60 c t I 32-b1t:swap _) Ms Mu M21 M 29 MJ7 M45 MS3 M61 M6 MI4 M22 M30 M38 M46 M54 M62 ~~ M7 MIs M2J M31 M47 MSj M63 MR MI6 M24 M32 ! M9 MI7 c..~ -L-'\ Inyera.3 PERMUTASIINISIAL C..ngan Kata 2 6.···· • • _··~·" Initial P. yang menghasilkan fungsi permutsi subtitusi. M49 MS7 l MSI MS9 ~~~ M64 ! Gombar 6..n p"..rmutaa' 2.rulan::~...... Teks-asli M·bit diproses di permutasi inisial (lP) dan menyusun kembali bit untuk menghasilkan permutasi masukan. .3. Langkah untuk melakukan perulangan kata dati teks-asE sebanyak 16 dengan melakukan fungsi yang sarna... yang mana akan dipilih perulangan-perulangan permutasi kunci sebanyak 16 kali yang menghasilkan upa-kunci (Ki) yang diproses dengan kombinasi permutasi.. Perul..116 Pengantar IImu Kriptografi Input Key r-_ _5~6~!~ Algoritmo Kriptogrofi Modern Proses dari kunci 56-bit: 1. 3.. masuk ke swap dan menghasilkan pre-output. Perbedaan dari upa-kunci (Ki) akan dilakukan pengge3eran kunci yang menghasilkan kombinasi teks-asli M-Bit dengan kunci 56-Bit..."U~ • • • • ~... 3.aI2}--Erenkunc K2 Pilihan Permut. . dan ) M25 MJ3 ~ ""rmutas' awol ..

inversi dari permutasi. Tabel yang digunakan sebagai skedul perhitungan kunci untuk algoritma DES seperti berikut ini: 46 14 54 22 62 30 37 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 36 4 44 12 52 20 6e 28 35 3 43 II 51 19 59 27 49 50 51 34 52 53 54 55 56 57 58 59 60 61 62 62 64 1 41 9 49 17 57 25 2 (e) 42 10 50 18 58 26 33 Expantion Permutasi (E) 3 2 4 . fungsi dari permut~si. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 58 50 42 34 26 18 10 2 6e 52 44 36 28 20 12 4 64 56 4S 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32 6 40 32 24 16 62 54 46 38 30 22 14 8 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 61 53 45 37 29 21 - 13 5 63 55 47 39 31 23 15 7 (0) Inverse Initial Permutasi (11'.1 Tabel Permu!osi Algoritmo DES Table Permutasi lJntuk DES (al Initial Permuta.i lIP) Input Bit Output Bit Input Bit Output Bit Jllp"t Bit Output Bit ["put Bit Output Bit L ­ __ Tabel tersebut adalah tabel bantuan untuk mencari permutasi dari algoritma DES.') Input Bit Output Bit Input Bit Output Bit Input Bit Output Bit Input Bit Output Bit 1 40 2 8 3 4 5 I:> 7 8 9 10 11 12 13 14 15 16 7 47 15 55 23 63 31 4S 16 56 24 64 32 39 17 18 19 20 21 38 6 22 23 24 25 26 27 28 29 30 31 32 5 45 13 53 21 61 29 6. Pada tabel (a). Kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi. . yang mana masukan 1 akan mengeluarkan ouput 16 bit dan pada bit terakhir 32 bit mengeluarkan keluaran 25 bit.3. dan pada bit terakhir mengalami perubahan menjadi 7 dari bit ke 64. yang mana dari bit masukan I akan mengeluarkan keluaran 32 bit dan pada masukan 48 bit akan mengalami perubahan menjadi 1 bit. masukan kedua mengalami perubahan 50 bit dari masukan 2 bit. serta ekspansi dari permutasi: Tabel 6..118 Pengantar IImu Kriptografi Algoritma Kriptografi Modern 119 Jika diambil inversi dan permutasi Y = IP_l(X) = IP-I (IP (M)). yang akan mengembalikan M ke bentuk semula. Tabel (c) merupakan suatu perluasan dad inversi permutasi yang terdiri dari 48 bit. Tabel (d) adalah fungsi dari permutasi yang terdiri dari 32 bit. Tabel (b) mer lpakan perhitungan dari inversi permutasi yang mana dari perhitungan masukan awal diberikan nilai 40 bit. K2.­ 32 Input Bit Output Bit Input Bit OutputBi! Input Bit Output Bit 1 32 2 1 5 4 6 7 8 5 9 6 10 11 12 13 14 15 16 7 8 3 5 4 9 8 9 10 11 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 (d) Fungs. yaitu KI. sebagai pre-output sebagai bit pertama dari permutasi I bit dan 25 sebagai bit terakhir dari permutasi 64 bit. K16. . Kunci eksternal panjangnya 64 bit atau 8 karakter. awal masukan mengalami perubahan permutasi dari 1 bit ke 58 bit. Kunci internal dibangkitkan dari kunci eksternal yang diberikan oleh pengguna. tergantung kunci yang dimasukkan. Permu!asi (1') 1 Input Bit Oulpu!Bit Input Bit Output Bit 1 16 2 7 3 4 5 6 7 8 9 10 11 12 13 14 15 16_ 15 23 26 5 18 31 10 20 21 29 12 28 17 1 17 18 19 20 21 2 22 23 24 25 26 27 28 29 30 31 32 3 9 19 13 30 6 8 24 14 32 27 22 11 4 25 .. Blok masukan mengalami permutasi dan kemudian menjadi masukan pada per­ hitungan kunci yang akan dipermutasi.4 PEMBANGKITAN KUNCI INTERNAL Karena DES mempunyai 16 putaran maka dibutuhkan kunci internal sebanyak 16 buah. Di bawah ini adalah tabel dari initial permutarion (IP).

Selanjutnya 56 bit ini dibagi menjadi 2 bagian.4 Permutas.16. 24. Dt) menyatakan penggabungan C dan D.31. 49.17. 2. 15. 23. 47.52. 10 7. 21.32 Jadi sctiap kunei internal !G mempunyai panjang 48 bit. 4. Hasil permutasinya adalah sepanjang 56 bit sehingga dapat dikatakan panjang kunci DES adalah 56 bit.120 Pengantarllmu Kriptografi Algoritma Kriptografi Modern 121 Tube! 6. 6.3. 15.50.36. 30. 27. 14 17 11 24 1 5 2 28 15 21 10 23 19 12 4 39 40 41 42 43 44 45 46 47 48 61 53 45 3 5~ 7 62 54 47 38 30 22 14 54 55 2!.30. 59.51.29. 25. 54. 4 Kemudian kedua bagian digeser ke kiri (left shift) sepanjang sam atau dua bit bergantung tiap putaran.3 lumloh Pergeseron Bit podo Setiap Putoran Nomor [nterasi Perpularan Bil .44. 10 1 2 3 4 5 6 7 fi 9 10 6 1] 12 13 14 15 16 17 18 19 2C 21 22 23 24 2S 26 27 28 29 30 31 32 3 60 52 44 36 63 55 47 39 6 3!.53. 12. 17. Tubel 6.27.42. 2 dengan bit-bit D pada posisi: 41.28.52. yang masing-masing panjangnya 28 bit. 1.37.19.40.51. 11.l.46. 39.21.56. 23.60. 9. Pilihan Dua (PC-2) Input Bil Output Bit Input Bil Output J3it Input Bil Output Bit 57 49 41 33 2S 17 9 55 51 43 35 27 IS 11 33 34 35 36 37 31 23 15 49 50 51 52 25 21 13 5 5~ 1 58 50 42 34 26 11. Setelah bit bergeser.22 14. 55. 42. 13.45.45. 29.47.31. 12. 17 18 19 20 21 22 23 24 2S 26 27 28 29 30 31 32 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 - 2C 12 4 Dalam permutasi ini tiap bit kedelapan (parity bit) dari delapan byte kunei diabaikan. 33.20.61. Operasi pergeseran bersifat wrapping atau round shift Jumlah pergeseran setiap putaran ditunjukkan TabeI6. yang masing-masing disimpan di dalam G dan n: Gl bertsi bit-bit dari K pada posisi: Dengan permutasi ini maka kunci internal Ki diturunkan dari (C.33. kid dan kanan. 46. 5.38. Proses pembangkitan kunci-kunci internal dapat dilihat pada gambar berikut ini: 57.26. (C.35. 62. 5.55.48 44.49.37. 53. 43.58. 18 10. Di) yang dalam hal ini J(. Dt.19. 26.39. 41.2 Permutosi Pilihon Solu (PC-I) Table DES Schedule Key Misalkan (C. 1.11. 20.50. Dt) mengalami permutasi kompresi mcnggunakan matriks PC-2 bcrikut: Input Bit Output Bil Input Bit Output Bit Input Bil Output Bit Inpul Bil Output Bit 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15 IE 2 Tubel 6. 7.34. 36 Dl berisi bit-bit dari Kpada posisi: 63. 3. 28. 13. (C. 6. merupakan penggabungan bit-bit C pada posisi: 14.34. 3. 8.)) diperoleh dengan menggeser C dan Dt satu atau dua bit.

PC-2 .s . 2 12 7 12 13 10 t> III !l (\ <) .J 7 II U 4 3 2 12 o S1 I 2 . K PC-2 . () 15 3 1( ( 2 S 6 13 It 15 2 I 4 <) 3 12 o II I: 5 II 5 J II 10 7 14 12 ~ $. I I 13 13 I 7 U 10 7 (.:I II 13 12 ..\ 3 2 IJ 3 5 5 6 ~ II I--------I-----~~I . Ii 14 ) 132l!46L'i I 7 15 II J3 4 14 II I 7 10 'J 4 1 ~ I:! f(I II 7 14 ~ 10 5 () 0 14 12 \j 7 12 5 II l~ . . <J . r II l! 15 14 12 10 <) 11 10 4 15 S" 1 :! . II (.. . .10 Proses Pembangkitan Kunci Internal DES KI6 . I 1 I V.::l ( Pennulas. 14 s 2 1-1 J 14 'I (. (. C 11 1 () 14 7 10 III !) 15 15 5 2 8 <) 2 l~ 7 J 5 'I o S8 I o 3 (. 10 4 2 . n .:I 1-1 II 7 0 .:I II .I o " 2 :. Ie.j s. : I :2 3 {) 4 I~ IS I 12 14 D 14 X 2 14 n 4 {.I ? 14 s. .1 7 II X 0 10 I:: D I I> 6 3 5 (. -.5 n <) 15 10 'l U <J ~ o 5 :. r.\ 10 7 1:1 10 14 11 J )4 14 11.\ 10 12 (i :. 11 10 <) 15 . II) 5 15 <) ~ 11 14 1 D 4 15 5 1 5 10 13 10 8 (I 10 9 1 14 <) <) 3 (.2 5 15 .:I II <) 5 () (. 8 (.122 Pengontor IImu Kriptogrofi Algoritmo Kriptogrofi Modern Tabel 6. . II 4 7 7 ) 5 t) l~ II 7 11 15 10 2 .2 (. i KI $~ I > 3 i1 I ~ (I o 3 !\ (. Gombar 6.j IU 1-1 .\ . o ~ ~ (I 15 3 (1 I 13 14 8. 12 <­ 12 \j 12 II 5 Y . 7 o 7 10 3 11 -I -I :> 2 14 15 14 I 7 5 12 10 2 . 206 13 I. J 10 IS W (.:) o 13 (.\ s 14 J to 9 ~ 15 0 (i n I () 3 4 !. J 15 2L! 14 II .1 6 II I~ 8 I 4 7 2 <) 15 12 1:­ 4 I) o (.t 0 13011749 I . 15 12 (l 5 I' 14 II II 12 15 l) I' ~ 0 (.Pennutasi. I II 15 9 N 5 15 f. I~ Ii 15 II I <.~ 12 II 7 15 2 5 710 4 7 10 U I 14 <) .. :..\ :: .S DES Kalak-S n II 123 3 4 13 7 4 4 . 10 I:' 0 4 13 14 4 15 <) 6 .(.~ J II I. . .:) x h x 5 12 15 l-: I . (l 0 . II l( 9 iO 11 II 13 <I ~ 1-4 () IS 7 ~ 14 H I II S.

3 I 4 I 5 I 6 I 7 I 8 I 9 I III III 112 113 114 115116 35 111 155 149 I 9 142 I 5a 117 I 27 I 34 1441 2 157 160 1511 50 VIHIHI~lnl22I23I~I25I26I~I:28I~I~I~t~ 331 18 119 I 26 125 I 52 143 ~ 2 3 4 5 1 6 5 ? 31 g ') 53 8 9 15 10 11 12 13 14 15 16 6 21 14 17 11 24 2 :28 Ie 2. 45 46 47 48 20138 131 I 7 .6 Enam Belos Koli Perputoran Perhitungon Kunci Permutasi Choice Two (PC-2) Input Bit Output Bil Input Bit Output Bil Input Bit OutputBil 1 Input Bi! Output Bit Input Bit Output Bit 2 .'l 15 12 4 InputBll Output Bit 46 4748 22 15 54 17 18 15 20 21 22 2.'l 24 25 26 27 2E 29 30 31 32 26 63 Round 5 23 8 1€ 7 27 2C 13 2 41 52 31 37 47 55 311 40 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 Input Bit Output Bit Input Bit Output Bit 1 2 3 4 5 6 ') 8 1 9 III 11 12 13 14 15 .124 Pengontor IImu Kriptogrofi Algoritmo Kriptografi Modern 125 Round 4 Tabel 16 kali perputaran dad DES seperti di bawah ini: Tabel 6.1€ 19 611 43 33 58 26 42 11 18 57 51 41 44 35 34 Round 1 Input Bil OutputBil Input Bit Output Bil Input Bit OutputBH 1 2 17 IS 19 20 21 22 23 24 25 26 27 2E 29 30 31 32 17 3 4 5 6 ') a 9 10 11 12 13 14 15 16 2 2 3 10 9 36 27 50 29 39 46 61 12 15 54 37 42 43 44 45 4/i 47 48 6 62 38 10 51 34 60 49 17 33 57 17 18 IS 20 21 1 9 19 42 3 35 2E 25 [nputBii Output Bit 33 34 35 36 37 38 39 40 41 47 2S 30 4 5 63 45 7 22 23 24 25 26 27 2E 29 30 31 32 41 22 2E 39 54 37 4 47 30 22 31 2C 21 55 44 58 55 36 27 18 Round 6 Input Bil OutputB!t Input Bit Output Bit Input Bit Output Bit 31415161718 ~V42ll26~ H~n2223~ 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 14115 I If 57 19 ~ 18 Round 2 Input Bit Output Bit Input Bit Output Bil Input Bit Output Bit 3 14151 61 71 1l 2 143 126 152 I 41 I 9 I 25 I 49 17 ~ 31 32 21 13 114 115 lIE 60 27 18 17 ~~~0l134 ~36~38~g 62 38 46 47 48 53146121 29 30 31 32 29 63 39 22 45 46 47 48 14 I 5S I 20 147129154 36 2E I 45 115 121 153 113 M Round 7 Input Bit Output Bit InputIiI Output Bit Input Bit OutputB!t 2 I 3 52157111 33 134 135 136 I 37 I 38 139 I 40 I 30155 54 147123 5 I6 I7 I8 16 26 I 59 110 I 34 2 32 Round" Input Bit Output Bit Input Bit Output Bil Input Bit Output Bit 13 114 115 116 VIHIHI~~2223~ a42~WU 36~38~g 4411112 29 30 31 32 13 47 23 6 39 I 4 I 31 1 13 138 6.

. 34 35 26 .57 InputBil OutputBii Input Bi! -OutputBil 5 6 7 Ii 9 10 11 12 13 14 41 17 36 26 51 15 35 55 33 11 50 44 34 1 17 18 19 2C 21 22 23.lnputBil OutputBii 38 23 21 62 31 54 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 .42 43 44 .OutputBif InputBif OutputBil Input Bit OutputBil 1 2_ 3 4 5 6 '] 8 9 Ie 11 12 13 14 15 1~ 36 41 60 50 10 43 59 18 57 35 9 3 58 25 52 51 Input Bit Output B i t . 60 1718 19 20 21 22 2324-25 26 27 ~: .54.33 18 59 42 -17.9 /10 /11 /12 3 /19 /43117/60134 /57 22 / 23 I 24 1251 26 I 27 / 28 51/42133127139114/21/ 4154 37 / 38 139/ 40 I 41 I 42 I 43 144 15 /38 155145 / 2B I 6162 131 Input Bit' Output BlI 21 "ound Input B i t > 'j:i::Z.'~':'37 : 43 5'7 58 36 35 33.0 6 1 2 3 . 8 /.45 46 . Output BiI: 1 9 2. 43 34 .5 "16 19 2. 14i. :3' 27:.-. . 62 .2930:3132' 5 ..3 '6' :.4 Inl'ut Bit Output Bit Round 10 6 1 7111::' 42 17 52 149 I 36 160 12 16 .39140 1.26 27 za.0 21 2223 24 25 26 27 28 29 30 31 32 2(i 17 44 2 lZ 54 61 13 31 30 6 2C 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 34 15 49 Zl 62 47 45 23 5S 15 Round 9 28 22 37 46 39 17 U 50 33 59 19 52. Input Bit Output Bil Input Bit-. . ­ 2 6 / '] I.:. Input Bit Output Bit Input Bit Output Bit 21 1221231. '.17'11" ·23 61 36 37 3S . '1819 .lnput. 3C31 32' '9 ' '521' 2 4435 26' ~49..~146"47148 4 'l 21 14 53 6 54 20. '44' 18. 4i 25 '26 27: 28 29 30 '31' 32 45 20 39 '22' ·21 '28' -15 23 ::2 61 12 45 46 47 4li 6213645 39 38 '] 6 . 58 34 17 43 3 36 52 'IIi 50 57 '2 22 23 24 1 25: .I 15 16 57 27 31 32 45 63. .41 36:1(1 17.5725' .(.18 9 44 11 18 '19 20 21 17 lIB /19 120 / 21 /22 26111 33 54 29130131132 27 '41 42 49 19 10 33 34 35 53 3S 4 36 37 3S 14 46 6C 141 115 /18 I 9 36 IS -./.'5' 47 62 "45 :12 5S3S . :29.'11 20 21' 22' '23 '2..32' 11/25 126 1331 3159/501 44 /.'1'.:K:.51 .::"3 14 '15'16.5li.< 1~ 3 4 '5." Output B i t . .47 48 23 13' '63 -'37 30 62' 6f 47 5' 12 40 Round 1. 37122155 161 130153 L7123 147:/.8 9 10 11 .39 40. 3 4 5 6 . Input Bit Output.47148 20163.24:1251261271/ 28 .. 30 62 22'39 29 :'12 53 46 15 '146321128 Round 13 Input Bit QutputBil JnputBil OutputBil InputBil OutputBil 2/3/4/5/6 57133/52/42/2/35 13 50 16 43 Input Bit Output Bit Input Bit Output Bit Input Bit Output Bil 1 2 3 4 5 6 '7' ..29/4 33 I :U'l 351 36 I 37 / 3B /.1Z .41' 424344: .I 61 13 22 15 47 46 28 53 29 Round 11 Round 15 Input Bit Output Bil input Bit O~tputBlt Input Bit outputml InputBii -9utp\!t Bif 'InputBiI ()utput Bil. 24 25 21i 27 28 29 30 10 60 25 :3 2 58 49 43 5S 30 37 2.21114 .4H42 143. Bit .14. 27: 50.'25:.'2 .2 '13141.7: '$'-1:$'\ "1. '34 "25.0 11..BU Output Bit .126 !1_ound 8 Pengantar Ilmu Kriptografi Algoritma Kriptografi Modern 127 Round 12 InputBii .12 13' ..7' a !l 10 11 -1:. '15 16.

. o123456789ABCDEF dengan menggunakan kunci (heksadesimal): 133457799BBCDFFl RI·t CI... _ P. 32 Bit . adalah: 00010010011010010101101111001001101101111011011111111000. 28 Sit .... K2) L.. biok teks-asli mengalami 16 kali putaran pengkadeall..K. :::: 01010101111111001000101001000{)10110011111oo11001 ::: 101100000111110010001000111110000010011111001010 00100111000100001110000101101111 01001101000101100110111010110000 10100010010111000000101111110100 . E(R.. . f i 48 Bit .) .lrity-check bits.1 (S-bo.. .. . outputs f CI '=" f(Ro.I .5 PENGKODEAN Proses pengkodean terhadap blok teks-asli dilakukan setelah permutasi awal.) = R..Tabl.. ....f(j) S·OOx outputs f(Rs.. LJ R.! Expan. Di bawah ini iterasi algoritma DES: ""lIt 32 ait ..f Permubl (P) 16 putaran untuk melakukan J::(/-(Q} KI E(Ro)0/<' ::: sebagai berikut: . : 32 Bit .-I.11 Itera~j Algoritma DES K. _ Lo Subtftu..l Ol.: XOR I S·bo).. . .rl Permut" 2) 48 Bit ~_--L . 48 BI1 _~ ...rmuh.. tanpa p. (P!!lhln d.. Kl _ _ _: _~..K3} £1 = R3 = _.....enl1l Kunei. ootPV!$ f(R'l. Setiap putaran pengkodean merupakan jaringan Feistel yang seeara matematis dinyatakan sebagai: L Ri RJ-I L-I EEl f(R.. RI dan akan mengeluarkan keluaran teks-asli. XOR. dalam binari..3...) 0000IIQOOI000100100011011110101101100011111011OQ 11111000110100QOOOIII01010101110 OOllll00WI010111()OOOI1110100011 110011VOOOOOOOOIOl11011100001001 K3 "" ITIOOIOllOUOOOo{)OOOOOOI010l11010111010000l0l(10l1 E(R2) EEl K3 S·oo:o..' PHmllltl L t Pf'g••• I . 28 ait LJ. . .) L~ = RI T 01 =: 01 11 lOlOOOOlUlOlOlOI01010ll 11010000i"OTOIO lO HllQ 1 00011011000000101110111111111100011100QOOIIIOOIO 011000010001011110111010100001100110010100100111 0101 1IOOI00QOOI010IIOI01 100101 11 00100011010010]01010100110111011 11101111010010100110010101000100 011101011110101001010100001100001010101000001001 011110011010111011011001110110111100100111 100101 E(R 1 ) Gambar 6... 32 Sit L1 Ro .. .n P"g. .:::: 11001100000000001100110011111111 11110000101010101111000010101010 '~nkripsi _.128 Pengantar IImu Kriptografi Algoritma Kriptografi Modern Contah 1 dari enkripsi DES: Bila diketahui teks-asli dalam heksadesimal: 129 Untuk mengembalikan atau mendekripsikan bisa dipakai kunci tabel skedul dengan cara RI6 ... I S(R!) ED Kl = - 6. Dengan menerapkan IP (intiaJ permutation) maka biner): In dan Ro (E.

_. E(Rr) (£I K... E(Ru) KI2 1 ~(Rlll outputs ID KJ~ S-box ftRII.... Lll:::. I = 11100001000001001111101000000010 11000101011110000011110001111000 011000001010101111110000000111111000001111110001 011101010111000111110101100101000110011111101001 000101011101101000000101100010111110010000011000 011110111000101100100) 1000110101 110000100\\010001100111111101010 01110101101111010001100U01011000 ll000101010{H)o1001011 111110100001100000110101111 011000111010010100111110010100000111101100101111 101001101110011101100001100000001011101010000000 ~ 01000001111100110100110000111101 I 10011110010001011100110100101100 I 11101001011001111100110101101001 ~ 11110101001010110000111111100101101010110101001] 111011001000010010110111111101100001100010111100 0001100 II 0 I 0111110 III OI)OOOU I 001110 II 00 11111 01111 00010000011101010100000010101101 1000 110(}OOOOO I 0 1000111 0000100 III 000001 ' . S-box O\ltpU!~ .~-OlO110101111111010101011l11010101IIIl101l01001O} Jl _-----------­ i E{R IO } e KII Ku "'" 001000010101111111010(111110111101101001110000110 -= at tllOlllOlOOOCHOI 1l100000Il010OOO1011100010001 I OU 1001100000 1011101000100000001 "" S·box outputs !(Rlo.lf·-..Ku) LI~::: RI.----------~ =: KIO E(I4) S·box LII = :.. jl E(nU. K(R. }(. E(Rs) e }(g S·OO..K 1o) = RIO "'" 000I000QI000001111111001flI1000001100001111110100 101100011111001101000111101110100100011001001111 101000010111000010111110110110101000010110111011 11011010000001000101001001110101 01100010101111001001110000100010 10110111110101011101011110110010 101110101110100100000100000000000000001000001010 011111001110110000000111111010110101001110101000 110001100000010100000011111010110101000110100010 01010000110010000011000111101011 0010100oo001001110101101110000l1 10001010010011111010011000110111 "---------------. = ..) KI~ ­ 010100000101010110110001011110000100110111001110 01100100011110011001101011110001 10110111001100011000111001010101 IIOOOOI010nOl1001001011000001101 111000000101010031011001010010 I() I lOOOOOl)l)10l101 1 101111111001000110001101001 I 110lOU11 111100001010 010111111100010111010100011 101111111111101010001 10110010111010001000110100111100 01011011100000010010011101101110 01000011010000100011001000110100 E(R..0 E(R•• )<DKu S-oox OUlpulS = ::: f(~.r. j(R14.: ~ :.Kll) . = = J(R7.---oo l]!eiToTOiTfiOn-ffficilofo5Cfifli 000000 100'1 lOOOlfl }(ll = = E(RI~) (!) KIJ ::: S·box outputs f(Ru.o OUIPUt$ f(I4.KII ) L'i/ =RII = 0000000011000010010 10 WI 0 10 11111 01 000000 10100000 111101111000101000111010110000010011101111111011 111101110100100001 1011 1110011 1l001l1l01lOI0110! 1 01101100000110000111110010101110 00111100000011101000011011111001 11010101011010010)00101110010000 011010101010101101010010101001010111110010100001 ]11000001101101111101011111011011110011110000001 10001010011100001011100101001000 1001101100100000 0001oo0J 000011000101 011 1(111101ll ooI0oo100011011001l111000110101O 00100100011111001100011001111010 E(RI3) K14 E{R(3) (!) K14 S-oox outputs ::: ::: OlO! 1111010000111 0110111111100101110011100 111010 fCR13.' .s) }(9 .}(13} £14 . RI2 = .KI~ ) Ll(. It) KI._.:: RIJ = 1001011111000\0111010001111110101011101001000001 10101lOI011110000010101I01l1010110111000101l000 I 1001101011010001 1000101101001111 11011101101110110010100100100010 000 II 000 11 0000 llOOOlOlO10l0 11010 0000111]0001011000000110100010101010101011110100 I E(Jh) K.­ HlO 1001010101 110 1000010000 1 .ll..K II ) Lu Ii. = RI!'> .Pengantar IImu Kriptografi Algoritma Kriptografi Modern E(I4) 131 01010000010000101 III IOD000000101011111 1110101001 011100101010110111010110110110110011010100011101 001OO0101110111100JOI11011011110010DI0101011t)IOO 00100001111011011001111100111010 10111011001000110111011101001100 01110111001000100000000001000101 . outputs == =.. --"-E(R..) LH1....

!qRI~) ill KI~ S-lxJ:r..Plairitextr!~~. Dengan l<i<16 Li Ri Ri-l Li-I (B f( RH .Ki) '-~ ..:t.. OUlpUls 001000000110101000000100000110100100000110101000 110010110011110110001011000011100001011111110101 11101011010]0] J J 10001111000101000101011001011101 10100111100000110010010000101001 IIOOIOOOlIOOOOO{){))OOIIIIIOOIIOOO f(Rl~'. .)t!i.Kl) L2=RI Putaran 2 E(Rl) 100000000000000000000000000000001101010000000110 000110110000001011101111111111000111000001110010 100110110000001011101111111111001010010001110100 10000101010010000011001011101010 00101000101100110100010011010001 11010111000010110011001010000110 011010101110100001010110100110100101010000001101 011110011010111011011001110110111100100111100101 000100110100011010001111010000011001110111101000 11011100010000111000000011111001 I I xo = 01000011 01001111 01001101 0101000001010101 01010100 01000101 01010010 Misalkan kunei heksa: 13345779 9B BC DF Fl K2 E(Rl)(BK2 Keluaran .:Biner .. ' ' . :. . ~ C 0 M 43 4F 01000011 01001111 01001101 01010000 01010101 01010100 01000101 01010010 40 50 55 54 45 52 Ki= PC2(Cn) P U C n CoDo'" ------------ T E R Teks-asli heksa: 43 4F 4D 50 55 54 45 52 Teks-asli biner: Putaran 1 E(Ro) Kl E(Ro)(BKl Keluaran kotak-S F(Ro.:HexadedmaL • -.' \.132 E(Rl~) K. KIf» K 00010011 0011010001010111 01111001 10011011 10111100 11011111 11110001 Dengan initial permutation diperoleh: - 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 xo = IP(x) di mana LoRo 10: 11111111 101110000111011001010111 Ro: 00000000 00000000 00000 II 0 10000011 Enkripsi DES 16 putaran ..~ Pengontor Ilmu Kriptogrofi Modern Kunei biner: 133 '" .

K7) La=R7 E(R7) Ks E(R7)EDKs Keluaran kotak-S F(R7. - - 11001000110000011110111001101100 11100101010010101001100001010001 111100001010101001010101010011110000001010100011 111101111000101000111010110000010011101111111011 000001110010000001101111100011100011100101011000 00001000110110001000001111010101 00000111001110010010100101100001 10010111110000000001011110101000 010010101111111000000000000010101111110101010001 111000001101101111101011111011011110011110000001 101010100010010111101011111001110001101011010000 01101110111000011010101101001010 11011001001110111010001110010100 00111100011100010011101111000101 100111111000001110100010100111110111111000001010 101100011111001101000111101110100100011001001111 001011100111000011100101001001010011100001000101 00100001011100000100000101101101 00001100000101010110111000100100 10011011110101010111100110001100 -­ Putaran8 Putaran 4 I E(R1) K4 E(Rl)EDK4 Keluaran kotak-S F(Rl.\_.KK) 19=RK I 110010100001011111110010100111111101011001010011 111011001000010010110111111101100001100010111100 001001101001001101000101011010011100111011101111 11100011011010110000010100101101 - Putaran3 E(R2) K:J E(Rl)$K.K4) Ls=R4 10110100111000101100110100110001 110110101001011100000101011001011010100110100011 011111001110110000000111111010110101001110101000 101001100111101100000010100011101111101000001011 01000001001111011000101011000011 10010101001100101101100001000101 00101101100010110111011000111101 100101011011110001010110101110101100000111111010 011000111010010100111110010100000111101100101111 111101100001100101101000111010101011101011010101 01101101110111000011010101000110 00100100000110111111001111111000 -- J Putaran9 E(Rs) K9 E(Rs)ffiK9 Keluaran f----­ kotak~S Putaran5 E(R4) Ks E(R4)$lG Keluaran kotak-S F(R4.­ F(R9.K:J) lA=Rl ~.Ks) u=Rs F(Ra.KIO) LII=RIO Putaran 6 E(Rs) K6 E(Rs)EJ:)K6 Keluaran kotak-S F(Rs.1O11011O01lOlO1O0011lO1 001011011011100000100101000011101111011011101100 00101001110100001011101011111110 0011111100111011~OQ011110100OQI Putaran7 E(fu. .K.) K7 E(R6)EJ:)K7 Keluaran kotak-S F(R6. Keluaran kotak-S F(Rl.1 3~.6) .K2) 13=Rl b=R6 10010000111110010011111011001001 10001011110110011000110000010011 10001011110110011000101010010000 010001010111111011110011110001010101010010100001 010101011111110010001010010000101100111110011001 000100001000001001111001100001111001101100111000 11010110001111001011011001111111 01101111101100101001110011111110 10111000101110011010111001'11000 010111110001010111110011110101011100001111110001 01110010101011O111O1O11O'.Ky) LI()=R9 PutaranlO E(R9) KIO E(R9)ffiKIO cKeluaran kotak-S I--. Pengantar lImu Kriptografi Algoritma Kriptografi Modern 135 kotak-S F(RI.

KI4) LIS=R'4 .K1S) L16=RIs 101111111001000110001101001111010011111100001010 101001010101001010001100010110001001011001011110 01000001001110011111011100100111 10100101001001101110110011101100 01101110101000101010100010110001 101101011101010100000101010101010001010110100010 110010110011110110001011000011100001011111110101 011111101110100010001110010110110000001001010111 10000001011010101111011101001011 00101001111101110]10100011001100 00011111100101111010010111100110 I Putaran 16 E(Rls) KI6 E(RIS)E[)KI6 Keluaran kotak-S F(RIS. mode ECB lebih sering digunakan pada paket program komersial meskipun sangat rentan terhadap serangan.KJ3) L'4=RI3 0101011011110001 11010101 1100100001010010 10101111 10000001 00111111 Teks-kode heksa: 56 Fl D5 C8 52 AF 81 3F I 10000110110010111100111111001011 11001 0111000010001000'10001011101 111001010111110000001000001000001000001011111011 010111110100001110110111111100101110011100111010 101110100011111110111111110100100110010111000001 10111000011111101100010111000001 00000101110111010011101001001111 00110110011000001100110100101010 ! Teks-kode ASCII: VfiOEWD? LPutaran 14 E(R13) KI4 E(R13)EBK14 Keluaran kotak-S F(Rn. Mode CBC kadang-kadang saja digunakan. Listing program yang menggunakan bahasa Pascal for Windows dapat dilihat pada lampiran di akhir bab inL 6. kotak-S F(RIl).KI2) f--' LI3=RI2 Teks-kode biner: y Ip·I(RI6L. Namun karen a kesederhanaannya. CBC.K16) Rio - I Putaran 12 ~2 E(RII)EBK'2 l Keluaran kotak-S F(RJ I.136 Pengantar IImu Kriptografi ! Algorifma Kripfografi Modern ~----- 137 Putaran 11 ~(Rlo) Kl~ i KlJ E(RIO)EBK" I Keluaran 010011110111111010101010101111110011110001011001 001000010101111111010011110111101101001110000110 ' 011011100010000101111001011000011110111111011111 01011110000011001101101111000010 I 01110001001111101011000001010011 01001101010011111000101110010110 001001011010101001011111110001010111110010101100 01110101011100011111010110010100011001111[101001 010100001101101110101010010100010001101101000101 01101000000010110011011010101101 10101000011010001000111011101001 00110011101111011111011101100101 100110100111110111111011111110101110101100001010 100101111100010111010001111110101011101001000001 000011011011100000101010000000000101000101001011 11111001110110110010010010110011 I I LI2=RII E(RII) .3. Mode CBC lebih kompleks daripada EBC namun memberikan tingkat keamanan yang lebih bagus. dan CFB.KII) E(RI4)EBKlS Keluaran kotak-S F(RI4. Putaran 15 E(RI4) 000110101100001100000001011001011010100101010100 .6) Putaran 13 E(R'2) Ki3 E(R'2)EBKI3 Keluaran kotak-S F(RI2.6 MODE OPERASI DES DES dapat dioperasikan dengan mode ECB. OFB.

dimulai dari J1l = IV (64-bit vektor inisiasi) dan akan dihasilkan elemen kunci aliaran Zi dari enkripsi sebelum biok teks-kode. 9 encrypt rhl--1rJ y2 9 ••• .J-8 LGJ-8 L .}'2 . Cipher Block Chaining (CBC).. Mode ECB cocok digunakan untuk blok kode.. I sebelum dilakukan enkripsi dengan kunci L Secara formal initial vector (IV) 64 bit dan ditetapkan}11 = IV. Pada mode CFB. yang menghasilkan suatu blok string teks-kode )'I}'2 . Namun karena kesederhanaannya. decrypt ~G. 64-bir bisa dijelaskan I-bit dan O-bit. kemudian Zj eA' (yt'I). dan CFB. Mode CBC Iebih kompleks daripada EBC namun memberikan tingkat keamanan yang Iebih bagus..6 MODE OPERASI DES DES dapat dioperasikan dengan mode ECB.. kemudian dibangun)'l. karen a koresponden blok teks-kode yi yang diubah. Mode ECB dan OFB menukar satu biok teks-asli 64-bit. i <: 1. mode ECB Iebih sering digunakan pad a paket program komersial meskipun sangat rentan terhadap serangan. Cipher Feed Back (CFB). dari aturan yl = eA(yi-1 (!) Xi).Pengantar IImu Kriptografi Algoritma Kriptografi Modern 139 6. Diberikan urutan XlXl ••• 64­ bit blok teks-asli. eBC. Mode CBC kadang-kadang saja digunakan. Penggunaan mode CBC dapat dilihat pada gam bar di bawah ini. setiap blok teks-kode yi adalah x-ored dengan blok teks-asli berikutnya Xi.. perhitungan kunci aliran ZlZl dari aturan Zi:: eA(zt'I). Q Gombor 6. I IV". ~hl--ICP y.0..N_.13 Mode UB Varian mode OFB dan CFB disebut K-bjt feedback mode (1 ~ k ~ 64).. i <!: 1. h: 1 sarna dengan mode OFB yi = Xi '" Zi.. i <!: 1. j <!: 1. ~ [J [J ~ C?Jl ~ decrypt Gombar 6.. Urutan teks-asli XlXl ••• adalah perhitungan enkripsi dari Yj:: Xi' (!) Zi. Feedback mode kadang-kadang digunakan dalam praktik enkripsi data satu bit pad a waktu yang sarna. Pada mode CBC.3.12 Mode I ••• eBe Empat mode operasi blok kode seperti Electronic Code Book (ECB).. Setiap Xi adalah enkripsi dengan kunci yang sarna dengan K. Xi. OFB. Output Feed Back (OFB) mempunyai keuntungan dan kelebihan masing-masing. ••• encrypl 1. Untuk lebih detailnya dapat dilihat pada gam bar di bawah ini.. . karena biok teks-kode yang lain tidak diubah.

) write('LO: '). ( 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] := '] '.C8 ) n:~ 0. for i:-I to 32 do write(RfOll ill.. begin for i:= 1 to 64 do for j:= 1 to 32 do L[O][iJ :>.82. B(j][kJ E_XOR. if 8[jJ(1]='1' then baris := baris + 2. C8 dengan kotak-SJ write('ERi: '). procedure Enkripsi. [ menggabungkan CI. writeln(. kolomJ. bukan listing program secara keseluruhan. ifj=l then cc:= SBoxl[baris. ( permutasi P 141 Listing program untuk enkripsi dan dekripsi algoritma DES: Prosedur ini hanya untuk enkripsi dan dekripsi algoritma DES dengan meng­ gunakan bahasa Pascal. kolom]: if. . kolomJ. supaya buku ini tidak terlalu te bal. write('Ki: '). for to 48 do write(E_Ri[jJ). :~ '] '.:O[i]. then cc:= SBox6[baris.. . kolomJ. masing-masing 6 bit. for i:= 1 to 8 do write(key_.. for i:=1 to 8 do writeln: writeCKey dim hex : '). if8[j][2]='1' then kolom:= kolom + 8. for j:= 1 to 8 do begin for k:=1 to 4 do begin n n + 1. kolom].B3. write('Plaintext dIm hex: '). ( Mulai enkripsi 16 putaran ) for i:=1 to 16 do begin Round '. writeln. write(.. K[nJ. writeln. writeln. i[. J n:= 0. for i:~ 1 to 8 do begin for k:= 1 to 6 do begin n n + 1.. end.Hex[i]): writeln. if BU][3]:' I' then kolom kolom + 4. ( menghitung C]. kolom): "2 then cc SBox2[baris.=S then cc SBox5[baris. writeln. kolom. if j=4 then cc := SBox4[baris.C2. 88. write(plaintext). for j:=l to 48 do write(E_XOR_K[j]).i).= 0.. then cc:= SBox3[baris. . end. writeln. then cc SBox8[baris. end. . (Li = R(i-l) J then else R[i][jj end. then baris baris + I.C2. for b l to 4 do C[j][kJ := bindigit[cc][k]. for i:~1 to 32 do write(L[O][i]). if B[j][4Fl' then kolom := kolom + 2.=7 then cc:= SBox7[baris.140 Pengantar IImu Kriptografi Algoritma Kriptografi Modern for to 8 do begin baris. ( B 48 bit dipecah menjadi B1. for 1:=1 to 32 do R[O][ij := xQ[i+32].= 0. kolomJ. writeln.Plaintext : '). for j:=1 to 48 do write(Ki[i][j]). writcln.. writc('RO' '). 2 3 4 5'). end. writel nC 12345671'190 1234567890123456789012345678901234567890'). end. ifB[mS]='l' then kolom:= kolom + 1.. C_All[nJ end. write('XOR: '). J for j:=l to 32 do F_R_K[j] :~ C_AlI[P[jJl..

). kolom].:=1 to 32 do write(C_All[j]). if j=8 then cc SBox8[baris. write('XOR: '). write(. if B[j][ 4J='1' then kolom := kolom + 2. 7 writeCsbo: '). for j:=1 to 8 do begin for k:=l to 4 do begin n := n + 1. end. then cc SBox5[baris.. for i:=l to 32 do write(R[O][i]). end. ifB[j][5]='l' then kolom:= kolom + 1. writeln. J 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]. writeln. writeln..82. writeln.i). writeln. for j:=l to 32 do writeCCR_K[jJ). ifj=4 then cc:= SBox4[baris.C8 dengan kotak-S1 for j:=1 to 8 do begin baris := 0. kolom]. write(. C_Allln] end. end.). for j:=1 to 48 do write(E_XOR_K[iJ).. for j:=1 to 32 do R16L16!il:: R[16)[j].RO : . write('Ri : . kolom].. kolom]. [ menggabungkan C1. kolom]: for bl to 4 do C[j][kJ := bindigit[cc](kJ. readln. [ 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'.Algoritma Kriptograf. ifj=7 then cc:= SBox7[baris. if 8[j][3J='I' then kolom := kolom + 4. for i:=l to 32 do write(L[Olfi]). if j=6 then cc :~ SBox6[baris. end. writeln.83•. procedure Dekripsi. writeln. for i:=l to 32 do R[OJ[i] :~ xO{i+32]. if B[j][6J='I' then baris baris + 1. [ Mulai dekripsi 16 putaran 1 for i:= 1 to 16 do begin writelnCDekripsi Round '. 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' . for . if B[jJ[2J='I' then kolom := kolom + 8. writeCLO: . for i:= 1 to 32 do write(Rfill il). 8[j)[k] :~ E_XOR_K[n]. for j. write('sbo. kolom]. kolom:= 0. end. for j:=1 to 32 do write(F_R_K[jJ). Modern 143 142 Pengantar IImu Kriptografi if 8[j][ 1]='1' then baris := baris + 2. writeln. writeln. masing-masing 6 bit. writeCKi : '). write(. ifj=2 then cc:= SBox2[baris.frk: '). for to 48 do write(Ki[iJ[j]).=1 to 48 do write(E_Ri[j]). . kolom]. [ menghitung Cl. [ 8 48 bit dipecah menjadi 81.). 88. end. begin for bl to 64 do xO[i] := y[IP[iJJ. end. then cc SBox3[baris. #\:.. for i:=1 to 32 do L[0J[i] xO[iJ. I permutasi P I . for j:= 1 to 8 do begin for k:= 1 to 6 do begin n:= n + 1. n:= 0..ERi: '). writeln. write(. for j:=ltO 32 do R16L16[j+32]:= for j:=l to 64 do yU] RI6L16[IPinv[ill.CB J n: 0. writeln. '). end.. if j=1 then c: SBoxI[baris.. kolom].C2 .frk: '). else := '\'.C2 .. . for j:=1 to 32 do write(C_All[j]).

eoba lihat di bawah ini: Putaran 2 3 4 5 6 7 8 9 10 11 12 13 14 IS 16 Kl OOOeed9158e9 588490792e94 54882eb9409b a2aJ06077207 280e26b621e4 e03038a08be7 84867056a693 e65a 127 £0549 2443236696a6 a311155eOdeb Od02dl0ed859 1750b843f570 geOl eOa98d28 I a4aOdc85e 16 0931Oc5d42bc 53248c80ee34 K2 5alee4b60e98 710e318334e6 e5a8b4ee83a5 96a696124ecf 7e16225e9191 ea906e836569 88e25e6abbOO 245b3af0453e 76d38087dd44 1a915708a7£O 2d405fr:lee05 2741ac4a469a 9a09b19d710d 9d2a39a252eO 87368edOab27 30258f25c11 d K3 03e4ee7e63e8 8486dd46ae65 575a226a8dde aabgeOO9d59b 98664[413421 615718ea496e 449ge580dbge 93e853d116b1 ee4a 1fa9f254 27b30c31e6a6 Oalee3geOe87 r:l68788e62d5 84e78833e3c1 521 fl7b28503 6db841ee2706 c9313e0591 e3 ~ ________----l ~ Enkripsi S\ U Ciphertext Plaint"x! Key 1 Key 2 (::::J r Enco. yaitu Kl.144 [032 do writeCRi: '). for readln. K3. K2. Untuk melakukan perhitungan.4 TRIPLE DATA ENCRYPTION STANDARD (3DES) 3DES euma mempunyai perbedaan keeil dengan DES.~lon (::::J Deskripsi K"y3 (::::J DES dJ EncryPtlonl Gambar 6.14 Proses 30[5 dengon Kunci Tahap pertama Tahap kedua Tahap ketig~ Dekripsi: keempat kelima akhir : EKI = Ox7a39786f7ba32349 : DK2 = Ox9c60f85369113aea : EK3 Oxe22ae33494beb930 C (teks-kode) Pada gambar di atas terdapat 3 kunei. for ):=1 to 64 do end. Penganfar Ilmu Kripfografi writeln. dan K3 untuk enkripsi. Kl berfungsi unruk enkripsi. Proses kerja dari 3DES. K2 untuk dekripsi. Coba perhatikan gam bar di bawah ini. atau juga dikenal dengan mode Encrypt Descrypt Encrypt : DK3 = Ox9c60f85369113aea : EK2 = Ox7a39786f7ba32349 : DKI Ox403da8a295d3fed9 P (teks-asli) . daTi algoritma DES. dan K3. Algoritma Kriptografi Modern Contoh: Diberikan tiga kunei: Kl K2 K3 = 145 0x260bI52f31b51e68 Ox321£od61a7731558 Ox519b7331bfl04ee3 Dan teks-asli P = Ox403da8a295d3fed9 6. K2. Plaintext Key 1 Key 2 Key j 16 putaran kunci yang eDeok diberikan Kl. 3DES lebih aman dibanding DES. 3DES mempunyai kunei yang lebih panjang (3 x dad DES). for j:=l [032 do R16L16[jJ:= for j:= 1 to 32 do R16L16[j+32]:= L[ 16][j]. merupakan pengembangan. end.

Sign up to vote on this title
UsefulNot useful