Kriptografi Klasik
Bagian 1
• Algoritma enkripsi klasik berbasis huruf alfabet
• Menggunakan pena dan kertas saja, belum ada komputer
• Termasuk ke dalam kriptografi kunci-simetri
• Old cryptography
• Tiga alasan mempelajari kriptografi klasik:
1. Memahami konsep dasar kriptografi.
2. Dasar algoritma kriptografi modern.
3. Memahami kelemahan sistem cipher.
• Cipher di dalam kriptografi klasik disusun oleh dua teknik dasar:
1. Teknik substitusi: mengganti huruf plainteks dengan huruf cipherteks.
2. Teknik transposisi: mengubah susunan/posisi huruf plainteks ke posisi
lainnya.
• Oleh karena itu, dikenal dua macam cipher di dalam kriptografi klasik:
1. Cipher Substitusi (Substitution Ciphers)
2. Cipher Transposisi (Transposition Ciphers)
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
• Supaya lebih aman, cipherteks dikelompokkan ke dalam kelompok n-huruf,
misalnya kelompok 4-huruf:
Semula: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
Menjadi: DZDV LDVW HULA GDQW HPDQ QBAR EHOL A
• Atau membuang semua spasi:
DZDVLDVWHULAGDQWHPDQQBAREHOLA
• Tujuannya agar kriptanalisis menjadi lebih sulit
• Misalkan, A = 0,
B = 1,
C = 2,
...
Z = 25
maka, Caesar Cipher dirumuskan secara matematis:
Enkripsi: c = E(p) = (p + 3) mod 26
Dekripsi: p = D(c) = (c – 3) mod 26
Ket: p = karakter plainteks; c = karakter cipherteks
Plainteks: awasi asterix dan temannya obelix
• p1 = ‘a’ = 0 → c1 = E(0) = (0 + 3) mod 26 = 3 = ‘D’
• p2 = ‘w’ = 22 → c2 = E(22) = (22 + 3) mod 26 = 25 = ‘Z’
• p3 = ‘a’ = 0 → c3 = E(0) = (0 + 3) mod 26 = 3 = ‘D’
• p4 = ‘s’ = 18 → c4 = E(18) = (18 + 3) mod 26 = 21 = ‘V’
• p5 = ‘i’ = 8 → c4 = E(8) = (8 + 3) mod 26 = 11 = ‘L’
• dst…
Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
Cipherteks: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
◼ c1 = ‘D’ = 3 → p1 = D(3) = (3 – 3) mod 26 = 0 = ‘a’
◼ c2 = ‘Z’ = 25 → p2 = D(25) = (25 – 3) mod 26 = 22 = ‘w’
◼ c3 = ‘D’ = 3 → p3 = D(3) = (3 – 3) mod 26 = 0 = ‘a’
◼ …
◼ c12 = ‘A’ = 0 → p12 = D(0) = (0 – 3) mod 26 = – 3 mod 26 = 23 = ‘x’
Keterangan: – 3 mod 26 dihitung dengan cara
|– 3| mod 26 = 3, sehingga –3 mod 26 = 26 – 3 = 23
◼ Plainteks: awasi asterix dan temannya obelix
• Jika pergeseran huruf sejauh k, maka:
Enkripsi: c = E(p) = (p + k) mod 26
Dekripsi: p = D(c) = (c – k) mod 26
k = kunci rahasia
• Untuk 256 karakter ASCII, maka:
Enkripsi: c = E(p) = (p + k) mod 256
Dekripsi: p = D(ci
) = (c – k) mod 256
k = kunci rahasia
10
Kelemahan:
Caesar cipher mudah dipecahkan dengan exhaustive key search
karena jumlah kuncinya sangat sedikit (hanya ada 26 kunci).
Contoh: Kriptogram XMZVH

Plainteks yang potensial adalah CREAM dengan k = 21.
Kunci ini digunakan untuk mendekripsikan cipherteks lainnya.
Chiperteks: VIVBQ SQBI SMBMUC LQ ICTI
Contoh: Misalkan kriptogram HSPPW menghasilkan dua kemungkinan
kunci yang potensial, yaitu:
k = 4 menghasilkan pesan dolls
k = 11 menghasilkan wheel.
Nilai k mana yang benar?
Jika kasusnya demikian, maka lakukan dekripsi terhadap potongan
cipherteks lain tetapi cukup menggunakan k = 4 dan k = 11 agar
dapat disimpulkan kunci yang benar.
Jenis-jenis Cipher Substitusi
1. Chiper abjad-tunggal (monoalphabetic chiper)
2. Cipher subtitusi homofonik (homophonic subtitution cipher)
3. Cipher abjad-majemuk (Polygram subtitution cipher)
4. Cipher subtitusi poligram (Polygram subtitution cipher)
Cipher abjad-tunggal (monoalphabetic cipher)
• Satu huruf di plainteks diganti dengan satu huruf yang bersesuaian.
Contoh: Caesar Cipher
• Jumlah kemungkinan susunan huruf-huruf cipherteks yang dapat dibuat
pada sembarang cipher abjad-tunggal adalah sebanyak
26! = 403.291.461.126.605.635.584.000.000
• Tabel substitusi dapat dibentuk secara acak:
• Atau dengan kalimat yang mudah diingat:
Contoh: we hope you enjoy this book
Buang duplikasi huruf: wehopyunjtisbk
Sambung dengan huruf lain yang belum ada:
wehopyunjtisbkacdfglmqrvxz
Tabel substitusi:
Plainteks : 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
Cipherteks: 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
Cipher Substitusi Homofonik
(Homophonic substitution cipher)
• Setiap huruf plainteks dipetakan ke dalam salah satu huruf atau pasangan
huruf cipherteks yang mungkin.
• Tujuan: menyembunyikan hubungan statistik antara plainteks dengan
cipherteks
• Fungsi ciphering memetakan satu-ke-banyak (one-to-many).
Misal: huruf E → AB, TQ, YT,UX (homofon)
huruf B → EK, MF, KY (homofon)
Cipher Abjad-Majemuk
(Polyalpabetic substitution cipher)
• Cipher abjad-tunggal: satu kunci untuk semua huruf plainteks
• Cipher abjad-majemuk: setiap huruf menggunakan kunci
berbeda.
• Cipher abjad-majemuk dibuat dari sejumlah cipher abjad-tunggal,
masing-masing dengan kunci yang berbeda.
• Contoh: Vigenere Cipher (akan dijelaskan pada kuliah selanjutnya)
Contoh: (spasi dibuang)
P : kriptografiklasikdengancipheralfabetmajemuk
K : LAMPIONLAMPIONLAMPIONLAMPIONLAMPIONLAMPIONL
C : VRUEBCTCARXSZNDIWSMBTLNOXXVRCAXUIPREMMYMAHV
Perhitungan:
(K + L) mod 26 = (10 + 11) mod 26 = 21 = V
(R + A) mod 26 = (17 + 0) mod 26 = 17 = R
(I + M) mod 26 = (8 + 12) mod 26 = 20 = U
dst
Contoh 2: (dengan spasi)
P: she sells sea shells by the seashore
K: KEY KEYKE YKE YKEYKE YK EYK EYKEYKEY
C: CLC CIJVW QOE QRIJVW ZI XFO WCKWFYVC
Cipher substitusi poligram
(Polygram substitution cipher)
• Blok huruf plainteks disubstitusi dengan blok cipherteks.
• Misalnya AS diganti dengan RT, BY diganti dengan SL
• Jika unit huruf plainteks/cipherteks panjangnya 2 huruf, maka ia disebut
digram (bigram), jika 3 huruf disebut ternari-gram, dst
• Tujuannya: distribusi kemunculan poligram menjadi flat (datar), dan hal
ini menyulitkan analisis frekuensi.
• Contoh: Playfair cipher (akan dijelaskan pada kuliah selanjutnya)
Cipher Transposisi
• Cipherteks diperoleh dengan mengubah posisi huruf di dalam
plaintekls.
• Dengan kata lain, algoritma ini melakukan transpose terhadap
rangkaian huruf di dalam plainteks.
• Nama lain untuk metode ini adalah permutasi, karena transpose
setiap karakter di dalam teks sama dengan mempermutasikan
karakter-karakter tersebut.
Contoh:
Misalkan plainteks adalah
departemen teknik informatika itb
Enkripsi:
depart
emente
knikin
format
ikaitb
Cipherteks: (baca secara vertikal)
DEKFIEMNOKPEIRAANKMIRTIATTENTB (tanpa spasi)
DEKF IEMN OKPE IRAA NKMI RTIA TTEN TB (4 huruf)
Super-enkripsi
• Menggabungkan cipher substitusi dengan cipher transposisi.
Contoh. Plainteks hello world
• dienkripsi dengan caesar cipher menjadi KHOOR ZRUOG
• kemudian hasil ini dienkripsi lagi dengan cipher transposisi (k = 4):
KHOO
RZRU
OGZZ
Cipherteks akhir adalah: KROHZGORZOUZ
Komentar
Posting Komentar