Beberapa Algoritma Kriptografi Klasik Haida Dafitri, ST, M.Kom
Playfair Cipher Termasuk ke dalam polygram cipher. Ditemukan oleh Sir Charles Wheatstone namun dipromosikan oleh Baron Lyon Playfair pada tahun 4. Sir Charles Wheatstone Baron Lyon Playfair
Cipher ini mengenkripsi pasangan huruf (digram atau digraf), bukan huruf tunggal seperti pada cipher klasik lainnya. Tujuannya adalah untuk membuat analisis frekuensi menjadi sangat sulit sebab frekuensi kemunculan hurufhuruf di dalam cipherteks menjadi datar (flat). Haida Dafitri, ST, M.Kom
Kunci kriptografinya buah huruf yang disusun di dalam bujursangkat x dengan menghilangkan huruf J dari abjad. Pesan yang akan dienkripsi diatur terlebih dahulu sebagai berikut:. Ganti huruf J (bila ada) dengan I. Tulis pesan dalam pasangan huruf (bigram).. Jangan sampai ada pasangan huruf yang sama. Jika ada, sisipkan Z di tengahnya 4. Jika jumlah huruf ganjil,tambahkan huruf Z di akhir 4 Haida Dafitri, ST, M.Kom
Algoritma enkripsi:. Jika dua huruf terdapat pada baris kunci yang sama maka tiap huruf diganti dengan huruf di kanannya.. Jika dua huruf terdapat pada kolom kunci yang sama maka tiap huruf diganti dengan huruf di bawahnya.. 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 huruf yang digunakan sampai sejauh ini. Haida Dafitri, ST, M.Kom
Contoh: Dik : Plainteks Kunci Dit C..? : PRODI INFORMATIKA : Kriptografi Penyelesaian : Perhatikan karakter pada Plaintkes Tidak ada huruf J, maka langsung tulis pesan dalam pasangan huruf: PR OD IZ IN FO RM AT IK AZ 6 Haida Dafitri, ST, M.Kom
Susunan kunci di dalam bujursangkar * K R I P T O G A F B C D E H L M N Q S U V W X Y Z 7 Haida Dafitri, ST, M.Kom
Maka proses akhir PLAINTEKS : PR OD IZ IN FO RM AT IK AZ CIPHER TEKS :TI GC TX RQ BG KN BI PR BX Haida Dafitri, ST, M.Kom
Karena ada 6 huruf abjad, maka terdapat 6 x 6 = 677 bigram, sehingga identifikasi bigram individual lebih sukar. Sayangnya ukuran poligram di dalam Playfair cipher tidak cukup besar, hanya dua huruf sehingga Playfair cipher tidak aman. Meskipun Playfair cipher sulit dipecahkan dengan analisis frekuensi relatif hurufhuruf, namun ia dapat dipecahkan dengan analisis frekuensi pasangan huruf. Dalam Bahasa Inggris kita bisa mempunyai frekuensi kemunculan pasangan huruf, misalnya pasangan hurufth dan HE paling sering muncul. Dengan menggunakan tabel frekuensi kemunculan pasangan huruf di dalam Bahasa Inggris dan cipherteks yang cukup banyak, Playfair cipher dapat dipecahkan. Haida Dafitri, ST, M.Kom
Enigma Cipher Enigma adalah mesin yang digunakan Jerman selama Perang Dunia II untuk mengenkripsi/dekripsi pesanpesan militer. 0
Haida Dafitri, ST, M.Kom
Enigma menggunakan sistem rotor (mesin berbentuk roda yang berputar) untuk membentuk huruf cipherteks yang berubah-ubah. Setelah setiap huruf dienkripsi, rotor kembali berputar untuk membentuk huruf cipherteks baru untuk huruf plainteks berikutnya. Haida Dafitri, ST, M.Kom
Enigma menggunakan 4 buah rotor untuk melakukan substitusi. Ini berarti terdapat 6 6 6 6 = 46.76 kemungkinan huruf cipherteks sebagai pengganti huruf plainteks sebelum terjadi perulangan urutan cipherteks. Setiap kali sebuah huruf selesai disubstitusi, rotor pertama bergeser satu huruf ke atas. Setiap kali rotor pertama selesai bergeser 6 kali, rotor kedua juga melakukan hal yang sama, demikian untuk rotor ke- dan ke-4. 4
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 4 6 4 6 7 0 4 6 0 0 4 6 0 6 7 4 6 4 6 4 6 7 0 4 6 0 4 0 6 4 4 6 4 7 0 6 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 4 6 7 0 4 6 0 4 6 6 0 0 4 4 6 6 7 4 Arah gerakan rotor Slow rotor Medium rotor Fast rotor 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 4 6 4 6 7 0 4 6 0 0 4 6 0 6 7 4 6 4 6 4 6 7 0 4 6 0 4 0 6 4 4 6 4 7 0 6 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 Arah gerakan rotor Slow rotor Medium rotor Fast rotor 4 6 0 0 4 4 6 6 7 6 4 6 7 0 4 6 0 4 (a) Kondisi rotor pada penekanan huruf A (b) Posisi rotor stelah penekanan huruf A
Posisi awal keempat rotor dapat di-set; dan posisi awal ini menyatakan kunci dari Enigma. Jerman meyakini bahwa cipherteks yang dihasilkan Enigma tidak mungkin dipecahkan. Namun, sejarah membuktikan bahwa pihak Sekutu berhasil juga memecahkan kode Enigma. Keberhasilan memecahkan Enigma dianggap sebagai faktor yang memperpendek Perang Dunia II menjadi hanya tahun. 6
Affine Cipher Perluasan dari Caesar cipher Enkripsi: C mp + b (mod n) Dekripsi: P m (C b) (mod n) Kunci: m dan b Keterangan:. n adalah ukuran alfabet. m bilangan bulat yang relatif prima dengan n. b adalah jumlah pergeseran 4. Caesar cipher adalah khusus dari affine cipher dengan m =. m adalah inversi m (mod n), yaitu m m (mod n)
Contoh: Plainteks: KRIPTO (0 4) n = 6, ambil m = 7 (7 relatif prima dengan 6) Enkripsi: C 7P + 0 (mod 6) p = 0 c 7 0 + 0 0 (mod 6) (huruf C ) p = c 7 + 0 (mod 6) (huruf Z ) p = c 7 + 0 66 4 (mod 6) (huruf O ) p 4 = c 4 7 + 0 (mod 6) (huruf L ) p = c 7 + 0 4 (mod 6) (huruf N ) p 6 = 4 c 7 4 + 0 0 4 (mod 6) (huruf E ) Cipherteks: CZOLNE
Dekripsi: - Mula-mula hitung m - yaitu 7 (mod 6) dengan memecahkan 7x (mod 6) Solusinya: x (mod 6) sebab 7 = 0 (mod 6). - Jadi, P (C 0) (mod 6) c = p ( 0) = 0 0 (mod 6) (huruf K ) c = p ( 0) = (mod 6) (huruf R ) c = 4 p (4 0) = 60 (mod 6) (huruf I ) c 4 = p 4 ( 0) = (mod 6) (huruf P ) c = p ( 0) = 4 (mod 6) (huruf T ) c 6 = 4 p 6 (4 0) = 0 4 (mod 6) (huruf O ) Plainteks yang diungkap kembali: KRIPTO
Affine cipher tidak aman, karena kunci mudah ditemukan dengan exhaustive search, sebab ada pilihan untuk b dan buah nilai m yang relatif prima dengan 6 (yaitu,,, 7,,,,,,,, dan ). 0
Salah satu cara memperbesar faktor kerja untuk exhaustive key search: enkripsi tidak dilakukan terhadap huruf individual, tetapi dalam blok huruf. Misal, pesan KRIPTOGRAFI dipecah menjadi kelompok 4-huruf: KRIP TOGR AFI (ekivalen dengan 00 406 0000, dengan memisalkan A = 0, B =,, Z = )
Nilai terbesar yang dapat muncul untuk merepresentasikan blok: (ZZZZ), maka dapat digunakan sebagai modulus n. Nilai m yang relatif prima dengan, misalnya 04, b dipilih antara dan, misalnya 00. Fungsi enkripsi menjadi: C 04P + 00 (mod ) Fungsi dekripsi, setelah dihitung, menjadi P 47 (C 00) (mod )
Affine cipher mudah diserang dengan known-plaintext attack. Misalkan kriptanalis mempunyai dua buah plainteks, P dan P, yang berkoresponden dengan cipherteks C dan C, maka m dan b mudah dihitung dari buah kekongruenan simultan berikut ini: C mp + b (mod n) C mp + b (mod n)
Contoh: Misalkan kriptanalis menemukan cipherteks C dan plainteks berkorepsonden K cipherteks E dan plainteks berkoresponden O. Kriptanalis m dan n dari kekongruenan berikut: 0m + b (mod 6) (i) 4 4m + b (mod 6) (ii) Kurangkan (ii) dengan (i), menghasilkan 4m (mod 6) (iii) Solusi: m = 7 Substitusi m = 7 ke dalam (i), 70 + b (mod 6) (iv) Solusi: b = 0. 4
Cipher lainnya. Hill cipher - Dikembangkan oleh Lester Hill () - Menggunakan m buah persamaan linier - Untuk m = (enkripsi setiap huruf), C = (k p + k p + k p ) mod 6 C = (k p + k p + k p ) mod 6 C = (k p + k p + k p ) mod 6 atau: C C C k k k k k k k k k p p p atau C = KP
Dekripsi perlu menghitung K - sedemikian sehingga KK - = I (I matriks identitas). Contoh: K = Plainteks: PAYMOREMONEY Enkripsi tiga huruf pertama: PAY = (, 0, 4) Cipherteks: C = 0 4 7 mod6 46 = LNS Cipherteks selengkapnya: LNSHDLEWMTRW 6
IF04 Kriptografi 7 Dekripsi, K - = sebab 0 4 6 4 0 0 0 0 0 0 mod6 6 44 70 4 44 44 44 0 4 6 4
Dekripsi: P = K - C Cipherteks: LNS atau C = (,, ) Plainteks: 4 4 0 6 4 44 mod6 70 0 4 C = (, 0, 4) = (P, A, Y)
Kekuatan Hill cipher terletak pada penyembunyian frekuensi huruf tunggal Huruf plainteks yang sama belum tentu dienkripsi menjadi huruf cipherteks yang sama.
0 Hill cipher mudah dipecahkan dengan known-plaintext attack. Misalkan untuk Hill cipher dengan m = diketahui: P = (, ) C = (, 6) P = (, ) C = (, ) Jadi, K(, ) = (, 6) dan K(, ) = (, ) Inversi dari P adalah Sehingga 6 K KP C P 7 mod6 6 K