Anda di halaman 1dari 7

Penggunaan Serta Pengembangan Vigenere Cipher Untuk

Informatika
Dul Kipli Kurniawan, Muhammadiyyah Sumatera muhammadevansyah5@gmail.
Program Studi Sistem Utara(UMSU), Binjai, com
Informasi(SI), Universitas Sumatera Utara,
Muhammadiyyah Sumatera alfarizzy591@gmail.com Mega Bangun
Utara(UMSU), Program Studi Sistem
Kutacane,Aceh Muhammad Evansyah, Informasi(SI), Universitas
bungazahara17@gmail.com Program Studi Sistem Muhammadiyyah Sumatera
Informasi(SI), Universitas Utara(UMSU) , Medan,
Muhammad Fariz Al-Farisi Muhammadiyyah Sumatera Sumatera Utara
Program Studi Sistem Utara(UMSU), mega25bangun@gmail.com
Informasi(SI), Universitas Medan Marelan,Sumatera utara

ABSTRAK-Perkembangan teknologi pihak yang berhak saja yang dapat


informasi sangat pesat keamanan informasi mengetahui informasi tersebut. Algoritma
sangat dibutuhkan untuk menjaga agar enkripsi vigenere cipher merupakan suatu
informasi dapat tersampaikan pada pihak yang teknik kriptografi klasik yang tergolong
tepat. Kriptografi menjadi dasar bagi keamanan sebagai metode substitusi abjad majemuk.
komputer karena yang menjadi pokok dari Dalam pengimplementasian algoritma ini
fungsi komputer dan jaringan adalah data
dapat dianggap tidak aman setelah
ataupun informasi. Vigenere Cipher merupakan
disusunnya metode Kasiski adalah salah satu
salah satu algoritma kriptografi klasik. dalam
pengimplementasian algoritma kriptografi metode yang dapat memecahkan cipherteks
Vigenere Cipher dapat dianggap tidak aman yang telah dienkripsi melalui algoritma
setelah disusunnya metode kasiski yang dapat tersebut. Oleh karenanya itu diperlukan
memecahkan cipherteks. Pada kesempatan ini mengembangkan atau perbaikan pada
penulis mengembangkan algoritma Vigenere algoritma Vigenere Cipher. Pengembangan
Cipher dengan menggunakan source code algoritma Vigenere Cipher dilakukan dengan
python serta berbentuk enkripsi dan dekripsi penerapan kunci bergeser pada tiap
text yang dapat diprogram dengan karakternya dapat menghilangkan perulangan
menggunakan software visual code studio. kunci dan pembuatan tabel kunci baru
Hasil penelitian ini adalah sebuah implementasi menghasilkan indeks kunci yang acak.
sistem kriptografi vigenere cipher dengan
Python. Pada pengembangan algoritma B. Rumusan Masalah
Vigenere Cipher ini diharapkan dapat
menghilangkan kelemahan pada perulangan Bagaimana proses Enkripsi dan Deskripsi
kunci, dan dapat menghasilkan informasi dalam dalam pengamanan pesan teks serta Bagaimana
bentuk cipherteks yang sulit dipecahkan. merancang sebuah aplikasi pengamanan pesan
teks menggunakan Algoritma Vigenere Chiper?
Kata Kunci-Vigenere cipher, Kriptografi, Python,
Visual Code studio C. Batasan Masalah
 Metode yang digunakan menggunakan
I. PENDAHULUAN Algoritma Vignere Chiper.
 Bahasa Pemrograman menggunakan
A. Latar Belakang Bahasa Python serta menggunakan
Dalam bertukar informasi yang bersifat software Visual Code Studio.
rahasia dibutuhkan keamanan agar informasi
rahasia tidak jatuh pada pihak yang tidak D. Tujuan dan Manfaat
berhak. Disinilah kriptografi berperan menjaga Adapun Tujuan Penelitian ialah:
informasi rahasia tersebut agar pengguna atau
 Menjelaskan bagaimana proses dengan menggunakan kunci yang ada sesuai
Enkripsi dan Deskripsi dalam aturan algoritma yang digunakan.
pengamanan pesan teks.
A. Kriptografi
 Menjelaskan bagaimana cara kerja
Algoritma Vigenere Cipher dalam Kriptografi (atau kriptologi; dari bahasa
pengamanan pesan teks. Yunani κρυπτός kryptós, "tersembunyi,
 Membangun sebuah aplikasi rahasia"; dan γράφειν graphein, "menulis", atau
pengamanan pesan teks menggunakan -λογία logi, "ilmu") merupakan keahlian dan
Algoritma Vigenere Chiper. ilmu dari cara-cara untuk komunikasi aman pada
kehadirannya di pihak ketiga. Secara umum,
Dan sebagai manfaat penelitian yang dapat kriptografi ialah mengenai mengkonstruksi dan
penulis uraikan adalah: menganalisis protokol komunikasi yang dapat
 Melindungi dan merahasiakan pesan memblokir lawan; berbagai aspek dalam
teks yang akan dikirim dengan keamanan informasi seperti data rahasia,
menggunakan Algoritma Vigenere integritas data, autentikasi, dan non-repudansi
Cipher merupakan pusat dari kriptografi modern.
 Seseorang dapat mengirim suatu Kriptografi modern terjadi karena terdapat titik
informasi rahasia tanpa takut diketahui temu antara disiplin ilmu matematika, ilmu
isi informasi tersebut terhadap orang komputer, dan teknik elektro. Aplikasi dari
lain. kriptografi termasuk ATM, password komputer,
 Memberi kemudahan bagi pengguna dan E-commerce.
untuk mengirimkan informasi rahasia Kriptografi pada awalnya dijabar - kan
lewat pesan yang dikirim. sebagai ilmu yang mempelajari bagaimana
menyembunyikan pesan. Namun pada
II. Metodologi Penelitan pengertian modern kriptografi adalah ilmu yang
bersandarkan pada teknik matematikauntuk
Metode Penelitian yang digunakan dalam berurusan dengan keamanan informasi seperti
Penlitian ini tentang pengembangan vigenere kerahasiaan, keutuhan data dan otentikasi entitas.
didalam informatika dan menggunakan Teknik Jadi pengertian kriptografi modern adalah tidak
enkripsi dan dekripsi yang digunakan saja berurusan hanya dengan penyembunyian
pesan namun lebih pada sekumpulan teknik yang
Plaintext Cihpertext Plaintext menyediakan keamanan informasi
Kucin
xt B. Vigenere Cipher
Gambar 1. Ilustrasi proses enkripsi dan deskripsi
Vigenere cipher adalah metode
mengenkripsi teks alfabet dengan menggunakan
Pada teknik kriptografi ini serangkaian caesar cipher yang berbeda
menggunakan konsep enkripsi dan deskripsi berdasarkan huruf dari kata kunci dan
untuk penyelesaian kasusnya. Enkripsi adalah merupakan bentuk substitusi polyalphabetic
suatu teknik penyandian data yang hanya bisa yang sederhana. Karakter yang digunakan dalam
di buka dengan cara proses deskrpsi. Enkripsi Vigenere Cipher yaitu A, B, C, ..., Z dan
dilakukan pada perubahan suatu kode atau teks dikonversi kedalam angka 0, 1, 2, ..., 25. Proses
yang mudah di pahami, disebut plaintext, enkripsi dilakukan dengan menulis kunci
menjadi sebuah sandi acak yang sulit berulang kali sesuai dengan panjang karakter
dipahami, disebut ciphertext.Sedangkan proses pada pesan [9]. Jika pada Caesar cipher kuncinya
deskripsi merupakan kebalikan dari proses hanya satu nilai saja, maka pada Vigenere cipher
enkripsi yaitu merubah kembali bentuk kode kunci yang digunakan berbentuk deretan huruf.
yang tidak bisa dimengerti atau disebut Kunci yang berbetuk deretan kata tersebut akan
chipertext ke bentuk semula atau pesan yang memung-kinkan setiap huruf plainteks untuk
bias dimengerti, disebut dengan plaintext dienkripsi dengan kunci yang berbeda. Jika
panjang kunci yang digunakan lebih pendek
dari panjang plainteks maka kunci akan
diulang sampai panjang kunci sama dengan
panjang plainteks. Algoritma ini akan D. Keamanan Data
meminimalkan kemungkinan dipecahkannya
ci-pherteks jika satu huruf plainteks diketahui. Keamanan data menjadi hal yang sangat
Proses Enkripsi dan Dekripsi pada Vigenere penting pada saat ini karena untuk setiap
Cipher bekerja dengan membaca kata per pengambilan keputusan, kebijakan harus
karakter, dimana apabila pesan yang dikirim berdasarkan data. Banyak data yang berisikan
melebihi panjang kunci yang digunakan, maka informasi penting dan terbatas untuk diketahui
kunci akan diulang kembali sampai pesan yang pihak yang terkait saja. Faktor keamanan data
dikirim tersebut mendapatkan kunci masing- menjadi sangat penting dan harus diperhatikan.
masing, Vigenere Cipher juga dapat Salah satu cara untuk meningkatkan keamanan
menggunakan sebuah tabel untuk data diperlukan kriptografi dengan metode
menengkripsikan sebuah plaintext yang mana enkripsi
tabel tersebut terdiri dari 26 baris dan kolom E. Sandi Vigenere
alphabet, dan tiap barisnya akan digeser satu
huruf ke kiri . Model matematika dari enkripsi Vigenère cipher adalah juga sandi yang
dan dekripsi pada algoritma vigenere cipher disebut sebagai “polyalphabetic”, dimana hal
adalah seperti berikut: Ci = (Pi + Ki) mod 26 ini dimaksudkan bahwa sandi ini
membutuhkan ratusan tahun untuk
Sedangkan untuk proses dekripsi adalah : meretasnya. Sandi Vigenère memiliki sandi
Pi = (Ci – Ki)mod26 jika Ci-Ki > 0 Pi = ((Ci - yang kuat bahkan lebih kuat dari sandi-sandi
Ki)+26)mod26 jika Ci-Ki < 0 yang sebelumnya yang memiliki kemungkinan
kunci yang terlalu banyak hingga anda dapat
Keterangan : melakukan brute-force, bahkan hanya dengan
menggunakan pendeteksian bahasa. Namun
C = Ciphertext (Pesan Acak)
berbeda dengan sandi Vigenère yang tidak
P = Plaintext (Pesan Asli) dapat dirusak/diretas hanya dengan pola kata
yang bekerja pada sandi Subtitusi sederhana.
K = Kunci
Hal ini dijelaskan pertama sekali oleh salah
Contoh : seorang Kriptografer bernama Giovan Battista
Bellaso lalu kemudian setelah sekian lama
Plaintext : SAYA BELAJAR dikembangkan oleh Blaise de Vigenère. Sandi
Kunci : SUKSES ini tidak dapat dirusak/diretas hingga akhirnya
seorang ahli komputer melakukannya pada
Plaintext S A Y A B E L A J A R abad ke-19 yaitu Charles Babbage. Dan sandi
Kunci S U K S E S S U K S E ini disebut “le chiffreindéchiffrable” dalam
Cihpertext K U I S F W D U T S V bahasa Francis berarti “sandi yang tidak
Tabel 1. Penyelesaan Vigenere Chiper terbaca”.
C. Sistem Sandi Vigenère hampir sama dengan sandi
Sistem Sistem didefinisikan sebagai Caesar, perbedaannya adalah pada Sandi
sekumpulan prosedur yang saling berkaitan dan Vigenère menggunakan kunci perkalian. Karena
saling terhubung untuk melakukan suatu tugas menggunakan lebih dari satu set substitusi, maka
bersama-sama. Secara garis besar, sebuah sistem hal ini disebut juga dengan sandi polyalphabetic
informasi terdiri atas tiga komponen utama. substitution. Pada sandi Caesar terdapat kunci dari
Ketiga komponen tersebut mencakup software, 0 hingga 25. Pada sandi Vigenère menggunakan
hardware, dan brainware. Ketiga komponen ini sandi angka nomerik, kemungkinan anda akan
saling berkaitan satu sama lainnya. menggunakan kunci huruf. Huruf A akan
digunakan pada kunci 0. Huruf B akan
menggunakan kunci 1, dan begitulah hingga Vigenère, terdapat huruf H. Demikian pula
mencapai Z pada kunci ke 25. untuk huruf kedua, digunakan huruf yang
terletak pada baris I (huruf kedua kata kunci)
dan kolom E (huruf kedua teks terang), yaitu
III. HASIL DAN PEMBAHASAN huruf M. Proses ini dijalankan terus sehingga.
Teks terlarang : serbuberlin
A. Analisa Vigenere Chiper Kata kunci : PIZZAPIZZAP
Teks bersandi : HMQAUQMQKIC
Sandi Vigenère sebenarnya merupakan
pengembangan dari sandi Caesar. Pada sandi
Caesar, setiap huruf teks terang digantikan dengan Proses sebaliknya (disebut dekripsi),
huruf lain yang memiliki perbedaan tertentu pada dilakukan dengan mencari huruf teks bersandi
urutan alfabet. Misalnya pada sandi Caesar pada baris berjudul huruf dari kata kunci.
dengan geseran Misalnya, pada contoh di atas, untuk huruf
3, A menjadi D, B menjadi E and dan pertama, kita mencari huruf H (huruf pertama
seterusnya. Sandi Vigenère terdiri dari beberapa teks tersandi) pada baris P (huruf pertama pada
sandi Caesar dengan nilai geseran yang berbeda. kata kunci), yang terdapat pada kolom S,
sehingga huruf pertama adalah S.
Lalu M terdapat pada baris I di kolom E,
sehingga diketahui huruf kedua teks terang
adalah E, dan seterusnya hingga didapat perintah
"serbuberlin".
B. mengimplementasikan Vigenère Cipher
Saya akan mengimplementasikan Vigenère
Cipher sebagai kelas dengan dua metode, satu
untuk menyandikan dan satu lagi untuk
menguraikan. Teks biasa, teks terenkripsi, dan
kata kunci akan menjadi argumen metode
sehingga kelas akan menjadi tanpa
Gambar 2. Vigenere Cihper
kewarganegaraan kecuali untuk Tabula Recta
Untuk menyandikan suatu pesan, yang akan dibuat di __init__.
digunakan sebuah tabel alfabet yang Selain metodenya, kami memerlukan beberapa
disebut pada gambar diatas. Tabel Vigenère fungsi utilitas untuk tugas-tugas berikut:
berisi alfabet yang dituliskan dalam 26 baris,
masing-masing baris digeser satu urutan ke  Membuat Tabula Recta
kiri dari baris sebelumnya, membentuk ke-26  Memproses teks biasa dengan
kemungkinan sandi Caesar. Setiap huruf menghapus apa pun selain huruf dan
disandikan dengan menggunakan baris yang mengubahnya menjadi huruf besar
berbeda-beda, sesuai kata kunci yang diulang  Membuat kata kunci panjang teks
biasa dengan mengulang kata kunci
Misalnya, teks terang yang hendak disandikan dasar
adalah perintah "Serbu Berlin":
Serbuberlin,Sedangkan kata kunci antara Proyek ini terdiri dari dua file Python :
pengirim dan tujuan adalah "Pizza"
 vigenerecipher.py
"PIZZA" diulang sehingga jumlah hurufnya  vigenerecipherdemo.py
sama banyak dengan teks terang:
PIZZAPIZZAP Huruf pertama pada teks lalu, saya membuat code nya di visual studio
terang, S, disandikan dengan menggunakan code seperti pada tampilan dibawah ini:
baris berjudul P, huruf pertama pada kata
kunci. Pada baris P dan kolom S di tabel
Gambar 5.Source Code.py bagian 3

Gambar 3.Source Code.py bagian 1 Pertama-tama perhatikan bahwa kami


mengimpor re(Regex).Dalam __init__kami
hanya menggunakan __create_tabula_recta.
The_create_tabula_recta fungsi itu sendiri
adalah sedikit fiddly karena seperti yang kita
mengisi baris kita harus menambahkan offset
setiap kali yang kemudian bertambah. Setiap
kali ini dilakukan kita perlu memeriksa apakah
itu telah berjalan di akhir alfabet. Kalau begitu
kita kurangi 26 saja untuk kembali ke awal.

Berikutnya adalah enciphermetode yang


pertama-tama mendapatkan versi yang diproses
dari teks biasa dan versi berulang dari kata kunci,
dan kemudian membuat daftar kosong untuk
huruf yang dienkripsi.
Kemudian kami mengulang huruf teks
biasa, menghitung indeks dari dua huruf pada
pasangan saat ini, mengurangi 65 dari kode
ASCII. Kemudian ada dua implementasi dari
Gambar 4.Source Code.py bagina 2 penyandian yang sebenarnya, satu menggunakan
Tabula Recta dan yang lainnya menggunakan
aljabar. Kami kemudian menambahkan huruf
terenkripsi dan setelah loop bergabung dengan
daftar untuk membuat dan mengembalikan teks
terenkripsi sebagai string.
The decipherMetode bekerja di sangat
banyak cara yang sama, dan lagi memberikan
Anda pilihan Tabula Recta atau implementasi
aljabar.
The __process_plaintext Fungsi
menggunakan Regex sangat sederhana
untuk menghapus semuanya kecuali
huruf AZ. (Regex membuat otakku sakit
tapi bahkan aku bisa mengerti yang ini!)
Terakhir, __get_keyword_repeated KALLAHAGARALLAHHADIRKANUNTU
fungsi tersebut mengulang kata kunci KMUCINTAYANGTERJAGA
sebanyak yang diperlukan untuk membuat
string dengan panjang yang sama dengan Hasil pengujian Vigenere Cipher asli pada
teks biasa.Jadi sekarang kita hanya perlu contoh kalimat menunjukkan pengulangan
sedikit kode untuk mencobanya. Dengan kata atau karakter yang sama pada teks. Yang
menggunakan file yang kedua. dalam artian menunjukkan bahwasanya
aplikasi tersebut berhasil dijalankan dan
digunakan.

IV. KESIMPULAN DAN SARAN

A. Kesimpulan
1. Keamanan pesan teks dapat
diimplementasikan dengan metode
enkripsi, salah satunya adalah enkripsi
vigenere cipher. Dimana proses pesan
yang dikirim atau diterima dapat diubah
dengan metode viginere untuk keamanan
isi dari pesan.
Gambar 6.Source code.py 2. Metode penyandian Vigenere Cipher
termasuk dalam kriptografi klasik dimana
hanya membuat vignere chiper objek dan algoritma tersebut merupakan teknik
memanggil metodenya. Sekarang mari kita enkripsi yang paling sederhana dan banyak
jalankan. digunakan.
3. Pada proses pengenkripsian digunakan
rumus mod 256 dalam mode ASCII.
Supaya tidak hanya 26 karakter saja yang
dapat diproses melainkan semua karakter
yang ada pada tabel ASCII dapat
digunakan.
Gambar 7.Source code.py hasil B. Saran
1. Perbaikan dan pengembangan aplikasi
C. Pengujian Algoritma pengamanan pesan teks yang
dirancang menggunakan python atau
Pengujian Algorima Pada pengujian pun menggunakan Bahasa
algoritma menggunakan kalimat bahasa pemrograman lainnya sangat
indonesia dengan kunci satu kata pada diperlukan untuk memenuhi kebutuhan
Vigenere Cipher standar dan pengembangan pengguna dalam berkomunikasi.
Vigenere Cipher. 2. Pada penelitian selanjutnya aplikasi
ini diharapkan dapat berkembang agar
Plaintext: cinta itu urusan hati,hati itu urusan bisa lebih berguna lagi, dengan
Allah. Maka jagalah hatimu untuk Allah,agar mengembangkan fitur lain agar
Allah hadirkan untukmu cinta yang terjaga penerapan algoritma kriptografi ini
lebih efisien.
Enciphered:
UMACALTFUDXGAFLNCIKAEIUWIUJYF
JNDLWATPOKSNNPAOASHMWWMMYA
CUNAWLMKOGSVNULDHSAPLFKSRHW
TXKXUOLBTSCNWGWECJMJO

Deciphered:
CINTAITUURUSANHATIHATITUURUSA
NALLAHMAKAJAGALAHHATIMUUNTU
V. REFERENSI
RifkiSadikin,“Kriptografi untuk Keamanan
http://jurnal.univbinainsan.ac.id/index.php Jaringan”, Penerbit ANDI, Yogyakarta, 2012.
/jti/article/view/451
Rinaldi Munir, “Kriptografi”, Penerbit
https://www.academia.edu/34788898/Krip Informatika, Bandung, 2006.
tografi_dan_Python_pd
Dody Indra Harahap, “ImplementasiVigenere
Vigenere Cipher (itugasmu.com) Cipher Dengan Random Key Metode Linear
Feddback Shift Register (LFSR) Pada Teks”,
ASCII - Wikipedia bahasa Indonesia,
PelitaInformatika Budi Darma : V, Nomor :2
ensiklopedia bebas
Desember 2013
https://en.wikipedia.org/wiki/Vigenère_ci
File Finder · GitHub
pher

Anda mungkin juga menyukai