A. Vigenere Cipher
Vigenere Cipher merupakan salah satu cipher yang terkenal. Vigenere Cipher termasuk cipher substitusi abjad-majemuk. Vigenere Cipher dipublikasikan pada tahun 1856 dan dapat dipecahkan oleh Babbage dan Kasiski pada pertengahan abad 19.
Proses enkripsi dan dekripsi pada Vigenere Cipher menggunakan bujursangkar Vigenere. Kolom paling kiri menyatakan huruf-huruf kunci, baris paling atas menyatakan huruf-huruf plainteks.
Proses Enkripsi dan Dekripsi Vigenere Cipher
1. Enkripsi
Pembentukan Tabel:
- Susun alphabet A..Z pada baris 1
- Baris 2 terjadi 1 kali pergeseran (shifting).
- Baris 3 terjadi 2 kali pergeseran.
- Demikian hingga baris terakhir terjadi 25 kali pergeseran.
- Buatlah alphabet di atas dan di kanan sebagai penunjuk
Key Generation
- Panjang kunci <= panjang pesan.
- Jika panjang kunci < Message length, kunci baru dibentuk dengan menulis alphabet kunci secara berulang hingga panjang kunci = panjang message.
2. Dekripsi
- Tempatkan alphabet kunci pada sisi kiri tabel berdasarkan baris.
- Telusuri sepanjang baris tersebut hingga ditemukan alphabet ciphertext.
- Index kolom lokasi alphabet ciphertext berada merupakan alphabet plaintext
Contoh:
1. Enkripsi
Misalnya:
Key : BLOG
Pesan : RASAMAUTAU
Keyword | B | L | O | G | B | L | O | G | B | L |
Plaintext | R | A | S | A | M | A | U | T | A | U |
Bisa kita lihat key di atas diulang-ulang sehingga memiliki panjang yang sama dengan pesan.
- Berdasarkan kolom, temukan alphabet plaintext pada sisi atas tabel.
- Berdasarkan baris, temukan alphabet kunci pada sisi kiri tabel.
- Ciphertext dihasilkan dengan mengintersek baris dan kolom tersebut
- Hal yang sama dilakukan untuk alphabet plaintext dan kunci berikutnya
- Dan cara yang sama untuk huruf berikutnya
- Maka diperoleh ciphertex
RASAMAUTAU = SLGGNLIZBF
2. Dekripsi
Untuk mendekripsi ciphertex tersebut tinggal kita masukkan kembali kedalam table alphabet tersebut
B. Hill Chipper
Hill Cipher ini menerapkan konsep matrik persegi dan bilangan modulo pada matematika. Hill Cipher ini diciptakan oleh Lester S.Hill pada tahun 1929. Sebelum mulai kita belajar, pertama kita harus melakukan index untuk setiap abjad. Misal seperti pada gambar berikut.
Misal kita telah menentukan index untuk abjad dari A sampai Z, mulai dari 0 sampai dengan 25 seperti pada gambar diatas. Setelah itu misal matrik yang akan kita gunakan adalah 2x2 seperti pada gambar berikut:
Proses enkripsi akan dibagi menjadi blok-blok sesuai dengan banyak kolom dari matrik yang akan digunakan. Pada kasus ini, karena kita menggunakan matrik 2x2, maka masing-masing blok akan berisi 2 karakter. Misalkan kata yang akan kita enkripsi adalah JULY. Pembagian blok-bloknya akan menjadi seperti berikut :
J U = 9 , 20
L Y = 11 , 24
Sekarang kita lakukan perkalian matriknya.
Berdasarkan index yang telah kita ketahui sebelumnya maka hasil enkripsi menjadi D (3) , E (4) , L (11) , W (22). Hasil akhirnya JULY = DELW.
Misal kita telah menentukan index untuk abjad dari A sampai Z, mulai dari 0 sampai dengan 25 seperti pada gambar diatas. Setelah itu misal matrik yang akan kita gunakan adalah 2x2 seperti pada gambar berikut:
Proses enkripsi akan dibagi menjadi blok-blok sesuai dengan banyak kolom dari matrik yang akan digunakan. Pada kasus ini, karena kita menggunakan matrik 2x2, maka masing-masing blok akan berisi 2 karakter. Misalkan kata yang akan kita enkripsi adalah JULY. Pembagian blok-bloknya akan menjadi seperti berikut :
J U = 9 , 20
L Y = 11 , 24
Sekarang kita lakukan perkalian matriknya.
Berdasarkan index yang telah kita ketahui sebelumnya maka hasil enkripsi menjadi D (3) , E (4) , L (11) , W (22). Hasil akhirnya JULY = DELW.
0 komentar:
Posting Komentar