Kripto Klasik Oleh Irwan
• 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 QBAREHOLA
• Atau membuang semua spasi: DZDVLDVWHULAGDQWHPDQQBAREHOLA
• Tujuannya agar kriptanalisis menjadi lebih sulit
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
Jenis-jenis Cipher Substitusi:
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
#Cipher Substitusi Homofonik
• 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
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.
#Cipher substitusi poligram
• 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.
#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.
#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