Vigènere Cipher dengan Pembangkitan Kunci Menggunakan Bilangan Euler

dokumen-dokumen yang mirip
Streamed Key Vigenere Cipher : Vigenere Cipher Menggunakan Penerapan Metode Pembangkitan Aliran Kunci

Implementasi Vigenere Chiper Kunci Dinamis dengan Perkalian Matriks

Vigènere Transposisi. Kata Kunci: enkripsi, dekripsi, vigènere, metode kasiski, known plainteks attack, cipherteks, plainteks 1.

H-Playfair Cipher. Kata Kunci: H-Playfair cipher, playfair cipher, polygram cipher, kriptanalisis, kriptografi.

Modifikasi Pergeseran Bujur Sangkar Vigenere Berdasarkan Susunan Huruf dan Angka pada Keypad Telepon Genggam

Penyamaran Plainteks pada Algoritma Vigenere Chiper StegaVig Makalah IF5054 Kriptografi

Modifikasi Nihilist Chiper

Studi dan Implementasi Algoritma Inverse Generator Cipher

Vigènere Chiper dengan Modifikasi Fibonacci

TRIPLE VIGENÈRE CIPHER

Metode Enkripsi baru : Triple Transposition Vigènere Cipher

RANCANGAN,IMPLEMENTASI DAN PENGUJIAN ZENARC SUPER CIPHER SEBAGAI IMPLEMENTASI ALGORITMA KUNCI SIMETRI

Modifikasi Vigenere Cipher dengan Enkripsi-Pembangkit Kunci Bergeser

STUDI DAN PERBANDINGAN PERFORMANSI ALGORITMA SIMETRI VIGENERE CHIPPER BINNER DAN HILL CHIPPER BINNER Ivan Nugraha NIM :

Modifikasi Ceasar Cipher menjadi Cipher Abjad-Majemuk dan Menambahkan Kunci berupa Barisan Bilangan

SKK: ENKRIPSI KLASIK - SUBSTITUSI

Penerapan Vigenere Cipher Untuk Aksara Arab

Modifikasi Vigenère Cipher dengan Metode Penyisipan Kunci pada Plaintext

MODIFIKASI VIGÈNERE CIPHER DENGAN MENGGUNAKAN MEKANISME CBC PADA PEMBANGKITAN KUNCI

Pergeseran Kemiringan pada Vigènere Chiper

MODIFIKASI VIGENERE CIPHER DENGAN MENGGUNAKAN TEKNIK SUBSTITUSI BERULANG PADA KUNCINYA

Teknik Konversi Berbagai Jenis Arsip ke Dalam bentuk Teks Terenkripsi

Algoritma Kriptografi Klasik Baru

Pengembangan Vigenere Cipher menggunakan Deret Fibonacci

BAB III KOMBINASI VIGÈNERE CIPHER DAN KEYED COLUMNAR TRANSPOSITION. Cipher ini adalah termasuk cipher simetris, yaitu cipher klasik abjad

Enkripsi Pesan pada dengan Menggunakan Chaos Theory

BAB 2 LANDASAN TEORI. 2.1 Kriptografi Definisi Kriptografi

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS ESA UNGGUL M O D U L 1 P R A T I K U M CRYPTOGRAPHY PENYUSUN

Venigmarè Cipher dan Vigenère Cipher

Modifikasi Affine Cipher Dan Vigènere Cipher Dengan Menggunakan N Bit

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

Cipher yang Tidak Dapat Dipecahkan (Unbreakable Cipher)

ANALISIS KEMUNGKINAN PENGGUNAAN PERSAMAAN LINEAR MATEMATIKA SEBAGAI KUNCI PADA MONOALPHABETIC CIPHER

KRIPTOGRAFI KLASIK DENGAN METODE MODIFIKASI AFFINE CIPHER YANG DIPERKUATDENGANVIGENERE CIPHER

Vigenere Minimum-Prime Key-Adding Cipher

BAB III PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

Analisis Kriptografi Klasik Jepang

Vigènere Cipher Dengan Kunci Substitusi Inkremental Berdasarkan Caesar Cipher

Disusun oleh: Ir. Rinaldi Munir, M.T.

Modifikasi Vigenere Cipher dengan Menggunakan Caesar Cipher dan Enkripsi Berlanjut untuk Pembentukan Key-nya

BAB 1 PENDAHULUAN Latar Belakang

ENKRIPSI CITRA BITMAP MELALUI SUBSTITUSI WARNA MENGGUNAKAN VIGENERE CIPHER

APLIKASI ENKRIPSI DAN DEKRIPSI MENGGUNAKAN ALGORITMA VIGENERE CIPHER ASCII BERBASIS JAVA Rizki Septian Adi Pradana 1), Entik Insanudin ST MT 2)

Penanganan Kolisi pada Fungsi hash dengan Algoritma Pengembangan Vigenere Cipher (menggunakan Deret Fibonacci)

Termasuk ke dalam cipher abjad-majemuk (polyalpabetic substitution cipher ).

Analisa Perbandingan Algoritma Monoalphabetic Cipher Dengan Algoritma One Time Pad Sebagai Pengamanan Pesan Teks

STUDI ALGORITMA SOLITAIRE CIPHER

Analisis Perbandingan Full Vigenère Chiper, Auto-key Vigenère Chiper dan Running-key Vigenère Chiper

PERBANDINGAN METODE VIGENERE DAN AFFINE UNTUK PESAN RAHASIA

PROGRAM APLIKASI KRIPTOGRAFI PENYANDIAN ONE TIME PAD MENGGUNAKAN SANDI VIGENERE

Super-Playfair, Sebuah Algoritma Varian Playfair Cipher dan Super Enkripsi

Penerapan Metode Enkripsi Vigenere Cipher dalam Pengamanan Transaksi Mobile Banking

Serangan (Attack) Terhadap Kriptografi

PENERAPAN ALGORITMA CAESAR CIPHER DAN ALGORITMA VIGENERE CIPHER DALAM PENGAMANAN PESAN TEKS

IMPLEMENTASI ALGORITMA VIGENERE CIPHER DAN RIVEST SHAMMER ADLEMAN (RSA) DALAM KEAMANAN DATA TEKS

Studi dan Analisis Mengenai Aplikasi Matriks dalam Kriptografi Hill Cipher

Implementasi Algoritma Vigenere Subtitusi dengan Shift Indeks Prima

PEMANFAATAN KEMBALI KRIPTOGRAFI KLASIK DENGAN MELAKUKAN MODIFIKASI METODE-METODE KRIPTOGRAFI YANG ADA

Rancangan Algoritma Kriptografi Boink2 Berbasis Subtitusi Karakter

BAB III ANALISIS DAN DESAIN SISTEM

ANALISA DAN IMPLEMENTASI ALGORITMA TRIANGLE CHAIN PADA PENYANDIAN RECORD DATABASE

BAB I PENDAHULUAN. Dewasa ini teknologi pengiriman pesan teks semakin berkembang,

Blok Cipher JUMT I. PENDAHULUAN

Kriptografi Simetris Dengan Kombinasi Hill cipher Dan Affine Cipher Di Dalam Matriks Cipher Transposisi Dengan Menerapkan Pola Alur Bajak Sawah

Aplikasi Pewarnaan pada Vigener Cipher

3D Model Vigenere Cipher

Modifikasi Cipher Block Chaining (CBC) MAC dengan Penggunaan Vigenere Cipher, Pengubahan Mode Blok, dan Pembangkitan Kunci Berbeda untuk tiap Blok

A-2 Sistem Kriptografi Stream Cipher Berbasis Fungsi Chaos Circle Map dengan Pertukaran Kunci Stickel

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

BAB 2 TINJAUAN PUSTAKA

Rancangan Algoritma Shift Vigenere Cipher

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

PENERAPAN METODA FILE COMPRESSION PADA KRIPTOGRAFI KUNCI SIMETRI

Beberapa Algoritma Kriptografi Klasik. Haida Dafitri, ST, M.Kom

Modifikasi Playfair Chiper Dengan Kombinasi Bifid, Caesar, dan Transpositional Chiper

Analisis Penerapan Algoritma MD5 Untuk Pengamanan Password

Pengembangan Vigenere Cipher melalui Pergeseran Karakter

MAKALAH KRIPTOGRAFI KLASIK

Integrasi Kriptografi Kunci Publik dan Kriptografi Kunci Simetri

Teknik Kriptanalisis Linier

Cipher Blok JAFT. Ahmad ( ) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika.

Algoritma MAC Berbasis Jaringan Syaraf Tiruan

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan

Cipher Subtitusi Abjad Tunggal dengan Penyamarataan Frekuensi Hasil Enkripsi

ENKRIPSI DAN DEKRIPSI MENGGUNAKAN VIGENERE CIPHER ASCII JAVA

Penggunaan Fungsi Rasional, Logaritma Kuadrat, dan Polinomial Orde-5 dalam Modifikasi Kriptografi Caesar Cipher

RANCANG BANGUN APLIKASI PESAN MENGGUNAKAN ALGORITMA VIGENERE CIPHER DAN ONE TIME PAD ABSTRAK

PENGEMBANGAN ALGORITMA VIGENERE CIPHER MENGGUNAKAN METODE PERGESERAN KUNCI BERBASIS BINER ABSTRAK

APLIKASI KRIPTOGRAFI KOMPOSISI ONE TIME PAD CIPHER DAN AFFINE CIPHER

KOMBINASI ALGORITMA ONE TIME PAD CIPHER DAN ALGORITMA BLUM BLUM SHUB DALAM PENGAMANAN FILE

Hill Cipher & Vigenere Cipher

Algoritma Enkripsi Playfair Cipher

Studi dan Implementasi Sistem Kriptografi Rabin

Algoritma Kriptografi Modern (Bagian 2)

BAB II LANDASAN TEORI. bilangan bulat dan mengandung berbagai masalah terbuka yang dapat dimengerti

PEMBANGKIT KUNCI LINEAR FEEDBACK SHIFT REGISTER PADA ALGORITMA HILL CIPHER YANG DIMODIFIKASI MENGGUNAKAN CONVERT BETWEEN BASE

Analisis Frekuensi pada Teks Bahasa Indonesia Dan Modifikasi Algoritma Kriptografi Klasik

PENGAMANAN MENGGUNAKAN METODE VIGENERE CIPHER

Modifikasi Playfair Cipher Menggunakan Vigenere Cipher

Teknik-Teknik Kriptanalisis Pada RSA

Transkripsi:

Vigènere Cipher dengan Pembangkitan Kunci Menggunakan Bilangan Euler Budi Satrio - 13504006 Program Studi Teknik Informatika ITB, Bandung 40132, email: if14006@studentsifitbacid Abstract Vigènere cipher adalah salah satu jenis kriptografi klasik yang melakukan substitusi cipher abjad majemuk, tetapi terdapat kelemahan dari cipher ini, salah satunya yaitu ia mudah diserang dengan metode Kasiski Untuk lebih memperkuat cipher ini, penulis mengajukan algoritma vigènere cipher dengan pembangkitan kunci menggunakan bilangan euler Pada dasarnya, metode ini adalah sebuah cara untuk mendapatkan suatu kunci internal berbentuk acak yang dibentuk dari perkalian matematis antara kunci yang dimasukkan dengan bilangan Euler Diharapkan dengan metode ini, kunci yang dihasilkan untuk Vigènere cipher menjadi lebih panjang dan acak sehingga akan menyulitkan kriptanalisis untuk menyerang dengan metode Kasiski maupun dengan metode lainnya Kata Kunci: Vigènere cipher, kunci internal, bilangan euler, perkalian matematis, metode kasiski 1 PENDAHULUAN Vigènere cipher merupakan salah satu jenis kriptografi klasik yang pada dasarnya adalah melakukan substitusi cipher abjad majemuk (polyalphabetic substitution) [1] Algoritma ini ditemukan oleh diplomat sekaligus kriptologis dari Prancis, Blaise de Vigènere pada abad 16 Vigènere cipher dipublikasikan pada tahun 1856, tetapi algoritma ini baru dikenal luas 200 tahun kemudian untuk vigènere cipher menjadi lebih panjang dan acak sehingga akan menyulitkan kriptanalisis untuk menyerang baik dengan metode Kasiski maupun dengan metode lainnya 2 VIGENERE CIPHER Vigènere Cipher adalah sebuah algoritma enkripsi yang menggunakan konsep Caesar Cipher dengan kunci yang berbeda-beda Vigènere cipher merupakan contoh sederhana dari algoritma enkripsi subtitusi abjad majemuk 21 Konsep Dasar Vigènere cipher menggunakan Bujursangkar vigènere untuk melakukan enkripsi (lihat gambar 1) Kolom paling kiri menyatakan huruf-huruf kunci sedangkan baris paling atas menyatakan huruf-huruf plainteks Setiap baris dalam bujursangkar menyatakan hurufhuruf cipherteks yang diperoleh dengan Caesar Cipher, yang mana jauh pergeseran huruf plainteks ditentukan oleh nilai desimal dari huruf kunci tersebut (a = 0, b = 1,, z = 25) Algoritma enkripsi ini terkenal karena mudah dimengerti dan diimplementasikan, bahkan bagi kriptanalis pemula akan tampak seperti tidak dapat dipecahkan Reputasi ini lepas setelah Kasiski dengan tuntas memecahkan Vigènere Cipher pada abad ke 19 dengan cara mengetahui panjang huruf yang digunakan sebagai kunci [3], dan beberapa kriptanalis yang memiliki kemampuan tinggi berhasil memecahkan cipher tersebut pada abad ke 16 Untuk lebih memperkuat cipher ini, banyak modifikasi dilakukan oleh para peneliti kriptografi Salah satu cara yang penulis ajukan sebagai tugas makalah ini adalah dengan metode pembangkitan kunci internal dengan menggunakan bilangan euler Pada dasarnya, metode ini adalah sebuah cara untuk mendapatkan suatu kunci berbentuk panjang dan acak yang didapatkan dari perkalian matematis antara kunci yang dimasukkan dengan bilangan Euler Diharapkan dengan metode ini, kunci yang dihasilkan Gambar 1: Bujursangkar Vigènere Bujursangkar vigènere digunakan untuk memperoleh cipherteks dengan menggunakan kunci yang sudah ditentukan Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang penggunaannya (periodic system)

Sebagai contoh, jika plainteks adalah TUGASMAKALAH dan kunci adalah KEY, maka penggunaan kunci secara periodik dan hasil cipherteks adalah sebagai berikut: Plainteks :T U G A S M A K A L A H Kunci :K E Y K E Y K E Y K E Y Cipherteks:D Y E K W K K P Y V E F Dapat diamati bahwa setiap huruf A dapat dienkripsi menjadi huruf yang berbeda Hal ini merupakan karakteristik dari cipher abjad majemuk karena setiap huruf cipherteks dapat memiliki kemungkinan banyak huruf plainteks Dekripsi pada Vigènere Cipher dilakukan dengan cara yang berkebalikan, yaitu menarik garis mendatar dari huruf kunci sampi ke huruf cipherteks yang dituju, lalu dari huruf cipherteks tarik garis vertical ke atas sampai huruf plainteks 22 Kelemahan Vigènere Cipher Beberapa kelemahan dari Vigènere Cipher adalah mudahnya diserang dengan menggunakan metode analisis frekuensi dan metode kasiski untuk mengetahui frekuensi kemunculan huruf-huruf yang sama[2] 23 Varian Vigènere Cipher Vigènere Cipher mempunyai beberapa varian yang cukup terkenal Varian ini muncul untuk memperbaiki dan menyempurnakan algoritma vigènere cipher tersebut, diantaranya adalah sebagai berikut: 231 Auto-key Vigènere Cipher Auto-key Vigènere Cipher adalah contoh varian vigènere cipher yang bersifat cipher aliran Cipher aliran adalah metode untuk mengenkripsi huruf berdasarkan posisinya dalam teks Idealnya, kunci yang digunakan tidak pernah berulang 232 Running-key Vigènere Cipher Running-key Vigènere Cipher adalah vigènere cipher yang kuncinya menggunakan teks yang memiliki arti atau cukup dikenal dalam masyarakat Teks ini bisa berupa buku yang dimiliki oleh pengirim dan penerima pesan 233 One Time Pad One Time Pad (OTP) adalah vigènere cipher yang menggunakan kunci berupa note sepanjang ukuran plainteks yang ingin dienkripsi secara acak Setelah dipakai, kertas note tersebut dibuang untuk menjaga kerahasiaan dan juga randomisasi kunci selanjutnya Aturan enkripsi yang digunakan sama persis dengan vigènere cipher biasa Pengirim pesan mengenkripsi sebuah karakter plainteks dengan sebuah karakter dari kunci Perhatikan bahwa panjang kunci sama dengan panjang plainteks sehingga tidak terjadi pengulangan/periodisasi kunci Kekuatan OTP terletak pada kunci yang acak sehingga menghasilkan cipherteks yang seluruhnya acak juga Selain itu cipherteks yang sama mungkin menghasilkan teks berbeda yang sama-sama memiliki arti sehingga membingungkan kriptanalis 3 ALGORITMA VIGENERE CIPHER DENGAN PEMBANGKITAN KUNCI MENGGUNAKAN BILANGAN EULER Algoritma vigènere cipher dengan pembangkitan kunci menggunakan bilangan euler ini merupakan varian vigènere cipher yang diajukan oleh penulis mengingat keunikan dari bilangan euler yang panjangnya tidak terhingga[4] 31 Konsep Umum Secara umum, inti dari algoritma ini adalah bagaimana caranya untuk membuat kunci internal yang panjang dan acak sehingga algoritma akan berjalan seperti di OTP, namun kunci internal tersebut dapat dibentuk sesuai dengan masukan Pembangkitan kunci internal yang penulis ajukan ini unik karena menggunakan perkalian secara matematis dengan bilangan euler, kemudian setiap angka hasil perkalian akan dikelompokkan sesuai dengan panjang digit dari kunci masukan lalu diubah kembali menjadi huruf-huruf yang akan digunakan sebagai kunci internal Kunci internal inilah yang akan digunakan untuk melakukan enkripsi dan dekripsi Sebagai contoh, jika kunci masukan adalah B U D I maka kunci tersebut bentuk angkanya adalah 1 20 3 8 Untuk contoh plainteks yang mempunyai panjang 20 karakter, maka ambil bilangan euler sepanjang 20 karakter 27182818284590452353 Berikutnya, kunci dalam bentuk angka tersebut dikalikan dengan bilangan euler 12038 x 27182818284590452353 sehingga menghasilkan angka 327226766509899865425414 Dari sini kita kelompokkan hasil perkalian sesuai dengan susunan struktur kunci masukan menjadi: 3 27 2 2 6 76 6 5 0 98 9 9 8 65 4 2 5 41 4 Kemudian kita ubah menjadi bentuk huruf lagi (mod 26) sehingga menjadi

D B C C G Y G F A U J J I N E C F P E sehingga didapatkan kunci internal DBCCGYGFAUJJINECFPE Kunci masukan Angka Plainteks Bilangan euler Kunci internal ini yang kemudian akan dipakai untuk melakukan proses enkripsi dan dekripsi Algoritma ini bekerja pada rangkaian huruf ASCII (256 karakter) Hal ini bertujuan agar variasi kunci yang memungkinkan menjadi semakin banyak sehingga mempersulit kriptanalis untuk memecahkan Namun dalam makalah ini, penulis hanya menggunakan 26 karakter (A-Z) dengan pertimbangan kemudahan untuk dimengerti Perlu diperhatikan bahwa harus terdapat kesepakatan untuk pengubahan setiap karakter ASCII menjadi angka 32 Lingkungan Pengembangan Aplikasi Program aplikasi algoritma vigènere cipher dengan pembangkitan kunci menggunakan bilangan euler ini dikembangkan pada lingkungan sebagai berikut: Intel Core Duo Processor @ 160 Ghz, 533 FSB, 2Mb L2 Cache Memory 768MB DDR2 Intel Graphic Media Accelerator 950 Windows XP Service Pack 2 Kakas pemrograman Microsoft Visual Studio NET (C#) 33 Algoritma Umum Secara umum algoritma vigènere cipher dengan pembangkitan kunci menggunakan bilangan euler ini terdiri dari tiga proses utama yaitu: 1 Proses pembangkitan kunci internal 2 Proses enkripsi 3 Proses dekripsi 331 Proses pembangkitan kunci internal Pembangkitan kunci internal dalam algoritma ini terdiri dari beberapa fase utama, yaitu: 1 Fase pengubahan dari karakter menjadi angka 2 Fase generasi bilangan euler 3 Fase perkalian antara bilangan euler dengan kunci dalam bentuk angka 4 Fase pengelompokan angka 5 Fase pengubahan dari angka menjadi karakter Secara umum dapat digambarkan sebagai berikut: Perkalian Pengelompokan Kunci internal Gambar 2: Skema pembangkitan kunci internal Pada fase pengubahan dari karakter menjadi angka, maupun dari angka menjadi karakter dilakukan dengan menggunakan algoritma dalam bentuk pseudocode adalah sebagai berikut: function chartonum(character){ //mengubah karakter menjadi angka integer n; switch(character){ case A : n = 0; break; case B : n = 1; break; case C : n = 2; break; Case Z : n = 25; break; return n; function numtochar(number){ //mengubah angka menjadi karakter integer n = number % 26; char c; switch(n){ case 0 : c = A; break; case 1 : c = B; break; case 2 : c = C; break; Case 25 : c = Z; break; return c; Perlu ditambahkan bahwa algoritma diatas adalah untuk 26 karakter Jika yang digunakan adalah 255 karakter, maka pengubahan karakter menjadi angka maupun sebaliknya dibantu dengan menggunakan fungsi dasar pengubahan ASCII pada setiap bahasa pemrograman

Pada fase generasi bilangan euler, dilakukan pengambilan bilangan euler sejumlah panjang plainteks Untuk menghitung panjang plainteks dapat menggunakan aplikasi web gratis di alamat ini : http://wwwfwointlcom/fwoformatterhtml Sedangkan untuk mengambil bilangan euler sepanjang plainteks dapat digambarkan dalam pseudocode sebagai berikut: function geteuler(plaintextlength){ //mengambil bilangan euler sepanjang //plainteks bigint n = 0; for(i=1;i<=plaintextlength;i++){ n = n + readeuler(i); return n; readeuler(i) adalah fungsi yang mengembalikan bilangan euler ke-i Untuk bilangan euler sampai 100000 angka, didapatkan dari web http://wwwmuorg/~doug/exp/100000html Pada fase perkalian antara angka dari kunci dengan bilangan euler sepanjang plainteks diperlukan algoritma yang mampu mengelola digit dalam jumlah yang sangat besar Terdapat sebuah aplikasi kalkulator gratis yang akan memproses perkalian sampai 5011 digit Aplikasi ini dapat didownload di http://webukonlinecouk/home52365/bcalchtm Untuk fase pengelompokan angka hasil perkalian, dapat digambarkan dalam pseudocode berikut: function grouping(number){ //mengelompokkan angka dari hasil //perkalian sesuai dengan pattern dari //kunci char[] hasil; bigint i,j,k = 0; while(number[i]!=eof){ k=0; while(k<pattern_length){ if(pattern[k]= ){ hasil[j]= else if(pattern[k]= \n ){ hasil[j]= \n else{ hasil[j]=number[i]; k++; j++; i++; return hasil; PATTERN_LENGTH adalah panjang dari susunan kunci dalam bentuk angka, sedangkan pattern[] adalah susunan kunci Sebagai contoh, dari kunci BUDI kita dapatkan pattern kunci dalam bentuk angka 1 20 3 8 atau lebih lengkapnya: 1,,20,,3,,8, \n Sedangkan panjang dari pattern tersebut adalah 8 Secara umum, proses untuk membangkitkan kunci internal ini adalah dengan melakukan fase 1 sampai 5 332 Proses Enkripsi Proses enkripsi pada algoritma vigènere cipher dengan pembangkitan kunci menggunakan bilangan euler sama dengan algoritma euler biasa, yaitu melakukan substitusi pada plainteks berdasarkan kunci internal yang telah dibangkitkan pada tahap sebelumnya sehingga didapatkan cipherteks Dimana Ci adalah Cipherteks ke-i, Pi adalah Plainteks ke-i, dan Ki adalah kunci internal ke-i 333 Proses Dekripsi Proses dekripsi pada algoritma vigènere cipher dengan pembangkitan kunci menggunakan bilangan euler sama dengan algoritma euler biasa, yaitu melakukan substitusi pada cipherteks berdasarkan kunci internal yang telah dibangkitkan pada tahap sebelumnya sehingga didapatkan plainteks Dimana Ci adalah Cipherteks ke-i, Pi adalah Plainteks ke-i, dan Ki adalah kunci internal ke-i 34 Kekuatan Algoritma Kekuatan dari metode ini adalah pengelompokan hasil perkalian antara kunci dengan bilangan euler yang sangat sulit untuk diterka serta bentuk acak dari kunci yang sangat panjang, sehingga akan menyulitkan kriptanalisis untuk menyerang dengan menggunakan metode Kasiski maupun analisis frekuensi 35 Kelemahan Algoritma Kelemahan algoritma ini terletak pada besarnya jumlah digit angka pada perkalian antara bilangan euler dengan angka hasil proses generasi kunci sehingga dapat memboroskan penggunaan memori Selain itu, algoritma ini memungkinkan terjadinya periodisasi kunci walaupun tidak berjumlah banyak Maksimal terjadi periodisasi kunci ini adalah 2 kali, hal ini dapat terjadi karena pengelompokan angka untuk disesuaikan dengan susunan kunci membuat susunan huruf menjadi lebih sedikit dari angka hasil perkalian (1) (2) 4 PENGUJIAN TERHADAP ALGORITMA VIGENERE CIPHER DENGAN PEMBANGKITAN KUNCI MENGGUNAKAN BILANGAN EULER 41 Pengujian Terhadap Serangan-serangan Kriptanalis Pengujian terhadap serangan kriptanalis dilakukan

untuk mengetahui kekuatan dan kelemahan algoritma vigènere cipher dengan pembangkitan kunci menggunakan bilangan euler ini Plainteks yang akan digunakan dalam pengujian ini penulis ambil dari koran The Jakarta Post, yaitu: ADAMAIRBLACKBOXRETRIEVEDBYSALVAGETEA MTHEFLIGHTDATARECORDERANDCOCKPITVOIC ERECORDERWEREFOUNDABOUT30TO50METERSF ROMEACHOTHERATDEPTHSOF2,000METERSAND 1,900METERSRESPECTIVELY Kemudian kunci yang digunakan adalah PESAWAT Dari proses pembangkitan kunci internal, didapatkan kunci internal adalah sebagai berikut: PJKFDAHCJOABIYTESDOIZEBEGSHVCHWJVCMK FFICITKAIDRCIGAEHIGFAJFGAAXXHQCQDETA KHMIMVFVANDEEFZJDIJAFHGAITHHZHFBWNCM FRERE Kemudian dilakukan enkripsi plainteks dengan menggunakan kunci internal diatas, sehingga didapatkan cipherteks sebagai berikut: PMKRDIYDUOCLJMQVWWFQDZFHHQZVNCWPZVQK RYPGNESGPWUCBGRIJWXIEAFTDCLZRFKJYSBC OYQKAMIZRJHVIKNDQLJBTBZ30TW50FLADYXG NBOQFTLFXWNBFWDLRCVSPN2,000KXXWUGIMH 1,900NIZWYNTLOYZEFSAJTA Asumsi untuk melakukan pengujian ini yaitu kara kter selain abjad (angka, tanda petik, tanda seru, dan sebagainya) tidak ikut dienkripsi 411 Ciphertext-only Attack Dari cipherteks contoh yang dihasilkan, didapatkan data frekuensi kemunculan setiap abjad sebagai berikut: A 5 N 8 B 6 O 4 C 6 P 5 D 7 Q 7 E 3 R 6 F 9 S 4 G 5 T 6 H 4 U 3 I 7 V 5 J 6 W 10 K 6 X 5 L 7 Y 7 M 4 Z 8 Dengan menggunakan metode terkaan, sangat tidak mungkin untuk dipecahkan, karena kemungkinan kata yang mudah untuk dipecahkan ternyata memiliki cipherteks yang berbeda Sebagai contoh adalah kata yang berada dekat dengan angka 2,000 dan 1,900 yang kita asumsikan bahwa itu akan menjadi kata METERS, ternyata cipherteks sama sekali berbeda Dengan menggunakan metode analisis frekuensi, didapatkan hasil bahwa frekuensi huruf yang paling banyak muncul adalah W, dan ini sangat tidak sesuai dengan plainteks jika W diganti dengan E (huruf E paling banyak muncul dalam bahasa inggris) Untuk itu metode analisis frekuensi ini tidak dapat dilakukan pada algoritma vigènere cipher dengan pembangkitan kunci menggunakan bilangan euler 412 Known-plaintext Attack Pengujian untuk serangan ini dilakukan dengan cara membuka sebagian plainteks untuk kemudian didapatkan kuncinya, namun serangan ini tidak dapat menembus kekuatan dari algoritma ini karena kita tidak tahu kunci selanjutnya berbentuk acak 413 Exhaustive Attack Exhaustive Attack adalah salah satu jenis serangan dengan mencoba semua kemungkinan kunci yang ada Tentunya pengujian ini cukup memakan waktu lama apabila kunci yang digunakan jumlahnya panjang, oleh karena itu semakin panjang kunci, semakin lama waktu yang dibutuhkan untuk melakukan exhaustive key search Jumlah kemungkinan kunci adalah 26 n 414 Kasiski Examination Pada dasarnya, metode Kasiski ini adalah melihat kemungkinan munculnya urutan-urutan huruf yang sama untuk kemudian dilakukan analisis terhadap kesamaan urutan huruf dengan struktur kata yang digunakan dalam bahasa sehari-hari[5] Untuk melakukan pengujian ini, digunakan alat bantu berupa program vigènerejar yang didapatkan dari situs http://wwwinformatikaorg/rinaldi untuk mengetahui urutan huruf yang berulang Dari plainteks yang sengaja dipilih oleh penulis didapatkan hasil bahwa huruf yang berulang hanya kelompok huruf berjumlah satu dan dua, selain itu tidak ditemukan Hal ini tentunya akan menyulitkan kriptanalisis dalam mengidentfikasi pasangan huruf yang berulang 5 PEMBAHASAN Dari hasil percobaan-percobaan diatas, terdapat beberapa hal dari algoritma ini yang perlu untuk dikaji, diantaranya mengenai keefektifan algoritma dan kemampuannya dalam menghadapi serangan kriptanalisis Untuk keefektifan algoritma, semakin panjang kunci semakin lama pula pembangkitan kunci internalnya, hal ini disebabkan karena algoritma ini menggunakan perkalian matematis antara bilangan-bilangan yang mempunyai digit sangat besar Hal ini tentunya akan menjadi salah satu kekurangan dari algoritma ini Untuk pengujian algoritma dengan menggunakan metode terkaan sangat tidak mungkin dilakukan, hal ini dapat terjadi karena algoritma ini membuat kunci internal berupa susunan huruf yang acak dan panjang,

sehingga hubungan antara plainteks dengan cipherteks menjadi hilang Pengujian algoritma dengan metode analisis frekuensi juga tidak dapat dilakukan pada algoritma ini Hal ini dapat terjadi karena jejak frekuensi kemunculan huruf tidak ada hubungannya antara plainteks dan cipherteks dikarenakan penggunaan kunci internal yang panjang Pada Known-plaintext Attack, walaupun sebagian plainteks sudah diketahui dan sebagian kunci internal didapatkan, namun tetap saja tidak dapat melakukan proses untuk mengetahui kunci internal keseluruhan Hal ini disebabkan karena kunci internal dari cipherteks sangat panjang sehingga akan menyulitkan untuk melakukan penerkaan kunci Selain itu penebakan kunci masukan dari kunci internal juga sangat tidak mungkin dilakukan karena fase perkalian dan pengelompokan pada algoritma ini membuat operasi untuk mendapatkan kunci masukan dari kunci internal sangat sulit untuk dilakukan Untuk Exhaustive Attack, sudah jelas bahwa kemungkinan untuk mendapatkan kunci dari algoritma ini adalah 26 n Selain itu, pada pembangkitan kunci internal akan memerlukan waktu yang cukup lama untuk kunci yang bentuknya panjang, sehingga apabila dilakukan percobaan satu-satu akan membutuhkan waktu yang sangat lama Pada pengujian dengan menggunakan metode kasiski, terbukti bahwa huruf yang berulang akan muncul secara acak sehingga akanakan menyulitkan penyerangan melalui metode ini Hal ini dikarenakan bentuk kunci internal yang panjang dan acak 6 KES IMPULAN Kesimpulan yang dapat diambil dari algoritma Vigènere Cipher dengan pembangkitan kunci menggunakan bilangan euler adalah sebagai berikut: 1 Algoritma vigènere cipher dengan pembangkitan kunci menggunakan bilangan euler lebih baik dari algoritma vigènere cipher yang biasa dan variannya karena menggunakan kunci internal yang panjang dan acak untuk menghilangkan jejak periodisasi dan frekuensi serta hubungan antara plainteks dengan cipherteks 2 Kompleksitas algoritma ini adalah 26 n karena menggunakan perkalian biasa 3 Kemungkinan terjadi periodisasi kunci tetap ada, namun jumlahnya sangat sedikit 4 Pembangkitan kunci dengan menggunakan bilangan euler ini membutuhkan waktu yang cukup lama mengingat terdapat perkalian dengan digit yang sangat besar serta proses pengelompokan angka 5 Algorit ma in i kuat terhadap serangan cipherteksonly attack, known-palintext attack, exhaustive attack, dan metode kasiski DAFTAR REFERENS I [1] Munir, Rinaldi, Diktat Kuliah IF5054 Kriptografi, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, 2007 [2] Bishop, David Introduction to Cryptography with Java Applet, Jones and Bartlet Computer Science, 2003 [3] Gaines, Helen Fouche, Cryptanalysis, Dover New York, 1956 [4] Martin, Crossley, Essential Topology: The Euler Number, Springer London, 2005 [5] A Menezes, P van Oorschot, dan S Vanstone, Handbook of Applied Cryptography, CRC Press, 1996