Kriptografi Klasik Oleh Tasya Nurul Laily

 

KRIPTOGRAFI KLASIK

Pendahuluan 
• Algoritma enkripsi klasik berbasis huruf alfabet 
• Menggunakan pena dan kertas saja, belum ada komputer 
• Termasuk ke dalam kriptografi kunci-simetri 
• Old cryptography 
chiper di dalam kriptografi klasik disusun oleh dua teknik dasar:
1. Teknik subtitusi: mengganti huruf plainteks dengan huruf cipherteks
2. Teknik transporsisi: mengubah susunan/posisi huruh plainteks ke posisi lainnya
Oleh karena itu, dikenal dua macam cipher di dalam kriptografi klasik:
1. Chiper Subtitusi (Subtitution Cipher)
2. Cipher Transposisi (Tranposition 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’ 
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. Cipherteks: PHHW PH DIWHU WKH WRJD SDUWB 
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 
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. Di dalam sistem operasi Unix, ROT13 adalah fungsi menggunakan Caesar cipher dengan pergeseran k = 13
Contoh: ROT13(ROTATE) = EBGNGR • Nama “ROT13” berasal dari net.jokes (hhtp://groups.google.com/group/net.jokes) (tahun 1980). ROT13 biasanya digunakan di dalam forum online untuk menyandikan jawaban teka-teki, kuis, canda, dsb. Enkripsi arsip dua kali dengan ROT13 menghasilkan pesan semula: P = ROT13(ROT13(P)) sebab ROT13(ROT13(x)) = ROT26(x) = x • Jadi dekripsi cukup dilakukan dengan mengenkripsi cipherteks kembali dengan ROT13.

Jenis-Jenis Cipher Subtitusi
1. Cipher abjad-tunggal (monoalphabetic cipher) 
2. Cipher substitusi homofonik (Homophonic substitution cipher) 
3. Cipher abjad-majemuk (Polyalpabetic substitution cipher ) 
4. Cipher substitusi poligram (Polygram substitution 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: 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  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: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

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). Contoh: Sebuah teks dengan frekuensi kemunculan huruf huruf E muncul 13 % → dikodekan dengan 13 huruf homofon. Unit cipherteks mana yang dipilih diantara semua homofon ditentukan secara acak. Contoh: Plainteks: kripto Cipherteks: LV TA FI JA MS KP. Enkripsi: satu-ke-banyak. Dekripsi: satu-ke-satu. Dekripsi menggunakan tabel homofon yang sama.

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.
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 
• Plainteks: P = p1 p2 … pm pm+1 … p2m … • Cipherteks: Ek (P) = f 1 (p1 ) f 2 (p2 ) … fm (pm ) fm+1 (pm+1 ) … f 2m (p2m ) … • Untuk m = 1, cipher-nya ekivalen dengan cipher abjad-tunggal. 

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.

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) 
Dekripsi: Bagi panjang cipherteks dengan kunci. (Pada contoh ini, 30 / 6 = 5) DEKFI EMNOK PEIRA ANKMI RTIAT TENTB Plainteks: (baca secara vertikal) departemen teknik informatika itb.
Contoh lain: Plainteks: ITB GANESHA SEPULUH. Bagi menjadi blok-blok 8-huruf. Jika < 8, tambahkan huruf palsu. Cipherteks: STBAGNEIUASPEULHGABDCEFH

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: KROHZGORZOU

KRIPTOGRAFI KLASIK 2
Beberapa Cipher Klasik
1. Caesar Cipher
2. Vigenere Cipher
3. Playfair Cipher
4. Affine Cipher
5. Hill Cipher
6. Enigma Cipher

Vigènere Cipher
• Termasuk ke dalam cipher abjad-majemuk (polyalpabetic substitution
cipher ).
• Dipublikasikan oleh diplomat (sekaligus seorang kriptologis) Perancis,
Blaise de Vigènere) pada abad 16 (tahun 1586).
• Tetapi sebenarnya Giovan Batista Belaso telah menggambarkannya
pertama kali pada tahun 1553 seperti ditulis di dalam bukunya La Cifra
del Sig. Giovan Batista Belaso
• Algoritma tersebut baru dikenal luas 200 tahun kemudian yang oleh
penemunya cipher tersebut kemudian dinamakan Vigènere Cipher
Cipher ini berhasil dipecahkan oleh Babbage dan Kasiski pada
pertengahan Abad 19 (akan dijelaskan pada bahan kuliah selanjutnya).
• Vigènere Cipher digunakan oleh Tentara Konfiderasi (Confederate Army)
pada Perang Sipil Amerika (American Civil war).
• Perang Sipil terjadi setelah Vigènere Cipher berhasil dipecahkan.
• Vigènere Cipher menggunakan matriks Vigènere (Vigenere square) untuk
melakukan enkripsi.
Varian Vigenere Cipher
1. Full Vigènere cipher
2. Auto-Key Vigènere cipher
3. Running-Key Vigènere cipher

Playfair Cipher
• Termasuk ke dalam polygram cipher.
• Ditemukan oleh Sir Charles Wheatstone namun dipromosikan oleh
Baron Lyon Playfair pada tahun 1854.
• Cipher ini mengenkripsi pasangan huruf (bigram), bukan huruf
tunggal seperti pada cipher klasik lainnya.
• Tujuannya adalah untuk membuat analisis frekuensi menjadi sangat
sulit sebab frekuensi kemunculan huruf-huruf di dalam cipherteks
menjadi datar (flat).

Algoritma enkripsi:
1. Jika dua huruf terdapat pada baris kunci yang sama maka tiap huruf
diganti dengan huruf di kanannya (bersifat siklik).
2. Jika dua huruf terdapat pada kolom kunci yang sama maka tiap huruf
diganti dengan huruf di bawahnya (bersifat siklik).
3. Jika dua huruf tidak pada baris yang sama atau kolom yang sama,
maka:
• huruf pertama diganti dengan huruf pada perpotongan baris huruf pertama dengan kolom huruf kedua.
• huruf kedua diganti dengan huruf pada titik sudut keempat dari
persegi panjang yang dibentuk dari tiga huruf yang digunakan sampai sejauh ini.

Algoritma dekripsi
Kebalikan dari algoritma enkripsi. Langkahlangkahnya adalah sebagai berikut:
1. Jika dua huruf terdapat pada baris bujursangkar yang sama maka
tiap huruf diganti dengan huruf di kirinya.
2. Jika dua huruf terdapat pada kolom bujursangkar yang sama maka
tiap huruf diganti dengan huruf di atasnya.
3. Jika dua huruf tidak pada baris yang sama atau kolom yang sama,
maka huruf pertama diganti dengan huruf pada perpotongan baris
huruf pertama dengan kolom huruf kedua. Huruf kedua diganti
dengan huruf pada titik sudut keempat dari persegi panjang yang
dibentuk dari tiga huruf yang digunakan sampai sejauh ini.
4. Buanglah huruf X yang tidak mengandung makna

Artikel ini dibuat sebagai mana ugas kuliah yang tertera dalam : https://onlinelearning.uhamka.ac.id/?redirect=0

Nama : Tasya Nurul Laily
NIM : 2103015116



Comments

Popular posts from this blog

6 PERKERJAAN YANG MUNGKIN DIGANTIKAN AI OLEH [Tasya Nurulu Laily (2103015116)]

Tasya Nurul Laily : Pengantar Teknologi Infomatic 1C'21