Rinaldi Munir/IF5054 Kriptografi*Algoritma Kriptografi Klasik
Bahan kuliah ke-4IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*PendahuluanAlgoritma kriptografi klasik berbasis karakterTermasuk ke dalam kriptorafi simetriTiga alasan mempelajari algoritma klasik:1. Memahami konsep dasar kriptografi.2. Dasar algoritma kriptografi modern. 3. Memahami kelemahan sistem cipher.
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*Algoritma kriptografi klasik:1. Cipher Substitusi (Substitution Ciphers)2.Cipher Transposisi (Transposition Ciphers)
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*Cipher SubstitusiContoh: Caesar CipherTiap 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 Zci : 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 OBELIXCipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*Misalkan A = 0, B = 1, , Z = 25, maka secara matematis caesar cipher dirumuskan sebagai berikut:
Enkripsi: ci = E(pi) = (pi + 3) mod 26Dekripsi: pi = D(ci) = (ci 3) mod 26
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*Jika pergeseran huruf sejauh k, maka:Enkripsi: ci = E(pi) = (pi + k) mod 26Dekripsi: pi = D(ci) = (ci k) mod 26k = kunci rahasia
Untuk 256 karakter ASCII, maka:Enkripsi: ci = E(pi) = (pi + k) mod 256Dekripsi: pi = D(ci) = (ci k) mod 256k = kunci rahasia
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*Kelemahan: Caesar cipher mudah dipecahkan dengan exhaustive key search karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*Contoh: kriptogram XMZVH Plainteks yang potensial adalah CREAM dengan k = 21. Kunci ini digunakan untuk mendekripsikan cipherteks lainnya.
Rinaldi Munir/IF5054 Kriptografi
Tabel 1. Contoh exhaustive key search terhadap cipherteks XMZVH
Kunci (k)
ciphering
Pesan hasil dekripsi
Kunci (k)
ciphering
Pesan hasil dekripsi
Kunci (k)
ciphering
Pesan hasil dekripsi
0
25
24
23
22
21
20
19
18
XMZVH
YNAWI
ZOBXJ
APCYK
BQDZL
CREAM
DSFBN
ETGCO
FUHDP
17
16
15
14
13
12
11
10
9
GVIEQ
HWJFR
IXKGS
JYLHT
KZMIU
LANJV
MBOKW
NCPLX
ODQMY
8
7
6
5
4
3
2
1
PERNZ
QFSOA
RGTPB
SHUQC
TIVRD
UJWSE
VKXTF
WLYUG
Rinaldi Munir/IF5054 Kriptografi*PHHW PH DIWHU WKH WRJD SDUWBKEY1oggv og chvgt vjg vqic rctva2nffu nf bgufs uif uphb qbsuz3meet me after the toga party4Ldds ld zesdq sgd snfz ozqsx5kccr kc ydrcp rfc rmey nyprw621 ummb um inbmz bpm bwoi xizbg22 tlla tl hmaly aol avnh whyaf23 skkz sk glzkx znk zumg vgxze24 rjjy rj fkyjw ymj ytlf ufwyd25 qiix qi ejxiv xli xske tevxc
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*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
Rinaldi Munir/IF5054 Kriptografi*Jenis-jenis Cipher SubstitusiCipher 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
Rinaldi Munir/IF5054 Kriptografi*Di dalam sistem operasi Unix, rot13 adalah fungsi menggunakan cipher abjad-tunggal dengan pergeseran k = 13Contoh: rot13(ROTATE) = rot13(17,14,19,0,19,4)= EBGNGR
Enkripsi arsip dua kali dengan rot13 menghasilkan arsip semula:P = rot13(rot13(P))
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*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
Rinaldi Munir/IF5054 Kriptografi* 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
Rinaldi Munir/IF5054 Kriptografi*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
Rinaldi Munir/IF5054 Kriptografi*Contoh cipher substitusi periodik adalah cipher Vigenere Kunci: K = k1k2 kmki 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
Rinaldi Munir/IF5054 Kriptografi*Contoh:Plainteks: SHE SELLS SEA SHELLS BY THE SEASHORE+ Kunci KEY KEYKE YKE YKEYKE YK EYK EYKEYKEYCipherteks:CLC CIJVW QOE QRIJVW ZI XFO WCKWFYVC
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*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
Rinaldi Munir/IF5054 Kriptografi*Cipher TransposisiCiphereteks 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
Rinaldi Munir/IF5054 Kriptografi*Contoh 4. Misalkan plainteks adalahDEPARTEMEN TEKNIK INFORMATIKA ITBEnkripsi:DEPARTEMENTEKNIKINFORMATIKAITBCipherteks: (baca secara vertikal) DEKFIEMNOKPEIRAANKMIRTIATTENTB
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*Dekripsi: Bagi panjang cipherteks dengan kunci. (Pada contoh ini, 30 / 6 = 5) DEKFIEMNOKPEIRAANKMIRTIATTENTBPlainteks: (baca secara vertikal)DEPARTEMEN TEKNIK INFORMATIKA ITB
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*
Rinaldi Munir/IF5054 Kriptografi
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 OR P Y N D T S C R T
Y G H D A U Y
maka cipherteksnya adalah
CTAAAEIRPORPYNDTSCRTYGHDAUY
Rinaldi Munir/IF5054 Kriptografi*Lebih jauh dengan Cipher Abjad-tunggalJumlah 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 Zci : 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
Rinaldi Munir/IF5054 Kriptografi*Tip membuat kunci:1. Pilih kunci dari sembarang kalimat:we hope you enjoy this book2. Buang huruf yang berulang:wehopyunjtisbk3. Sambung dengan huruf lain yang belum ada: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 Z4. 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 Zci : 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
Rinaldi Munir/IF5054 Kriptografi*Mendekripsi cipherteks tanpa mengetahui kunci (cipher substitusi abjad-tunggal):Metode yang digunakan:1. Terkaan2. Statistik
Informasi tambahan:1. Mengetahui bahasa plainteks2. Konteks plainteks
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*Metode TerkaanAsumsi: bahasa plainteks adalah B InggrisTujuan: mereduksi jumlah kunci
Contoh 1. Cipherteks: G WR W RWL Plainteks:I AM A MA*I AM A MANJumlah kunci berkurang dari 26! menjadi 22!
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*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
Rinaldi Munir/IF5054 Kriptografi*Contoh 3. Cipherteks: HATTPT Plainteks: salah satu dari T atau P merepresentasikan huruf vokal CHEESE MISSES CANNON
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*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
Rinaldi Munir/IF5054 Kriptografi*Metode StatistikPaling umum digunakan
Rinaldi Munir/IF5054 Kriptografi
Tabel 2. Frekuensi kemunculan (relatif) huruf-huruf
dalam teks Bahasa Inggris (sampel mencapai 300.000 karakter di dalam
sejumlah novel dan suratkabar
Huruf
%
Huruf
%
AB
C
D
E
F
G
H
I
J
K
L
M
8,2
1,5
2,8
4,2
12,7
2,2
2,0
6,1
7,0
0,1
0,8
4,0
2,4
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
6,7
7,5
1,9
0,1
6,0
6,3
9,0
2,8
1,0
2,4
2,0
0,1
0,1
Rinaldi Munir/IF5054 Kriptografi*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
Rinaldi Munir/IF5054 Kriptografi*Contoh cipherteks:DIX DR TZX KXCQDIQ RDK XIHPSZXKPIB TZPQ TXGTPQ TD QZDM TZX KXCJXK ZDM XCQPVN TZPX TNSX DRHPSZXK HCI LX LKDUXI. TZX MDKJ QTKFHTFKX DRTZX 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 HDIWPIHXNDFKQXVWXQ DR TZPQ SCPKQ SCPKQ DR KXCJXKQHCI SKDWPJX XCHZ DTZXK MPTZ HKNSTDBKCOQMPTZ TZPQ VXTTXK BKDFSIB
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*Histogram kemunculan relatif:
Rinaldi Munir/IF5054 Kriptografi
Rinaldi Munir/IF5054 Kriptografi*Karakter yang paling sering muncul di dalam cipherteks adalah H. Dengan membandingkan Tabel 2 dengan histogram tersebut, kita dapat menyimpulkan 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