Algoritma Vigenere

4
Algoritma Vigenere Kali ini saya akan menjelaskan tentang Kriptografi menggunakan Algoritma Vigenere, jika anda akan melakukan enkripsi pertama harus ada pesan yang akan di-enkripsi, lalu harus ada key (kunci) dan anda harus siapkan deretan abjad, karakter, dll, tapi dalam percobaan kali ini saya hanya menggunakan deretan abjad saja, dan deretan ini akan saya beri variabel 'mapVigenere'. Misal mapVigenere = "abcdefghijklmnopqrstuvwxyz " untuk sementara kita menggunakan abjad yang biasa, nanti jika ini sudah selesai silahkan anda tambah- tambahkan sendiri seperti huruf besar (kapital), karakter, dll. Misal pesan yang akan kita enkripsi adalah "sepeda" dan key (kunci)- nya adalah "frfrfr" kita harus melakukan perhitungan perkarakter jadi nantinya si-program akan membaca Pesan dan Key perkarakter. Key berfungsi sebagai kunci yang akan kita gunakan untuk peng-enkripsian, panjang key harus sama dengan panjang pesan dan mengikuti pola karena pola yang saya gunakan adalah fr, maka fr tersebut di ulang 3 kali, jika polanya adalah fra maka fra diulang sampai panjang key sama dengan panjang pesan. Berikut rumus dan aturan untuk enkripsi menggunakan vigenere : Ci = Pi + Ki Jika Ci > panjang mapVigenere maka Ci - panjang mapVigenere Ket : 1. Ci adalah chiper indeks ke i 2. Pi adalah pesan indeks ke i 3. Key adalah key indeks ke i Maksud indeks tersebut adalah nilai dari deret huruf, karakter, dll. Misal indeks Pi = 0 maka nilai Pi adalah s, karena s berada pada indeks 0, jika indeks Pi = 1 maka nilai Pi adalah e, karena e berada pada indeks 1. Untuk melakukan perhitungan dengan rumus tersebut pertama kita harus mengetahui nilai dari Pi dan Ki, jika indeks Pi = 0 maka Pi akan merejuk ke 's' dan jika indeks Ki = 0 maka Ki akan merujuk ke 'f', untuk mengambil nilai dari Pi = 's' dan Ki = 'f' kita bisa mencocokkan dengan mapVigenere yang tadi kita buat, coba kita cek huruf 's' dan 'f' berada pada posisi berapa, karena kita menggunakan indeks lakukan perhitungan mulai dari 0 - n, maka akan di peroleh nilai dari Pi = s --> 18 dan Ki = f --> 5, langsung kita tambahkan dengan rumus Ci = Pi

description

Vigenere

Transcript of Algoritma Vigenere

Algoritma VigenereKali ini saya akan menjelaskan tentang Kriptografi menggunakan Algoritma Vigenere, jika anda akan melakukan enkripsi pertama harus ada pesan yang akan di-enkripsi, lalu harus ada key (kunci) dan anda harus siapkan deretan abjad, karakter, dll, tapi dalam percobaan kali ini saya hanya menggunakan deretan abjad saja, dan deretan ini akan saya beri variabel 'mapVigenere'. Misal mapVigenere = "abcdefghijklmnopqrstuvwxyz " untuk sementara kita menggunakan abjad yang biasa, nanti jika ini sudah selesai silahkan anda tambah-tambahkan sendiri seperti huruf besar (kapital), karakter, dll.

Misal pesan yang akan kita enkripsi adalah "sepeda" dan key (kunci)-nya adalah "frfrfr" kita harus melakukan perhitungan perkarakter jadi nantinya si-program akan membaca Pesan dan Key perkarakter. Key berfungsi sebagai kunci yang akan kita gunakan untuk  peng-enkripsian, panjang key harus sama dengan panjang pesan dan mengikuti pola karena pola yang saya gunakan adalah fr, maka fr tersebut di ulang 3 kali, jika polanya adalah fra maka fra diulang sampai panjang key sama dengan panjang pesan. 

Berikut rumus dan aturan untuk enkripsi menggunakan vigenere :Ci = Pi + Ki

Jika Ci > panjang mapVigenere maka Ci - panjang mapVigenereKet : 1. Ci adalah chiper indeks ke i2. Pi adalah pesan indeks ke i3. Key adalah key indeks ke i

Maksud indeks tersebut adalah nilai dari deret huruf, karakter, dll. Misal indeks Pi = 0 maka nilai Pi adalah s, karena s berada pada indeks 0, jika indeks Pi = 1 maka nilai Pi adalah e, karena e berada pada indeks 1.

Untuk melakukan perhitungan dengan rumus tersebut pertama kita harus mengetahui nilai dari Pi dan Ki, jika indeks Pi = 0 maka Pi akan merejuk ke 's' dan jika indeks Ki = 0 maka Ki akan merujuk ke 'f', untuk mengambil nilai dari Pi = 's' dan Ki = 'f' kita bisa mencocokkan dengan mapVigenere yang tadi kita buat, coba kita cek huruf 's' dan 'f' berada pada posisi berapa, karena kita menggunakan indeks lakukan perhitungan mulai dari 0 - n, maka akan di peroleh nilai dari Pi = s --> 18 dan Ki = f --> 5, langsung kita tambahkan dengan rumus Ci = Pi + Ki, jadi Ci = 18 + 5 = 23, karena 23 < panjang mapVigenere maka kita biarkan saja nilai tersebut, okay nilai Ci-0 sudah ketemu, lalu kita akan mencari nilai Ci-1, Ci-2, samapai Ci-5.

Mencari nilai Ci-1Pi = e --> 4Ki = r -- > 17Ci = 4 + 17 = 21

Mencari nilai Ci-2Pi = p --> 15Ki = f -- >5

Ci = 4 + 17 = 20

Mencari nilai Ci-3Pi = e --> 4Ki = r -- > 17Ci = 4 + 17 = 21

Mencari nilai Ci-4Pi = d -->3Ki = f -- > 5Ci = 4 + 17 = 8

Mencari nilai Ci-5Pi = a --> 0Ki = r -- > 17Ci = 4 + 17 = 17

jadi, nilai deret Ci adalah 23, 21, 20, 21, 8, 17, dari deret inilah lalu kita mencocokkan dengan mapVigenere/mencari huruf dengan indeks ke 23, 21, dst jadi :Huruf indeks ke-23 : x Huruf indeks ke-21 : vHuruf indeks ke-20 : uHuruf indeks ke-21 : v Huruf indeks ke-8 : iHuruf indeks ke-17 : r   

Jadi, hasil enkripsi dari pesan "sepeda" menghasilkan chiper text (pesan terenkripsi) "xvuvir", ingat chiper text ini hasilnya akan berbeda tergantung pada mapVigenere dan Key,  

Okay sekerang proses enkripsi sudah selesai, lalu sekarang kita akan belajar bagaimana untuk men-dekripsikan chipertext tersebut, pertama harus ada chipertext dahulu (pesan terenkripsi) tidak mungkin mau mendekripsikan tanpa adanya chipertext tersebut :-p, lalu persyaratan berikutnya harus mengetahui mapViginere dan Key, kedua persyaratan ini isi/nilainya harus sama waktu kita melakukan proses enkripsi tadi, jika tidak sama maka pesan yang didekripsikan tidak bisa kembali seperti semula.

Berikut rumus dan aturan untuk dekripsi menggunakan vigenere :Ci = Pi - Ki

Jika Ci < 0 maka Ci + panjang mapVigenereKet : 1. Ci adalah chiper indeks ke i2. Pi adalah pesan indeks ke i3. Key adalah key indeks ke i

Caranya sama kita akan mencari nilai Ci-0 sampai Ci-5.Mencari nilai Ci-0

Pi = x --> 23Ki = f -- > 5Ci = 23 - 5 = 18

Mencari nilai Ci-1Pi = v --> 21Ki = r -- > 17Ci = 21 - 17 = 4

Mencari nilai Ci-2Pi = u --> 20Ki = f -- > 5Ci = 20 - 5 = 15

Mencari nilai Ci-3Pi = v --> 21Ki = r -- > 17Ci = 21 - 17 = 4

Mencari nilai Ci-4Pi = i --> 8Ki = f -- > 5Ci = 8 - 5 = 3

Mencari nilai Ci-5Pi = r --> 17Ki = r -- > 17Ci = 17 - 17 = 0

Dari proses diatas diperoleh deret bilangan Ci = 18, 4, 15, 4, 3, 0, lalu dari deret ini silahkan anda cocokkan ke mapVigenere, maka :Ci-0 --> 18 = sCi-1 --> 4 = e Ci-2 --> 15 = pCi-3 --> 4 = eCi-4 --> 3 = dCi-5 --> 0 = a

Jadi, hasil dekripsi dari chipertext "xvuvir" adalah "sepeda" , Jika anda ingin tahu seperti apa programnya silahkan klik disini, tapi ingat passwordnya masih manual jadi anda harus mengulang pola passwordnya dan aplikasi ini hanya menerima inputan huruf besar saja dan masih belum bisa membaca spasi, karakter dan lain-lain.

Good luck, See u on next share :-)