KRIPTOGRAFI KLASIK [agustino]

 

Kriptografi Klasik 2

Beberapa Cipher Klasik

  1. Caesar Cipher 
  2. Vigenere Cipher 
  3. Playfair Cipher 
  4. Affine Cipher Hill Cipher 
  5. 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 Ciphe
  • 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.


  • Setiap baris di dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh dengan Caesar Cipher. Artinya, setiap baris i merupakan pergeseran huruf alfabet sejauh i ke kanan



  • Kunci adalah string: K = k1 k2 … km ki untuk 1< i <m menyatakan huruf-huruf alfabet 
  • Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang secara periodik. 
  • Misalkan panjang kunci m = 10, maka 10 huruf pertama plainteks dienkripsi dengan kunci K, setiap huruf ke-i menggunakan kunci ki . 
Contoh: kunci = sony 
Plainteks: thisplaintext 
Kunci: sonysonysonys 

Untuk 10 karakter berikutnya, kembali menggunakan pola enkripsi yang sama.

Enkripsi dilakukan dengan mencari titik potong huruf plainteks dengan huruf kunci:


Hasil enkripsi seluruhnya adalah sebagai berikut: 
Plainteks : thisplaintext 
Kunci : sonysonysonys 
Cipherteks : LVVQHZNGFHRVL 

Pada dasarnya, setiap enkripsi huruf plainteks pj adalah Caesar cipher dengan kunci ki yang berbeda-beda: 
Enkripsi: cj = E(pj ) = (pj + ki ) mod 26 (1) 
Dekripsi: pj = D(cj ) = (cj – ki ) mod 26 (2) 
(t + s) mod 26 = (19 + 18) mod 26 = 37 mod 26 = 11 = L 
(h + o) mod 26 = (7 + 14) mod 26 = 21 mod 26 = 21 = V, dst

Huruf plainteks yang sama tidak selalu dienkripsi menjadi huruf cipheteks yang sama pula, bergantung huruf kunci yang digunakan. 
     Contoh: huruf plainteks T dapat dienkripsi menjadi L atau H, dan huruf cipherteks V dapat merepresentasikan huruf plainteks H, I, dan X 

Hal di atas merupakan karakteristik dari cipher abjad-majemuk: setiap huruf cipherteks dapat memiliki kemungkinan banyak huruf plainteks. 

Pada cipher substitusi sederhana, setiap huruf cipherteks selalu menggantikan huruf plainteks tertentu.

Plainteks: Semburan lumpur panas di desa Porong, Sidoarjo, Jawa Timur belum juga berakhir. Sudah beberapa desa tenggelam. Entah sudah berapa rumah, bangunan, pabrik, dan sawah yang tenggelam. Sampai kapan semburan lumpur berhenti, tiada yang tahu. Teknologi manusia tidak berhasil menutupi lubang semburan. Jika semburan lumpur tidak berhenti juga, mungkin Jawa Timur akan tenggelam 

Kunci: langitbiru 

Cipherteks: YMFCCIUY LHSXNS XRHLS QO LXTI GICOAM, ABEWRLUO, WGET UQDOC BRRCF KCXU MEEGSAJZ. JOOAU HMUFZRJL DRYI MFVXAPLNS. MGUIY MFDNN JXSIGU CUZGP, UBVXOYAA, VIUSQB, XLN FGETI GRHR TRTOZFTRG.

DAZVIB LIGUY SRSJNSIE FFMCAZ UFZYYYTV, ZQTEI PUYG GGPN. UMBHZLBMQ FBVLMTA GOLTL JVLSAFOT FFVLNFPV RCUBVX MPMOAZTO. RZEL SRSJNSIE FFMCAZ MJLRE MEENMGUQ AORA, ZAVZLQE DLWN ZQFVZ RELN KVZHMCUX

Vigènere Cipher dapat mencegah frekuensi huruf-huruf di dalam cipherteks yang mempunyai pola tertentu yang sama seperti pada cipher abjad-tunggal. 

Jika periode kunci diketahui dan tidak terlalu panjang, maka kunci dapat ditentukan dengan menulis program komputer untuk melakukan exhaustive key search

Contoh: Diberikan cipherteks sbb:

 TGCSZ GEUAA EFWGQ AHQMC 

dan diperoleh informasi bahwa panjang kunci adalah p huruf dan plainteks ditulis dalam Bahasa Inggris, maka running program dengan mencoba semua kemungkinan kunci yang panjangnya tiga huruf, lalu periksa apakah hasil dekripsi dengan kunci tersebut menyatakan kata yang berarti.

Varian Vigenere Cipher 

1. Full Vigènere cipher 

  • Setiap baris di dalam tabel tidak menyatakan pergeseran huruf, tetapi merupakan permutasi huruf-huruf alfabet. 
  • Misalnya pada baris a susunan huruf-huruf alfabet adalah acak seperti di bawah ini:

2. Auto-Key Vigènere cipher 

  • Jika panjang kunci lebih kecil dari panjang plainteks, maka kunci disambung dengan plainteks tersebut. 
  • Misalnya, 
Pesan: negara penghasil minyak 
Kunci: INDO 
maka kunci tersebut disambung dengan plainteks semula sehingga panjang kunci menjadi sama dengan panjang plainteks: 
• Plainteks : negarapenghasilminyak
• Kunci : INDONEGARAPENGHASILMI 

3. Running-Key Vigènere cipher 

Kunci adalah string yang sangat panjang yang diambil dari teks bermakna (misalnya naskah proklamasi, naskah Pembukaan UUD 1945, terjemahan ayat di dalam kitab suci, dan lain-lain).
Misalnya, 
Pesan: negarapenghasilminyak 
Kunci: KEMANUSIAANYANGADILDA (NBERADAB)

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)
Kunci kriptografinya 25 buah huruf yang disusun di dalam bujursangkat 5x5 dengan menghilangkan huruf J dari abjad.


Jumlah kemungkinan kunci: 25!=15.511.210.043.330.985.984.000.00

Algoritma dekripsi kebalikan dari algoritma enkripsi. Langkah-langkahnya 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
  • Karena ada 26 huruf abjad, maka terdapat 26 x 26 = 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 huruf TH 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.










Komentar

Postingan Populer