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-Farizzy 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 mengetahui


informasi sangat pesat keamanan informasi informasi tersebut. Algoritma enkripsi
sangat dibutuhkan untuk menjaga agar vigenere cipher merupakan suatu teknik
informasi dapat tersampaikan pada pihak yang kriptografi klasik yang tergolong sebagai
tepat. Kriptografi menjadi dasar bagi metode substitusi abjad majemuk. Dalam
keamanan komputer karena yang menjadi pengimplementasian algoritma ini dapat
pokok dari fungsi komputer dan jaringan dianggap tidak aman setelah disusunnya
adalah data ataupun informasi. Vigenere metode Kasiski adalah salah satu metode yang
Cipher merupakan salah satu algoritma dapat memecahkan cipherteks yang telah
kriptografi klasik. dalam pengimplementasian dienkripsi melalui algoritma tersebut. Oleh
algoritma kriptografi Vigenere Cipher dapat karenanya itu diperlukan mengembangkan
dianggap tidak aman setelah disusunnya atau perbaikan pada algoritma Vigenere
metode kasiski yang dapat memecahkan Cipher. Pengembangan algoritma Vigenere
cipherteks. Pada kesempatan ini penulis Cipher dilakukan dengan penerapan kunci
mengembangkan algoritma Vigenere Cipher bergeser pada tiap karakternya dapat
dengan menggunakan source code python menghilangkan perulangan kunci dan
serta berbentuk enkripsi dan dekripsi text yang pembuatan tabel kunci baru menghasilkan
dapat diprogram dengan menggunakan indeks kunci yang acak.
software visual code studio. Hasil penelitian
ini adalah sebuah implementasi sistem B. Rumusan Masalah
kriptografi vigenere cipher dengan Python. Bagaimana proses Enkripsi dan Deskripsi
Pada pengembangan algoritma Vigenere dalam pengamanan pesan teks serta
Cipher ini diharapkan dapat menghilangkan Bagaimana merancang sebuah aplikasi
kelemahan pada perulangan kunci, dan dapat pengamanan pesan teks menggunakan
menghasilkan informasi dalam bentuk Algoritma Vigenere Chiper?
cipherteks yang sulit dipecahkan.
C. Batasan Masalah
Kata Kunci-Vigenere cipher, Kriptografi, Python,  Metode yang digunakan menggunakan
Visual Code studio Algoritma Vignere Chiper.
 Bahasa Pemrograman menggunakan
I. PENDAHULUAN
Bahasa Python serta menggunakan
A. Latar Belakang software Visual Code Studio.

Dalam bertukar informasi yang bersifat D. Tujuan dan Manfaat


rahasia dibutuhkan keamanan agar informasi
rahasia tidak jatuh pada pihak yang tidak Adapun Tujuan Penelitian ialah:
berhak. Disinilah kriptografi berperan menjaga
informasi rahasia tersebut agar pengguna atau
 Menjelaskan bagaimana proses Kriptografi (atau kriptologi; dari bahasa
Enkripsi dan Deskripsi dalam Yunani κρυπτός kryptós, "tersembunyi,
pengamanan pesan teks. rahasia"; dan γράφειν graphein, "menulis",
 Menjelaskan bagaimana cara kerja atau -λογία logi, "ilmu") merupakan keahlian
Algoritma Vigenere Cipher dalam dan ilmu dari cara-cara untuk komunikasi
pengamanan pesan teks. aman pada kehadirannya di pihak ketiga.
 Membangun sebuah aplikasi Secara umum, kriptografi ialah mengenai
pengamanan pesan teks menggunakan mengkonstruksi dan menganalisis protokol
Algoritma Vigenere Chiper. komunikasi yang dapat memblokir lawan;
berbagai aspek dalam keamanan informasi
Dan sebagai manfaat penelitian yang dapat seperti data rahasia, integritas data, autentikasi,
penulis uraikan adalah: dan non-repudansi merupakan pusat dari
kriptografi modern. Kriptografi modern terjadi
 Melindungi dan merahasiakan pesan
karena terdapat titik temu antara disiplin ilmu
teks yang akan dikirim dengan
matematika, ilmu komputer, dan teknik
menggunakan Algoritma Vigenere
elektro. Aplikasi dari kriptografi termasuk
Cipher
ATM, password komputer, dan E-commerce.
 Seseorang dapat mengirim suatu
informasi rahasia tanpa takut diketahui Kriptografi pada awalnya dijabar - kan
isi informasi tersebut terhadap orang sebagai ilmu yang mempelajari bagaimana
lain. menyembunyikan pesan. Namun pada
 Memberi kemudahan bagi pengguna pengertian modern kriptografi adalah ilmu
untuk mengirimkan informasi rahasia yang bersandarkan pada teknik
lewat pesan yang dikirim. matematikauntuk berurusan dengan keamanan
informasi seperti kerahasiaan, keutuhan data
II. Metodologi Penelitan dan otentikasi entitas. Jadi pengertian
kriptografi modern adalah tidak saja berurusan
hanya dengan penyembunyian pesan namun
Metode Penelitian yang digunakan dalam lebih pada sekumpulan teknik yang
Penlitian ini tentang pengembangan vigenere menyediakan keamanan informasi
didalam informatika dan menggunakan Teknik
enkripsi dan dekripsi yang digunakan B. Vigenere Cipher

Plaintext Vigenere cipher adalah metode


Cihpertext Plaintext
xt Kucin mengenkripsi teks alfabet dengan
menggunakan serangkaian caesar cipher yang
Gambar 1. Ilustrasi proses enkripsi dan deskripsi
berbeda berdasarkan huruf dari kata kunci dan
merupakan bentuk substitusi polyalphabetic
yang sederhana. Karakter yang digunakan
Pada teknik kriptografi ini
dalam Vigenere Cipher yaitu A, B, C, ..., Z
menggunakan konsep enkripsi dan deskripsi
dan dikonversi kedalam angka 0, 1, 2, ..., 25.
untuk penyelesaian kasusnya. Enkripsi adalah
Proses enkripsi dilakukan dengan menulis
suatu teknik penyandian data yang hanya bisa
kunci berulang kali sesuai dengan panjang
di buka dengan cara proses deskrpsi. Enkripsi
karakter pada pesan [9]. Jika pada Caesar
dilakukan pada perubahan suatu kode atau teks
cipher kuncinya hanya satu nilai saja, maka
yang mudah di pahami, disebut plaintext,
pada Vigenere cipher kunci yang digunakan
menjadi sebuah sandi acak yang sulit
berbentuk deretan huruf. Kunci yang berbetuk
dipahami, disebut ciphertext.Sedangkan proses
deretan kata tersebut akan memung-kinkan
deskripsi merupakan kebalikan dari proses
setiap huruf plainteks untuk dienkripsi dengan
enkripsi yaitu merubah kembali bentuk kode
kunci yang berbeda. Jika panjang kunci yang
yang tidak bisa dimengerti atau disebut
digunakan lebih pendek dari panjang plainteks
chipertext ke bentuk semula atau pesan yang
maka kunci akan diulang sampai panjang
bias dimengerti, disebut dengan plaintext
kunci sama dengan panjang plainteks.
dengan menggunakan kunci yang ada sesuai
Algoritma ini akan meminimalkan
aturan algoritma yang digunakan.
kemungkinan dipecahkannya ci-pherteks jika
A. Kriptografi satu huruf plainteks diketahui. Proses Enkripsi
dan Dekripsi pada Vigenere Cipher bekerja Salah satu cara untuk meningkatkan keamanan
dengan membaca kata per karakter, dimana data diperlukan kriptografi dengan metode
apabila pesan yang dikirim melebihi panjang enkripsi
kunci yang digunakan, maka kunci akan
diulang kembali sampai pesan yang dikirim E. Sandi Vigenere
tersebut mendapatkan kunci masing-masing, Vigenère cipher adalah juga sandi yang
Vigenere Cipher juga dapat menggunakan disebut sebagai “polyalphabetic”, dimana hal
sebuah tabel untuk menengkripsikan sebuah ini dimaksudkan bahwa sandi ini
plaintext yang mana tabel tersebut terdiri dari membutuhkan ratusan tahun untuk
26 baris dan kolom alphabet, dan tiap barisnya meretasnya. Sandi Vigenère memiliki sandi
akan digeser satu huruf ke kiri . Model yang kuat bahkan lebih kuat dari sandi-sandi
matematika dari enkripsi dan dekripsi pada yang sebelumnya yang memiliki kemungkinan
algoritma vigenere cipher adalah seperti kunci yang terlalu banyak hingga anda dapat
berikut: Ci = (Pi + Ki) mod 26 melakukan brute-force, bahkan hanya dengan
Sedangkan untuk proses dekripsi adalah : menggunakan pendeteksian bahasa. Namun
berbeda dengan sandi Vigenère yang tidak
Pi = (Ci – Ki)mod26 jika Ci-Ki > 0 Pi = ((Ci - dapat dirusak/diretas hanya dengan pola kata
Ki)+26)mod26 jika Ci-Ki < 0 yang bekerja pada sandi Subtitusi sederhana.
Hal ini dijelaskan pertama sekali oleh salah
Keterangan : seorang Kriptografer bernama Giovan Battista
C = Ciphertext (Pesan Acak) Bellaso lalu kemudian setelah sekian lama
dikembangkan oleh Blaise de Vigenère. Sandi
P = Plaintext (Pesan Asli) ini tidak dapat dirusak/diretas hingga akhirnya
seorang ahli komputer melakukannya pada
K = Kunci
abad ke-19 yaitu Charles Babbage. Dan sandi
Contoh : ini disebut “le chiffreindéchiffrable” dalam
bahasa Francis berarti “sandi yang tidak
Plaintext : SAYA BELAJAR terbaca”.
Kunci : SUKSES Sandi Vigenère hampir sama dengan sandi
Caesar, perbedaannya adalah pada Sandi
Plaintext S A Y A B E L A J A R
Vigenère menggunakan kunci perkalian.
Kunci S U K S E S S U K S E
Karena menggunakan lebih dari satu set
Cihpertext K U I S F W D U T S V
substitusi, maka hal ini disebut juga dengan
Tabel 1. Penyelesaan Vigenere Chiper
sandi polyalphabetic substitution. Pada sandi
C. Sistem Caesar terdapat kunci dari 0 hingga 25. Pada
sandi Vigenère menggunakan sandi angka
Sistem Sistem didefinisikan sebagai nomerik, kemungkinan anda akan
sekumpulan prosedur yang saling berkaitan menggunakan kunci huruf. Huruf A akan
dan saling terhubung untuk melakukan suatu digunakan pada kunci 0. Huruf B akan
tugas bersama-sama. Secara garis besar, menggunakan kunci 1, dan begitulah hingga
sebuah sistem informasi terdiri atas tiga mencapai Z pada kunci ke 25.
komponen utama. Ketiga komponen tersebut
mencakup software, hardware, dan brainware.
Ketiga komponen ini saling berkaitan satu
sama lainnya. III. HASIL DAN PEMBAHASAN

D. Keamanan Data
Keamanan data menjadi hal yang sangat A. Analisa Vigenere Chiper
penting pada saat ini karena untuk setiap Sandi Vigenère sebenarnya
pengambilan keputusan, kebijakan harus merupakan pengembangan dari sandi Caesar.
berdasarkan data. Banyak data yang berisikan Pada sandi Caesar, setiap huruf teks terang
informasi penting dan terbatas untuk diketahui digantikan dengan huruf lain yang memiliki
pihak yang terkait saja. Faktor keamanan data perbedaan tertentu pada urutan alfabet.
menjadi sangat penting dan harus diperhatikan. Misalnya pada sandi Caesar dengan geseran
3, A menjadi D, B menjadi E and dan pertama, kita mencari huruf H (huruf pertama
seterusnya. Sandi Vigenère terdiri dari teks tersandi) pada baris P (huruf pertama pada
beberapa sandi Caesar dengan nilai geseran kata kunci), yang terdapat pada kolom S,
yang berbeda. 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
kewarganegaraan kecuali untuk Tabula Recta
Gambar 2. Vigenere Cihper
yang akan dibuat di __init__.
Selain metodenya, kami memerlukan beberapa
Untuk menyandikan suatu pesan, digunakan fungsi utilitas untuk tugas-tugas berikut:
sebuah tabel alfabet yang disebut pada gambar
diatas. Tabel Vigenère berisi alfabet yang  Membuat Tabula Recta
dituliskan dalam 26 baris, masing-masing baris  Memproses teks biasa dengan
digeser satu urutan ke kiri dari baris menghapus apa pun selain huruf dan
sebelumnya, membentuk ke-26 kemungkinan mengubahnya menjadi huruf besar
sandi Caesar. Setiap huruf disandikan dengan  Membuat kata kunci panjang teks
menggunakan baris yang berbeda-beda, sesuai biasa dengan mengulang kata kunci
kata kunci yang diulang dasar
Misalnya, teks terang yang hendak disandikan
adalah perintah "Serbu Berlin": Proyek ini terdiri dari dua file Python :

Serbuberlin,Sedangkan kata kunci antara  vigenerecipher.py


pengirim dan tujuan adalah "Pizza"  vigenerecipherdemo.py
"PIZZA" diulang sehingga jumlah hurufnya
lalu, saya membuat code nya di visual studio
sama banyak dengan teks terang:
code seperti pada tampilan dibawah ini:
PIZZAPIZZAP Huruf pertama pada teks
terang, S, disandikan dengan menggunakan
baris berjudul P, huruf pertama pada kata
kunci. Pada baris P dan kolom S di tabel
Vigenère, terdapat huruf H. Demikian pula
untuk huruf kedua, digunakan huruf yang
terletak pada baris I (huruf kedua kata kunci)
dan kolom E (huruf kedua teks terang), yaitu
huruf M. Proses ini dijalankan terus sehingga.
Teks terlarang : serbuberlin
Kata kunci : PIZZAPIZZAP
Teks bersandi : HMQAUQMQKIC

Proses sebaliknya (disebut dekripsi),


dilakukan dengan mencari huruf teks bersandi
pada baris berjudul huruf dari kata kunci.
Misalnya, pada contoh di atas, untuk huruf
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 Deciphered:
bisa mengerti yang ini!) CINTAITUURUSANHATIHATITUURUSA
NALLAHMAKAJAGALAHHATIMUUNTU
Terakhir, __get_keyword_repeated KALLAHAGARALLAHHADIRKANUNTU
fungsi tersebut mengulang kata kunci KMUCINTAYANGTERJAGA
sebanyak yang diperlukan untuk membuat
string dengan panjang yang sama dengan teks
Hasil pengujian Vigenere Cipher asli pada
biasa.Jadi sekarang kita hanya perlu sedikit
contoh kalimat menunjukkan pengulangan
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
Gambar 6.Source code.py untuk keamanan isi dari pesan.

hanya membuat vignere chiper objek dan 2. Metode penyandian Vigenere Cipher


memanggil metodenya. Sekarang mari kita termasuk dalam kriptografi klasik dimana
jalankan. algoritma tersebut merupakan teknik enkripsi
yang paling sederhana dan banyak 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
Gambar 7.Source code.py hasil pada tabel ASCII dapat digunakan.

C. Pengujian Algoritma B.Saran

Pengujian Algorima Pada pengujian 1. Perbaikan dan pengembangan aplikasi


algoritma menggunakan kalimat bahasa pengamanan pesan teks yang dirancang
indonesia dengan kunci satu kata pada menggunakan python atau pun menggunakan
Vigenere Cipher standar dan pengembangan Bahasa pemrograman lainnya sangat
Vigenere Cipher. diperlukan untuk memenuhi kebutuhan
pengguna dalam berkomunikasi.
Plaintext: cinta itu urusan hati,hati itu urusan
Allah. Maka jagalah hatimu untuk Allah,agar 2. Pada penelitian selanjutnya aplikasi ini
Allah hadirkan untukmu cinta yang terjaga diharapkan dapat berkembang agar bisa lebih
berguna lagi, dengan mengembangkan fitur
Enciphered: lain agar penerapan algoritma kriptografi ini
UMACALTFUDXGAFLNCIKAEIUWIUJYF lebih efisien.
JNDLWATPOKSNNPAOASHMWWMMYA
CUNAWLMKOGSVNULDHSAPLFKSRHW
TXKXUOLBTSCNWGWECJMJO
V. REFERENSI RifkiSadikin,“Kriptografi untuk Keamanan
Jaringan”, Penerbit ANDI, Yogyakarta,
http://jurnal.univbinainsan.ac.id/index.php 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,
Vigenere Cipher (itugasmu.com) “ImplementasiVigenere Cipher Dengan
Random Key Metode Linear Feddback
ASCII - Wikipedia bahasa Indonesia, Shift Register (LFSR) Pada Teks”,
ensiklopedia bebas PelitaInformatika Budi Darma : V, Nomor :
https://en.wikipedia.org/wiki/Vigenère_ci 2 Desember 2013
pher File Finder · GitHub

Anda mungkin juga menyukai