Anda di halaman 1dari 35

Algoritma Kriptografi Klasik

Bahan Kuliah Kriptografi ke-2

1
Pendahuluan
 Algoritma kriptografi klasik berbasis
karakter
 Termasuk ke dalam kriptorafi simetri
 Tiga alasan mempelajari algoritma klasik:
1. Memahami konsep dasar kriptografi.
2. Dasar algoritma kriptografi modern.
3. Memahami kelemahan sistem cipher.

Rinaldi Munir/IF5054 Kriptografi 2


 Algoritma kriptografi klasik:
1. Cipher Substitusi (Substitution Ciphers)
2.Cipher Transposisi (Transposition Ciphers)

Rinaldi Munir/IF5054 Kriptografi 3


Cipher Substitusi
Contoh: Caesar Cipher
 Tiap huruf alfabet digeser 3 huruf ke kanan

pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Contoh:
Plainteks: AWASI ASTERIX DAN TEMANNYA OBELIX
Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA

Rinaldi Munir/IF5054 Kriptografi 4


Misalkan A = 0, B = 1, …, Z = 25
Maka secara matematis caesar cipher
dirumsukan sebagai berikut:

Enkripsi: ci = E(pi) = (pi + 3) mod 26


Dekripsi: pi = D(ci) = (ci – 3) mod 26

Rinaldi Munir/IF5054 Kriptografi 5


 Jika pergeseran huruf sejauh k, maka:

Enkripsi: ci = E(pi) = (pi + k) mod 26


Dekripsi: pi = D(ci) = (ci – k) mod 26
k = kunci rahasia

 Untuk 256 karakter ASCII, maka:

Enkripsi: ci = E(pi) = (pi + k) mod 256


Dekripsi: pi = D(ci) = (ci – k) mod 256
k = kunci rahasia
Rinaldi Munir/IF5054 Kriptografi 6
Rinaldi Munir/IF5054 Kriptografi 7
Kelemahan:
Caesar cipher mudah dipecahkan dengan
exhaustive key search karena jumlah
kuncinya sangat sedikit (hanya ada 26
kunci).

Rinaldi Munir/IF5054 Kriptografi 8


Contoh: kriptogram XMZVH
Tabel 1. Contoh exhaustive key search terhadap cipherteks XMZVH

Kunci (k) ‘Pesan’ hasil Kunci (k) ‘Pesan’ hasil Kunci (k) ‘Pesan’ hasil
ciphering dekripsi ciphering dekripsi ciphering dekripsi
0 XMZVH 17 GVIEQ 8 PERNZ
25 YNAWI 16 HWJFR 7 QFSOA
24 ZOBXJ 15 IXKGS 6 RGTPB
23 APCYK 14 JYLHT 5 SHUQC
22 BQDZL 13 KZMIU 4 TIVRD
21 CREAM 12 LANJV 3 UJWSE
20 DSFBN 11 MBOKW 2 VKXTF
19 ETGCO 10 NCPLX 1 WLYUG
18 FUHDP 9 ODQMY

Plainteks yang potensial adalah CREAM dengan k = 21.


Kunci ini digunakan untuk mendekripsikan cipherteks lainnya.

Rinaldi Munir/IF5054 Kriptografi 9


PHHW PH DIWHU WKH WRJD SDUWB
KEY
1 oggv og chvgt vjg vqic rctva
2 nffu nf bgufs uif uphb qbsuz
3 meet me after the toga party
4 Ldds ld zesdq sgd snfz ozqsx
5 kccr kc ydrcp rfc rmey nyprw
6 …
21 ummb um inbmz bpm bwoi xizbg
22 tlla tl hmaly aol avnh whyaf
23 skkz sk glzkx znk zumg vgxze
24 rjjy rj fkyjw ymj ytlf ufwyd
25 qiix qi ejxiv xli xske tevxc

Rinaldi Munir/IF5054 Kriptografi 10


Contoh: Kriptogram HSPPW menghasilkan dua
kemungkinan kunci yang potensial, yaitu k =
4 menghasilkan pesan DOLLS dan k = 11
menghasilkan WHEEL.

Jika kasusnya demikian, maka lakukan


dekripsi terhadap potongan cipherteks lain
tetapi cukup menggunakan k = 4 dan k = 11
agar dapat disimpulkan kunci yang benar.

Rinaldi Munir/IF5054 Kriptografi 11


Jenis-jenis Cipher Substitusi
1. Cipher abjad-tunggal (monoalphabetic cipher)
Satu karakter di plainteks diganti dengan satu
karakter yang bersesuaian.

Jumlah kemungkinan susunan huruf-huruf


cipherteks yang dapat dibuat adalah sebanyak

26! = 403.291.461.126.605.635.584.000.000

Contoh: Caesar Cipher


Rinaldi Munir/IF5054 Kriptografi 12
 Di dalam sistem operasi Unix, rot13 adalah
fungsi menggunakan cipher abjad-tunggal dengan
pergeseran k = 13
Contoh: rot13(ROTATE) =
rot13(17,14,19,0,19,4)= EBGNGR

 Enkripsi arsip dua kali dengan rot13


menghasilkan arsip semula:

P = rot13(rot13(P)) (Kenapa?)

Rinaldi Munir/IF5054 Kriptografi 13


2. Cipher substitusi homofonik (Homophonic
substitution cipher)
Setiap karakter plainteks dipetakan ke dalam
salah satu karakter cipherteks yang mungkin.

Fungsi ciphering memetakan satu-ke-banyak


(one-to-many).

Misalnya huruf A dapat berkoresponden dengan


7, 9, atau 16, huruf B dapat berkoresponden
dengan 5, 10, atau 23 dan seterusnya.

Rinaldi Munir/IF5054 Kriptografi 14


3. Cipher abjad-majemuk (Polyalpabetic
substitution cipher )

Merupakan cipher substitusi-ganda yang


melibatkan penggunaan kunci berbeda.

Cipher abjad-majemuk dibuat dari sejumlah


cipher abjad-tunggal, masing-masing dengan
kunci yang berbeda.

Kebanyakan cipher abjad-majemuk adalah


cipher substitusi periodik yang didasarkan pada
periode m.
Rinaldi Munir/IF5054 Kriptografi 15
Plainteks:
P = p1p2 … pmpm+1 … p2m …

Cipherteks:
Ek(P) = f1(p1) f2(p2) … fm(pm) fm+1(pm+1) …
f2m(p2m) …

Untuk m = 1, cipher-nya ekivalen dengan


cipher abjad-tunggal.
Rinaldi Munir/IF5054 Kriptografi 16
 Contoh cipher substitusi periodik adalah cipher
Vigenere
Kunci: K = k1k2 … km
ki untuk 1  i  m menyatakan jumlah pergeseran
pada huruf ke-i.

Karakter cipherteks: ci(p) = (p + ki) mod 26 (*)

Misalkan periode m = 20, maka 20 karakter


pertama dienkripsi dengan persamaan (*), setiap
karakter ke-i menggunakan kunci ki.
Untuk 20 karakter berikutnya, kembali
menggunakan pola enkripsi yang sama.
Rinaldi Munir/IF5054 Kriptografi 17
Contoh:
Plainteks: SHE SELLS SEA SHELLS BY THE SEASHORE

+ Kunci KEY KEYKE YKE YKEYKE YK EYK EYKEYKEY

Cipherteks:CLC CIJVW QOE QRIJVW ZI XFO WCKWFYVC

Rinaldi Munir/IF5054 Kriptografi 18


4. Cipher substitusi poligram (Polygram
substitution cipher )
Contoh: Playfair cipher

Blok karakter disubstitusi dengan blok cipherteks.

Misalnya ABA diganti dengan RTQ, ABB diganti


dengan SLL, dan lain-lain.

Rinaldi Munir/IF5054 Kriptografi 19


Cipher Transposisi
 Ciphereteks diperoleh dengan mengubah
posisinya. Dengan kata lain, algoritma ini
melakukan transpose terhadap rangkaian karakter
di dalam teks.

 Nama lain untuk metode ini adalah permutasi,


karena transpose setiap karakter di dalam teks
sama dengan mempermutasikan karakter-karakter
tersebut.
Rinaldi Munir/IF5054 Kriptografi 20
Contoh 4. Misalkan plainteks adalah
DEPARTEMEN TEKNIK INFORMATIKA IBI

Enkripsi:
DEPART
EMENTE
KNIKIN
FORMAT
IKAIBI

Cipherteks: (baca secara vertikal)


DEKFIEMNOKPEIRAANKMIRTIABTENTI
Rinaldi Munir/IF5054 Kriptografi 21
Dekripsi: Bagi panjang cipherteks dengan kunci.
(Pada contoh ini, 30 / 6 = 5)
DEKFI
EMNOK
PEIRA
ANKMI
RTIAB
TENTI

Plainteks: (baca secara vertikal)


DEPARTEMEN TEKNIK INFORMATIKA IBI

Rinaldi Munir/IF5054 Kriptografi 22


Contoh lain. Misalkan plainteks adalah

CRYPTOGRAPHY AND DATA SECURITY

Plainteks disusun menjadi 3 baris (k = 3) seperti di bawah ini:

C T A A A E I
R P O R P Y N D T S C R T
Y G H D A U Y

maka cipherteksnya adalah

CTAAAEIRPORPYNDTSCRTYGHDAUY

Rinaldi Munir/IF5054 Kriptografi 23


Lebih jauh dengan Cipher Abjad-
tunggal
 Jumlah kunci = jumlah cara menyusun 26
huruf abjad tersebut, yaitu sebanyak
26! = 403.291.461.126.605.635.584.000.000

 Contoh susunan tabel substitusi (acak):

pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : D I Q M T B Z S Y K V O F E R J A U W P X H L C N G

Rinaldi Munir/IF5054 Kriptografi 24


 Tip membuat kunci:
1. Pilih kunci dari sembarang kalimat:
we hope you enjoy this book
2. Buang huruf yang berulang:
wehopyunjtisbk
3. Sambung dengan huruf lain yang belum
ada:
WEHOPYUNJTISBKACDFGLMQRVXZ
4. Tabel substitusi:
pi : A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ci : W E H O P Y U N J T I S B K A C D F G L M Q R V X Z

Rinaldi Munir/IF5054 Kriptografi 25


Mendekripsi cipherteks tanpa mengetahui
kunci (cipher substitusi abjad-tunggal):
 Metode yang digunakan:
1. Terkaan
2. Statistik

 Informasi tambahan:
1. Mengetahui bahasa plainteks
2. Konteks plainteks

Rinaldi Munir/IF5054 Kriptografi 26


Metode Terkaan
Asumsi: bahasa plainteks adalah B Inggris
Tujuan: mereduksi jumlah kunci

Contoh 1: Cipherteks: G WR W RWL


Plainteks: I AM A MA*
I AM A MAN
Jumlah kunci berkurang dari 26! menjadi 22!

Rinaldi Munir/IF5054 Kriptografi 27


Contoh 2:
Cipherteks: HKC
Plainteks:
(lebih sukar ditentukan, tetapi tidak
mungkin Z diganti dengan H, Q dengan K,
dan K dengan C., karena tidak ada kata
“ZQC” dalam Bahasa Inggris)

Rinaldi Munir/IF5054 Kriptografi 28


Contoh 3:
Cipherteks: HATTPT
Plainteks: salah satu dari T atau P
merepresentasikan huruf vokal
sehingga plainteks yg memungkinkan
adalah :
CHEESE
MISSES
CANNON

Rinaldi Munir/IF5054 Kriptografi 29


Contoh 4:
Cipherteks: HATTPT
Plainteks:
(diketahui informasi bahwa pesan tersebut
adalah nama negara. Dengan cepat
kriptanalis menyimpulkan bahwa polygram
tersebut adalah GREECE.)

Rinaldi Munir/IF5054 Kriptografi 30


Metode Statistik
 Paling umum digunakan
Tabel 2. Frekuensi kemunculan (relatif) huruf-huruf
dalam teks Bahasa Inggris (sampel mencapai 300.000 karakter di dalam
sejumlah novel dan suratkabar

Huruf % Huruf %
A 8,2 N 6,7
B 1,5 O 7,5
C 2,8 P 1,9
D 4,2 Q 0,1
E 12,7 R 6,0
F 2,2 S 6,3
G 2,0 T 9,0
H 6,1 U 2,8
I 7,0 V 1,0
J 0,1 W 2,4
K 0,8 X 2,0
L 4,0 Y 0,1
M 2,4 Z 0,1

Rinaldi Munir/IF5054 Kriptografi 31


 Terdapat sejumlah tabel frekuensi sejenis yang
dipublikasikan oleh pengarang lain, namun secara
umum persentase kemunculan tersebut konsisten
pada sejumlah tabel.

 Kemunculan huruf-huruf di dalam plainteks


tercermin pada tabel 2 di atas .

 Jika karakter “R” paling sering muncul di dalam


cipherteks, maka kemungkinan besar itu adalah
huruf “E” di dalam plainteks.

Rinaldi Munir/IF5054 Kriptografi 32


Contoh cipherteks:
DIX DR TZX KXCQDIQ RDK XIHPSZXKPIB TZPQ TXGT
PQ TD QZDM TZX KXCJXK ZDM XCQPVN TZPX TNSX DR
HPSZXK HCI LX LKDUXI. TZX MDKJ QTKFHTFKX DR
TZX SVCPITXGT ZCQ LXXI SKXQXKWXJ TD OCUX
TZX XGXKHPQX XCQPXK. PR MX ZCJ MKPTTXI TZX.
HKNSTDBKCOPI BKDFSQ DR RPWX VXTTXKQ TZXI PT
MDFVJ ZCWX LXXI ZCKJXK. TD HDIWPIHX
NDFKQXVWXQ DR TZPQ SCPKQ SCPKQ DR KXCJXKQ
HCI SKDWPJX XCHZ DTZXK MPTZ HKNSTDBKCOQ
MPTZ TZPQ VXTTXK BKDFSIB

Rinaldi Munir/IF5054 Kriptografi 33


 Histogram kemunculan relatif:

Rinaldi Munir/IF5054 Kriptografi 34


 Karakter yang paling sering muncul di dalam
cipherteks adalah H.
 Dengan membandingkan Tabel 2 dengan
histogram tersebut, kita dapat menyimpulkasn
sementara bahwa H berkoresponden dengan E
dan bahwa W berkoresponden dengan T.
 Tetapi kita belum dapat memastikannya. Masih
diperlukan:
- cara trial and error
- pengetahuan tentang bahasa
- konteks plainteks
- intuisi

Rinaldi Munir/IF5054 Kriptografi 35

Anda mungkin juga menyukai