• Tidak ada hasil yang ditemukan

Implementasi Algoritma Vigenere Subtitusi dengan Shift Indeks Prima

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Algoritma Vigenere Subtitusi dengan Shift Indeks Prima"

Copied!
6
0
0

Teks penuh

(1)

149

Implementasi Algoritma Vigenere Subtitusi

dengan Shift Indeks Prima

Muslim Ramli

Magister Teknik Informatika, Universitas Sumatera Utara muslimramli@students.usu.ac.id

Rahmadi Asri

Magister Teknik Informatika, Universitas Sumatera Utara rahmadiasri@students.usu.ac.id

Muhammad Zarlis

Magister Teknik Informatika, Universitas Sumatera Utara m.zarlis@usu.ac.id

Abstrak

Kriptografi klasik seperti vigenere cipher merupakan salah satu algoritma kriptografi yang implementasinya sangat sederhana namun cukup kuat di zamannya. Setelah ditemukan metode kasiski, maka vigenere cipher sangat mudah untuk dianalisis oleh kriptanalis sehingga mendapatkan kunci kriptografinya. Hal ini disebabkan karena masih ada keterhubungan yang erat antara cipher, plainteks dan kunci kriptografi. Algoritma vigenere cihper ternyata dapat dimodifikasi dan dibuat pengamanan berlapis, begitu juga dengan kunci untuk proses enkripsi dan sebaliknya. Penambahan lapis kemanaan shift indeks prima dianggap dapat menambah langkah untuk memecahkan informasi rahasia.

Keywords: Kriptografi, Vigenere, Cipher, plaintext, ciphertext, bilangan prima, kriptanaslis

I. LATAR BELAKANG

Keamanan data dan informasi merupakan hal sangat penting di era reformasi saat ini. Umumnya, setiap institusi memiliki dokumen-dokumen penting dan bersifat rahasia yang hanya boleh diakses oleh orang tertentu. Sistem informasi yang dikembangkan harus menjamin keamanan dan kerahasiaan dokumen-dokumen tersebut. Namun kendalanya bahwa media-media

yang digunakan seringkali dapat disadap oleh pihak lain [1].

Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. (Cryptography is the art and science of keeping

messages secure) “Crypto” berarti “secret” (rahasia)vdan “graphy” berarti “writing”

(2)

150 digunakan untuk proses enkripsi dan dekripsi.

Biasanya persamaan kedua matematik (untuk enkripsi dan dekripsi) tersebut memiliki hubungan matematis yang cukup erat [2].

Salah satu algoritma kriptografi klasik yang terkenal adalah Vigenere Cipher. Vigenere Cipher merupakan bentuk pola alphabetic subtitution seperti yang diungkapkan Caesar Chiper, namun menambahkan kunci lebih aman. Ide ini sudah diterapkan berkali-kali, namun pada tahun 1553 metode ini baru dikemukakan oleh Giovan Battista Bellaso di bukunya La cifra del. Sig. Giovan Battista Bellaso. Algoritma ini akhirnya terkenal dengan nama Vigenere Cipher karena pada tahun 1586 Blaise de Vigenere mempublikasikan ide yang sama namun dengan generator kunci yang lebih kuat, yaitu autokey cipher, Hallim (2010: 3).

Vigenere Cipher sangat terkenal karena mudah untuk dimplementasikan. Metode ini juga cukup kuat untuk menghindari kriptanalis yang menggunakan analisis frekuensi.Pada masa kejayaannya, sistem ini disebut sebagai le chiffre indechifferable. Hingga akhirnya seseorang bernama Frederich Kasiski dapat membuat metode yang efisien dalam memecahkan cipher vigenere.

Algoritma kriptografi klasik seperti Vigenere Cipher sudah ditinggalkan oleh orang-orang karena cukup mudah dianalisis oleh kriptanalis. Apalagi dengan teknologi yang sudah ada saat ini dan ditemukannya metode kasiski, maka bila ingin menggunakan Vigenere Cipher ini dengan aman, kita perlu melakukan modifikasi dari cara sistem ini bekerja. Cara yang diusulkan kali ini adalah meng-generate sebuah urutan kunci secara random dari kunci yang telah disepakati bersama.

II. TINJAUAN PUSTAKA

1. Kriptografi

Kriptografi adalah ilmu dan seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya. Dalam ilmu kriptografi, terdapat dua buah proses yaitu melakukan enkripsi dan dekripsi. Pesan yang akan dienkripsi disebut sebagai plaintext (teks biasa). Disebut demikian karena informasi ini

dengan mudah dapat dibaca dan dipahami oleh siapa saja. Algoritma yang dipakai untuk mengenkripsi dan mendekripsi sebuah plaintext melibatkan penggunaan suatu bentuk kunci. Pesan plaintext yang telah dienkripsi (atau dikodekan) dikenal sebagai ciphertext (teks sandi).

Menurut Kaufman et. al. (2002) menjelaskan bahwa kata Kriptografi berasal dari bahasa yunani dan memiliki makna seni dalam menulis pesan rahasia (The art of secret writing), dimana kriptografi terdiri dari 2 kata yaitu  yang berarti rahasia atau tersembunyi dan  yang berarti tulisan. (Apriandala, 2013: 114).

Di dalam kriptografi kita akan sering menemukan berbagai istilah atau terminology. Beberapa istilah yang harus diketahui yaitu : a. Pesan, Plainteks, dan Cipherteks

Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah (plaintext) atau teks jelas (cleartext).

b. Pengirim dan Penerima

Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan.

c. Enkripsi dan dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau enciphering (standard nama menurut ISO 7498-2). Sedangkan proses mengembalikan cipherteks menjadi plainteks semula disebut dekripsi (decryption) atau deciphering (standard nama menurut ISO 7498-2).

d. Cipher dan kunci

(3)

151 dua himpunan tersebut. Misalkan P menyatakan

plainteks dan C menyatakan cipherteks, maka :

Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan asal, maka persamaan D(E(P)) = P harus benar.

Kriptografi mengatasi masalah keamanan data dengan menggunakan kunci, yang dalam hal ini algoritma tidak dirahasiakan lagi, tetapi kunci harus tetap dijaga kerahasiaannya. Kunci (key) adalah parameter yang digunakan untuk transformasi enkripsi dan dekripsi. Kunci biasanya berupa string atau deretan bilangan.

Dengan menggunakan kunci K, maka fungsi enkripsi dan dekripsi dapat ditulis sebagai skema diperlihatkan pada Gambar 1.

Gambar 1. Skema enkripsi dan deskripsi dengan menggunakan kunci

2. Vigenere Chiper

Algoritma Vigenere Cipher ini menggunakan bujursangkar Vigenere untuk melakukan enkripsi. Setiap baris di dalam bujursangkar menyatakan huruf-huruf ciphertext yang diperoleh dengan Caesar Cipher. Untuk lebih jelasnya perhatikan gambar di bawah ini. Deretan huruf mendatar menunjukkan plaintext, sedangkan huruf menurun menunjukkan kunci.

Cara kerja table tersebut adalah berdasarkan kunci. Kunci ditentukan oleh si pembuat pesan. Kunci akan menjadi penentu sebuah pesan dengan menggunakan algoritma vegenere cipher berhasil di enkripsi dan dekripsi.

Gambar 2. Tabel Vegenere Cipher

3. Metode Kasiski

Kekuatan dari algoritma kriptografi Vigenere adalah tidak mudah dilakukan analisis frekuensi pada cipher karena keterkaitan antara plainteks dan cipher sudah cukup dikurangi dengan penggunaan kunci. Kasiski menemukan sebuah metode analisis dengan mendeduksi panjang dari kunci yang tidak diketahui.

Bila panjang kunci telah diketahui dengan pasti misalkan n, maka cipher dibariskan secara terurut menjadi n baris, kemudian masing-masing baris kita lakukan analisis frekuensi karena masing-masing baris tersebut adalah monoalphabetic substitution seeprti Caesar Cipher.

Namun, permasalahannya di sini adalah bagaimana kita dapat dengan cukup akurat mendeduksi panjang dari kunci yang belum kita ketahui? Metode kasiski memanfaatkan analisis frekuensi namun tidak dengan analisis frekuensi alphabet tunggal. Tetapi menggunakan analisis frekuensi beberapa karakter berurutan yang sering ditemui pada bahasa plainteks tersebut dibuat. Bila kita memiliki urutan karakter yang sama berulang-ulang maka jarak-jarak tersebut harus kita rekam. Kemudian dari semua jarak-jarak karakter beurutan yang sering muncul tersebut, kita mencari factor persekutuan terbesar dari selisih-selisih tersebut.

(4)

152 lebih mudah karena seperti menyelesaikan

Caesar Cipher yang sudah terbukti cukup mudah. Setelah menggunakan Caesar Cipher dengan dalam proses tersebut, maka kunci tersebut harus disusun ulang agar menjadi kunci yang utuh, namun terkadang kunci yang dihasilkan dari analisis frekuensi tidak akurat sehingga kita harus mencoba-coba dari kunci yang dihasilkan pada cipher teks, apakah benar-benar menjadi plainteks bermakna. Bila masih belum ditemukan plain teks yang benar-benar bermakna, maka kita harus melakukan perubahan pada kunci sesuai dengan kondisi plainteks yang dihasilkan saat ini dengan kemungkinan plainteks yang seharusnya. Dalam hal ini, penguasaan kata-kata dalam bahasa yang digunakan pada plainteks harus cukup baik agar deduksinya benar.

Namun, mengapa cara dalam menentukan kunci tersebut dapat digunakan adalah bila sebuah substring yang diulang muncul di plainteks dan jarak antar karakter adalah kelipatan dari panjang kunci, maka plainteks yang berulang tersebut dienkripsi dengan urutan kunci yang sama.

Kekuatan dari algoritma kriptografi Vigenere adalah tidak mudah dilakukan analisis frekuensi pada cipher karena keterkaitan antara plainteks dan cipher sudah cukup dikurangi dengan penggunaan kunci. Kasiski menemukan sebuah metode analisis dengan mendeduksi panjang dari kunci yang tidak diketahui.

Bila panjang kunci telah diketahui dengan

pasti misalkan n, maka cipher dibariskan secara terurut menjadi n baris, kemudian masing-masing baris kita lakukan analisis frekuensi karena masing-masing baris tersebut adalah monoalphabetic substitution seeprti Caesar Cipher.

Namun, permasalahannya di sini adalah bagaimana kita dapat dengan cukup akurat mendeduksi panjang dari kunci yang belum kita ketahui? Metode kasiski memanfaatkan analisis frekuensi namun tidak dengan analisis frekuensi alphabet tunggal. Tetapi menggunakan analisis frekuensi beberapa karakter berurutan yang sering ditemui pada bahasa plainteks tersebut dibuat. Bila kita memiliki urutan karakter yang sama berulang-ulang maka jarak-jarak tersebut harus kita rekam. Kemudian dari semua jarak-jarak karakter beurutan yang sering muncul tersebut, kita mencari factor persekutuan terbesar dari selisih-selisih tersebut harus melakukan perubahan pada kunci sesuai dengan kondisi plainteks yang dihasilkan saat ini dengan kemungkinan plainteks yang seharusnya. Dalam hal ini, penguasaan kata-kata dalam bahasa yang digunakan pada plainteks harus cukup baik agar deduksinya benar. Namun, mengapa cara dalam menentukan kunci tersebut dapat digunakan adalah bila sebuah substring yang diulang muncul di plainteks dan jarak antar karakter adalah kelipatan dari panjang kunci, maka plainteks yang berulang tersebut dienkripsi dengan urutan kunci yang sama.

1. VIGENERE CIPHER SUBTITUSI

DENGAN SHIFT INDEX BILANGAN

PRIMA

Pada penelitian ini algoritma yang diterapkan adalah Vigenere Cipher dengan metode Subtitusi, dimana juga terdapat modifikasi dalam menentukan Ciphertext dari hasil enkripsi.

Rumus dalam Vigenere Cipher Subtitusi adalah sebagai berikut:

Berikut merupakan table Vigenere Subtitusi sebagai acuan dari pada proses pengujian beserta dengan indeks huruf

Enkripsi C = P + K mod 26

(5)

153 Contoh berikut ini merupakan hasil enkripsi dari suatu plaintext

Terdapat plainteks “KRIPTOGRAFI” dengan

masing-masing indeks pada setiap hurufnya dan

key “PYTHON”, jika panjang plainteks lebih

besar dari key maka key tersebut akan berulang setiap karakter sampai dengan panjang plainteks

tersebut. Pada cipherteks “BSGDSOMIQPB”

didapat dengan rumus.

Sehingga:

Karakter cipherteks “K” yaitu C1 = 10 + 15 = 25

mod 26 = 25 + 2 = 27 = B

Karakter cipherteks “R” yaitu C2 = 17 + 24 = 41

mod 26 = 15 + 3 = 18 = S

Karakter cipherteks “I” yaitu C3 = 8 + 19 = 27

mod 26 = 1 + 5 = 6 = G

Karakter cipherteks “P” yaitu C4 = 15 + 7 = 22

mod 26 = 22 + 7 = 29 = D, dst

Pada tahap dekripsi dilakukan dengan cara yang sama dengan rumus

Enkripsi

(6)

154 Proses penyisipan indeks bilangan prima

terhadap chiperteks dapat menjadi salah satu tehnik yang digunakan untuk mempersulit pada proses kriptanalisis.

III.KESIMPULAN DAN SARAN 1. Kesimpulan

1. Algoritma Vigenere Cipher bekerja lebih optimal apabila menggunakan metode subtitusi shif indeks bilangan prima. 2. Penggunaan module dan penyematan shift

index bilangan prima akan menambah langkah kriptanalis dalam memecahkan informasi pesanyang dirahasiakan

3. Proses enkripsi dan dekripsi algoritma vigenere cipher menggunakan shift indeks

bilangan prima dapat berjalan dengan baik.

2. Saran

a. Untuk meningkatkan level keamanan dapat menggunakan modifikasi lain selain penggunaan bilangan prima dan penambahan nilai module.

B. Sangat disaranakan untuk membuat sebuah algoritma baru untuk key atau kunci yang akan digunakan untuk me-enkripsi dan dekripsi sebuah plaintext dan ciphertext. Hal ini dilakukan untuk menambah level keamanan bagi kriptanalis.

DAFTAR PUSTAKA

[1] Apriandala, Rio, 2013, Sistem Keamanan Menggunakan Rubik Dengan Algoritma Kriptografi Encryption, Tugas Besar I Makalah Kriptografi, Universitas Bengkulu. 375 Hal Daryanto. 2003. Belajar Komputer Visual Basic [2] Jati Sasongko, "Pangamanan Data Informasi

menggunakan Kriptografi Klasik," DINAMIK, vol. X, no. 3, pp. 160-167, September 2005.

[3] Hallim, Abd, 2010, Pembuatan Perangkat Lunak Me- dia Pembelajaran Kriptografi Klasik. Sura- baya.Politeknik Eletronika Negeri.

[4] Muhammad Fairuzabadi, "Implemetasi Kriptografi Klasik menggunakan Borland Delphi," Jurnal Dinamika Informatika, pp. 65-78, September 2010.

[5] Wade Trappe and Lawrence C. Washington,Introduction to Cryptography with Coding Theory. Second edition. Pearson Prentice Hall, 2006.

Dekripsi (+) C = P - K mod 26 - Indeks

Bilangan Prima

Dekripsi (-) C = P - K mod 26 - Indeks

Gambar

Gambar 2. Tabel Vegenere Cipher

Referensi

Dokumen terkait

Banyak orang Kristen merasa sudah percaya di dalam pikirannya, tetapi tidak memiliki iman seperti Abraham, yaitu tindakannya yang menuruti apa yang Kuperintahkan.. Iman yang

(catatan: peneliti bisa turun lapangan setiap saat bersamaan proses pembuatan desain, misalnya untuk menggali data yang bisa memerkaya kerangka teori. Data di

Selain itu, penelitian ini juga bertujuan untuk mengetahui keefektifan LKPD terintegrasi nilai karakter terhadap pengembangan tanggung jawab, disiplin, serta prestasi belajar

MEGAHJAYA CEMERLANG bukan merupakan industri primer yang melakukan pengolahan bahan baku dari kayu bulat sehingga tidak berkewajiban menyusun dokumen RPBBI dengan

1. Peserta didik belum terlibat dalam proses pembelajaran, sehingga materi yang diberikan menjadi sulit dipahami oleh siswa dan mengakibatkan hasil belajar

Dimensi tingkah laku keibubapaan yang berunsur sokongan dan penglibatan didapati berhubungan secara positif dengan penghargaan kendiri remaja kerana dimensi-dimensi ini dapat memberi

Hasil Analisis Statistik Data Responden SMA N 1 Sewon Bantul Tentang Tingkat Pemahaman Taktik Dan Strategi Siswa Atlet Bola Basket Kelas Khusus Olahraga Tingkat

Terlepas dari keunggulan yang dimiliki, kayu sebagai produk alam memiliki beberapa kelemahan diantaranya bersifat biodegradable terhadap rayap, jamur dan organisme perusak