19
Algoritma Kriptografi Klasik (Bagian 2) Bahan Kuliah ke-5 IF5054 Kriptografi Algoritma Kriptografi Klasik (Bagian 2) Disusun oleh: Ir. Rinaldi Munir, M.T. Rinaldi Munir/IF5054 Kriptografi 0

PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Embed Size (px)

Citation preview

Page 1: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

Bahan Kuliah ke-5

IF5054 Kriptografi

Algoritma Kriptografi Klasik (Bagian 2)

Disusun oleh:

Ir. Rinaldi Munir, M.T.

Departemen Teknik InformatikaInstitut Teknologi Bandung

2004

Rinaldi Munir/IF5054 Kriptografi 0

Page 2: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

4.7 Vigènere Cipher

Vigènere Cipher mungkin adalah contoh terbaik dari cipher abjad-majemuk (polyalpabetic substitution chiper ) ‘manual’. Algoritma ini ditemukan oleh diplomat (sekaligus seorang kriptologis) Perancis, Blaise de Vigènere pada abad 16.

Vigènere Cipher dipubliksikan pada tahun 1856, tetapi algoritma tersebut baru dikenal luas 200 tahun kemudian dan berhasil dipecahkan oleh Babbage dan Kasiski pada pertengahan Abad 19.

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. Hal ini diilustrasikan oleh kutipan pernyataan Jenderal Ulysses S. Grant: “It would sometimes take too long to make translation of intercepted dispatches for us to receive any benefit from them, but sometimes they gave useful information”.

Vigènere Cipher menggunakan Bujursangkar Vigènere untuk melakukan enkripsi (lihat Gambar 4.1). Kolom paling kiri dari bujursangkar menyatakan huruf-huruf kunci, sedangkan baris paling atas menyatakan huruf-huruf plainteks.

Setiap baris di dalam bujursangkar menyatakan huruf-huruf cipherteks yang diperoleh dengan Caesar Cipher, yang mana jauh pergeseran huruf plainteks ditentukan nilai desimal oleh huruf kunci tersebut (di sini, a = 0, b = 1, c = 2, …, z = 25).Sebagai contoh, huruf kunci c (= 2) menyatakan huruf plainteks digeser sejauh 2 huruf ke kanan (dari susunan alfabetnya).

Rinaldi Munir/IF5054 Kriptografi 1

Page 3: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

Plainteks

Kunci

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

a 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 Zb 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 Ac C D E F G H I J K L M N O P Q R S T U V W X Y Z A Bd 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 Ce 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 Df F G H I J K L M N O P Q R S T U V W X Y Z A B C D Eg G H I J K L M N O P Q R S T U V W X Y Z A B C D E Fh H I J K L M N O P Q R S T U V W X Y Z A B C D E F Gi I J K L M N O P Q R S T U V W X Y Z A B C D E F G Hj J K L M N O P Q R S T U V W X Y Z A B C D E F G H IK K L M N O P Q R S T U V W X Y Z A B C D E F G H I Jl L M N O P Q R S T U V W X Y Z A B C D E F G H I J Km M N O P Q R S T U V W X Y Z A B C D E F G H I J K Ln N O P Q R S T U V W X Y Z A B C D E F G H I J K L Mo O P Q R S T U V W X Y Z A B C D E F G H I J K L M Np P Q R S T U V W X Y Z A B C D E F G H I J K L M N Oq Q R S T U V W X Y Z A B C D E F G H I J K L M N O Pr R S T U V W X Y Z A B C D E F G H I J K L M N O P Qs S T U V W X Y Z A B C D E F G H I J K L M N O P Q Rt T U V W X Y Z A B C D E F G H I J K L M N O P Q R Su U V W X Y Z A B C D E F G H I J K L M N O P Q R S Tv V W X Y Z A B C D E F G H I J K L M N O P Q R S T Uw W X Y Z A B C D E F G H I J K L M N O P Q R S T U Vx X Y Z A B C D E F G H I J K L M N O P Q R S T U V Wy Y Z A B C D E F G H I J K L M N O P Q R S T U V W Xz Z 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

Gambar 4.1 Bujursangkar Vigènere

Rinaldi Munir/IF5054 Kriptografi 2

Page 4: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

Bursangkar Vigènere digunakan untuk memperoleh cipherteks dengan menggunakan kunci yang sudah ditentukan. Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang penggunaannya (sistem periodik). Bila panjang kunci adalah m, maka periodenya dikatakan m.

Sebagai contoh, jika plainteks adalah THIS PLAINTEXT dan kunci adalah sony, maka penggunaan kunci secara periodik adalah sebagai berikut:

Plainteks: THIS PLAINTEXTKunci: sony sonysonys

Setiap huruf plainteks akan dienkripsi dengan setiap huruf kunci di bawahnya.

Untuk melakukan enkripsi dengan Vigènere Cipher, lakukan pada Bujursangkar Vigènere sebagai berikut: tarik garis vertikal dari huruf plainteks ke bawah, lalu tarik garis mendatar dari huruf kunci ke kanan. Perpotongan kedua garis tersebut menyatakan huruf cipherteksnya.

Sebagai contoh untuk plainteks di atas, tarik garis vertikal dari huruf T dan tarik garis mendatar dari huruf s, perpotongannya adalah pada kotak yang berisi huruf L (lihat Gambar 4.2)

Dengan cara yang sama, tarik garis vertikal dari huruf H dan tarik garis mendatar dari huruf r, perpotongannya adalah pada kotak yang juga berisi huruf V.

Rinaldi Munir/IF5054 Kriptografi 3

Page 5: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

Plainteks

Kunci

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

a 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 Zb 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 Ac C D E F G H I J K L M N O P Q R S T U V W X Y Z A Bd 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 Ce 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 Df F G H I J K L M N O P Q R S T U V W X Y Z A B C D Eg G H I J K L M N O P Q R S T U V W X Y Z A B C D E Fh H I J K L M N O P Q R S T U V W X Y Z A B C D E F Gi I J K L M N O P Q R S T U V W X Y Z A B C D E F G Hj J K L M N O P Q R S T U V W X Y Z A B C D E F G H IK K L M N O P Q R S T U V W X Y Z A B C D E F G H I Jl L M N O P Q R S T U V W X Y Z A B C D E F G H I J Km M N O P Q R S T U V W X Y Z A B C D E F G H I J K Ln N O P Q R S T U V W X Y Z A B C D E F G H I J K L Mo O P Q R S T U V W X Y Z A B C D E F G H I J K L M Np P Q R S T U V W X Y Z A B C D E F G H I J K L M N Oq Q R S T U V W X Y Z A B C D E F G H I J K L M N O Pr R S T U V W X Y Z A B C D E F G H I J K L M N O P Qs S T U V W X Y Z A B C D E F G H I J K L M N O P Q Rt T U V W X Y Z A B C D E F G H I J K L M N O P Q R Su U V W X Y Z A B C D E F G H I J K L M N O P Q R S Tv V W X Y Z A B C D E F G H I J K L M N O P Q R S T Uw W X Y Z A B C D E F G H I J K L M N O P Q R S T U Vx X Y Z A B C D E F G H I J K L M N O P Q R S T U V Wy Y Z A B C D E F G H I J K L M N O P Q R S T U V W Xz Z 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

Gambar 4.2 Enkripsi huruf T dengan kunci f

Hasil enkripsi seluruhnya adalah sebagai berikut:

Plainteks : THIS PLAINTEXTKunci : sony sonysonysCipherteks : LVVQ HZNGFHRVL

Amatilah bahwa huruf plainteks T dapat dienkripsi menjadi L atau H, dan huruf cipherteks V dapat merepresentasikan huruf plainteks H, I, dan X.

Rinaldi Munir/IF5054 Kriptografi 4

Page 6: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

Hal di atas merupakan karakteristik dari cipher abjad-majemuk. Pada cipher substitusi sederhana, setiap huruf cipherteks selalu menggantikan huruf plainteks tertentu, sedangkan pada cipher abjad-majemuk setiap huruf cipherteks dapat memiliki kemungkinan banyak huruf plainteks.

Jadi, dengan menggunakan Vigènere Cipher, kita dapat mencegah frekuensi huruf-huruf di dalam cipherteks yang mempunyai pola tertentu yang sama sebagaimana yang diperlihatkan pada cipher substitusi sederhana (cipher abjad-tunggal).

Dekripsi pada Vigènere Cipher dilakukan dengan cara yang berkebalikan, yaitu menarik garis mendatar dari huruf kunci sampai ke huruf cipherteks yang dituju, lalu dari huruf cipherteks tarik garis vertikal ke atas sampai ke huruf plainteks.

Untuk memecahkan Vigènere Cipher, cukup menentukan kuncinya. Jika periode kunci diketahui dan tidak terlalu panjang, maka kunci dapat ditentukan dengan menulis program komputer untuk melakukan exhaustive key search.

Sebagai contoh, jika diberikan cipherteks yang dihasilkan dengan Vigènere Cipher:

TGCSZ GEUAA EFWGQ AHQMC

dan diperoleh informasi bahwa panjang kunci adalah 3 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. Cara ini membutuhkan usaha percobaan sebanyak 26p kali. Semakin

Rinaldi Munir/IF5054 Kriptografi 5

Page 7: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

panjang kunci (semakin besar periode), semakin banyak usaha percobaan yang harus dilakukan.

4.8 Playfair Cipher

Termasuk ke dalam polygram cipher (salah satu tipe dari cipher substitusi – lihat bahan kuliah ke-4)

Ditemukan oleh Sir Charles Wheatstone dan Baron Lyon Playfair pada tahun 1854. Playfair Cipher digunakan oleh tentara Inggris pada Perang Boer (Perang Dunia I).

Kunci kriptografinya adalah 25 buah huruf yang disusun di dalam bujursangkat 5x5 dengan menghilangkan huruf J dari abjad. Setiap elemen bujursangkar berisi huruf yang berbeda satu sama lian.

Contoh kunci:

S T A N DE R C H BK F G I LM O P Q UV W X Y Z

Jumlah kemungkinan kunci

25!=15.511.210.043.330.985.984.000.000

Rinaldi Munir/IF5054 Kriptografi 6

Page 8: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

Susunan kunci di dalam bujursangkar diperluas dengan menambahkan kolom keenam dan baris keenam

Baris ke-6 = baris ke-1Kolom ke-6 = kolom ke-1

Pesan yang akan dienkripsi diatur terlebih dahulu sebagai berikut:

1. Ganti huruf J (bila ada) dengan huruf. I2. Tulis pesan dalam pasangan huruf (bigram).3. Jangan sampai ada pasangan huruf yang sama. Jika ada,

sisipkan Z di tengahnya4. Jika jumlah huruf ganjil,tambahkan huruf Z di akhir

Contoh plainteks: GOOD BROOMS SWEEP CLEAN→ Tidak ada huruf J, maka langsung tulis pesan dalam pasangan huruf:

GO OD BR OZ OM SZ SW EZ EP CL EA NZ

Algoritma enkripsi sebagai berikut:

1. Jika ada dua huruf terdapat pada baris kunci yang sama maka tiap huruf diganti dengan huruf di kanannya (pada kunci yang sudah diperluas).

Rinaldi Munir/IF5054 Kriptografi 7

S T A N D SE R C H B EK F G I L KM O P Q U MV W X Y Z VS T A N D

Page 9: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

2. Jika dua huruf terdapat pada kolom kunci yang sama maka tiap huruf diganti dengan huruf di bawahnya (pada kunci yang sudah diperluas)

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 3 huruf yang digunakan sampai sejauh ini.

Contoh: Kunci (yang sudah diperluas) ditulis kembali sebagai berikut:S T A N D SE R C H B EK F G I L KM O P Q U MV W X Y Z VS T A N D

Plainteks (dalam pasangan huruf):GO OD BR OZ OM SZ SW EZ EP CL EA NZ

Cipherteks:FP UT EC UW PO DV TV BV CM BG CS DY

Enkripsi OD menjadi UT ditunjukkan pada bujursangkar di bawah ini:

titik sudut ke-4

S T A N D S S T A N D SE R C H B E E R C H B EK F G I L K K F G I L KM O P Q U M M O P Q U MV W X Y Z V V W X Y Z VS T A N D S T A N D

Kunci dapat dipilih dari sebuah kalimat yang mudah diingat, misalnya:

Rinaldi Munir/IF5054 Kriptografi 8

Page 10: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

JALAN GANESHA SEPULUH

Buang huruf yang berulang dan huruf J jika ada:

ALNGESHPU

Lalu tambahkan huruf-huruf yang belum ada (kecuali J):

ALNGESHPUBCDFIKMOQRTVWXYZ

Masukkan ke dalam bujursangkar:

A L N G ES H P U BC D F I KM O Q R TV W X Y Z

Algoritma dekripsi kebalikan dari algoritma enkripsi. Caranya, untuk setiap pasangan huruf cipherteks, tentukan titik sudut empat persegi panjang yang terbentuk dari pasangan huruf tersebut. Dua huruf titik sudut menyatakan pasangan huruf cipherteks, sedangkan dua huruf pada titik sudut yang lain menyatakan pasangan huruf plainteksnya. Urutan huruf pada pasangan plainteks tersebut mengikuti arah empat persegipanjang yang dibentuk oleh pasangan huruf cipherteks.

4.9 Enigma Cipher

Rinaldi Munir/IF5054 Kriptografi 9

Page 11: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

Enigma adalah mesin yang digunakan Jerman selama Perang Dunia II untuk mengenkripsi/dekripsi pesan-pesan militer. Mesin ini juga sekaligus mampu mengirim dan menerima pesan (Gambar 4.3).

Gambar 4.3 Mesin Enigma

Mekanisme yang digunakan Enigma untuk enkripsi/dekripsi pesan sangat rumit. Enigma menggunakan sistem rotor

Rinaldi Munir/IF5054 Kriptografi 10

Page 12: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

(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.

Gambar 4.4 Rotor

Enigma menggunakan 4 buah rotor untuk melakukan substitusi. Ini berarti terdapat 26 26 26 26 = 456.976 kemungkinan huruf cipherteks sebagai pengganti huruf plainteks sebelum terjadi perulangan urutan cipherteks.

Penjelasaannya adalah sbb: setiap kali sebuah huruf selesai disubstitusi, rotor pertama bergeser satu huruf ke atas. Setiap kali rotor pertama selesai bergeser 26 kali, rotor kedua juga melakukan hal yang sama, demikian seteusnya untuk rotor ketiga dan keempat.

Rinaldi Munir/IF5054 Kriptografi 11

Page 13: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

Posisi awal keempat rotor dapat di-set; dan posisi awal ini menyatakan kunci dari Enigma.

Untuk memahami mekanisme enkripsi pada Enigma, jalankan program simulasi Enigma yang dapat anda download di http://mail.informatika.org/~rinaldi.

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 2 tahun.

4.10 Super Enkripsi

Mengkombinasikan metode cipher substitusi dengan cipher transposisi.

Tujuan: memperoleh cipher yang lebih kuat daripada hanya satu cipher saja.

Mula-mula enkripsi dengan cipher substitusi sederhana (cipher abjad-tunggal), lalu hasilnya dienkripsi lagi dengan cipher transposisi.

Contoh: Plainteks: HELLO WORLDEnkripsi dengan caesar cipher menjadi:

Chiperteks1: KHOOR ZRUOG

Rinaldi Munir/IF5054 Kriptografi 12

Page 14: PLAYFAIR CIPHERinformatika.stei.itb.ac.id/~rinaldi.munir/Kriptografi... · Web view4.10 Super Enkripsi Mengkombinasikan metode cipher substitusi dengan cipher transposisi. Tujuan:

Algoritma Kriptografi Klasik (Bagian 2)

Kemudian enkripsi lagi dengan cipher transposisi (k = 4):

KHOORZRUOGZZ

Cipherteks akhir adalah:

Cipherteks2: KROHZGORZOUZ

Banyak dari algoritma kriptografi modern yang diacu sebagai hasil dari super enkripsi yang menggunakan sejumlah algoritma kriptografi yang secara komparatif lemah.

Rinaldi Munir/IF5054 Kriptografi 13