View
6
Download
0
Category
Preview:
Citation preview
ANALISIS KEKABURAN CHIPERTEKS HASIL PERULANGAN ENKRIPSI ALGORITMA SUBSTITUSI
VIGENERE DAN TRANSPOSISI COLUMNAR
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Untuk Mendapatkan Gelar Sarjana Komputer
Program Studi Teknik Informatika
DISUSUN OLEH
GREGORIUS MAGNUS MEGA SANJAYA
155314117
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
i
ANALYSIS OF CHIPERTEKS DAMAGES RESULTS OF THE ENCRYPTION ITERATIONS OF VIGENERE SUBSTITUTION
AND COLUMNAR TRANSPOSITION ALGORITHM
A THESIS
Presented as Partial Fulfillment of Requirements
To Obtain Sarjana Komputer Degree
In Informatics Engineering Department
By:
GREGORIUS MAGNUS MEGA SANJAYA
155314117
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
HALAMAN PERSETUJUAN
SKRIPSI
ANALISIS KEKABURAN CHIPERTEKS HASIL PERULANGAN ENKRIPSI ALGORITMA SUBSTITUSI
VIGENERE DAN TRANSPOSISI COLUMNAR
Oleh:
Gregorius Magnus Mega Sanjaya
(155314117)
Telah disetujui oleh
Dosen Pembimbing,
Bambang Soelistijanto, Ph.D Tanggal, 14 Juni 2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
HALAMAN PENGESAHAN
SKRIPSI
ANALISIS KEKABURAN CHIPERTEKS HASIL PERULANGAN ENKRIPSI ALGORITMA SUBSTITUSI
VIGENERE DAN TRANSPOSISI COLUMNAR
Dipersiapkan dan ditulis oleh:
Gregorius Magnus Mega Sanjaya
155314117
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
MOTTO
“Every tragedy and triumph, every win and failure have made me who I am.” ― Debasish Mridha
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PERNYATAAN LEMBAR KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini
tidak memuat karya atau bagian karya orang lain, kecuali yang sudah tertulis di
dalam kutipan daftar pustaka, sebagaimana layaknya sebuah karya ilmiah.
Yogyakarta,14 Juni 2019
Penulis,
Gregorius Magnus Mega Sanjaya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH
UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma:
Nama : Gregorius Magnus Mega Sanjaya
Nim : 155314117
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah yang berjudul:
ANALISIS KEKABURAN CHIPERTEKS HASIL PERULANGAN ENKRIPSI ALGORITMA SUBSTITUSI
VIGENERE DAN TRANSPOSISI COLUMNAR
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,
mengalihkan dalam bentuk media lain, mengolahnya dalam bentuk pangkalan
data, mendistribusikannya secara terbatas, dan mempublikasikannya di Internet
atau media lain untuk kepentingan akademis tanpa meminta ijin dari saya maupun
memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai
penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 14 Juni 2019
Penulis,
Gregorius Magnus Mega Sanjaya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
ABSTRAK
Saat ini telah banyak metode enkripsi pada kriptografi, namun masih
banyak metode enkripsi yang mudah di pecahkan menggunakan computer canggih
jaman sekarang khususnya enkripsi kriptografi klasik. Berkaca dari masalah
tersebut maka dibuatlah metode enkripsi yang melakukan perulangan 2 teknik
enkripsi supaya enkripsi lebih kabur dan sulit untuk dipecahkan oleh kriptanalis
dengan menggunakan algoritma klasik yaitu substitusi vigenere dan transposisi
columnar. Pada penelitian ini, akan dilakukan analisis terhadap running time dan
hasil kekaburan pada setiap iterasi menggunakan matriks unjuk kerja hamming
distance dan avalanche effect. Dari hasil penelitian yang didapat chiperteks yang
dihasilkan dari perulangan enkripsi vigenere dan transposisi memiliki kekaburan
yang cukup tinggi pada n iterasi namun memiliki beban komputasi yang cukup
tinggi
Katakunci—perulanganenkripsi,teknikenkripsiklasik,Transposisidansubtitusi,hammingdistance,avalancheeffect,periodogram
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRACT
Nowadays there are many encryption methods on cryptography, but there are still
many encryption methods that are easily solved using advanced computers today,
especially classical cryptographic encryption. Reflecting on the problem, an
encryption method was made that looped 2 encryption techniques so that
encryption was more vague and difficult to solve by cryptanalysis using classical
algorithms namely vigenere substitution and columnar transposition. In this study,
an analysis of running time and blurry results in each iteration will be carried out
using the hamming distance performance matrix and the avalanche effect. From
the results of the research, the obtained ciphertext resulting from repetition of
vigenere and transposition encryption has a high enough obscurity in n iterations
but has a fairly high computational load.
Index Terms—perulangan enkripsi, teknik enkripsi klasik, Transposisi dan subtitusi, hamming distance, avalanche effect, periodogram
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
KATA PENGANTAR
Puji Syukur penulis panjatkat kepada Tuhan Yang Maha Esa karena atas rahmat
dan berkat-Nya penulis dapat menyelesaikan penyusunan tugas akhir dengan tepat waktu.
Dalam pelaksanaan penyusunan skripsi ini mendapatkan banyak bimbingan dan bantuan
dari berbagai pihak. Pada kesempatan ini penulis mengucapkan banyak terimakasih
kepada:
1. Tuhan Yesus Kristus yang telah memberikan banyak sekali pengalaman
berharga, kasih yang tulus, berkat dan rahmat yang melimpah untuk
membentuk penulis menjadi pribadi yang lebih lagi.
2. Ayah dan ibu yang selalu mendukung, mendoakan dan membimbing selama
ini, skripsi ini saya persembahkan untuk kalian sebagai rasa terimakasihku.
3. Keluarga besar saya yang senantiasa mendoakan, memberikan dukungan dan
semangat.
4. Teman terkasih tempe benguk (novri, jery, enjang, adres, ditto, zenggi,
gayoh, david, suryo, dan piter) yang selalu menghibur, bantu - membantu dan
saling support selayak saudara, terutama jeri ferdiano yang sudah membantu
dan membimbing dalam hal pemrograman.
5. Seluruh angkatan 2015 terutama teman-teman jaringan yang selalu
memberikan dukungan dan semangat sehinga penulis dapat menyelesaikan
tugas akhir.
6. Seluruh dosen fakultas Teknik Informatika Sanata dharma, yang telah
memberikan ilmu dan pengalaman yang bermanfaat untuk saya.
7. Semua pihak yang telah membantu, memberi dukungan dan semangat yang
tidak bisa disebutkan satu – persatu.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
Penulis menyadari bahwa dalam penyelesaian tugas akhir ini mungkin masih banyak
kekurangan, maka dari kritik dan saran sangat penulis harapkan untuk perbaikan di masa
mendatang. Akhir kata, penulis mengucapkan banyak terimakasih semoga tugas akhir ini
dapat bermanfaat untuk ke depannya.
Penulis
Gregorius Magnus Mega Sanjaya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR ISI
ANALISISKEKABURANCHIPERTEKSHASILPERULANGANENKRIPSIALGORITMASUBSTITUSIVIGENEREDANTRANSPOSISICOLUMNAR......................................................i
ANALYSISOFCHIPERTEKSDAMAGESRESULTSOFTHEENCRYPTIONITERATIONSOFVIGENERESUBSTITUTIONANDCOLUMNARTRANSPOSITIONALGORITHM.......................i
HALAMANPERSETUJUAN.....................................................Error!Bookmarknotdefined.
HALAMANPENGESAHAN...................................................................................................iii
MOTTO...............................................................................................................................iv
PERNYATAANLEMBARKEASLIANKARYA...........................................................................v
LEMBARPERSETUJUANPUBLIKASIKARYAILMIAH............................................................vi
UNTUKKEPENTINGANAKADEMIS.....................................................................................vi
ABSTRAK............................................................................................................................vii
ABSTRACT.........................................................................................................................viii
KATAPENGANTAR..............................................................................................................ix
DAFTARISI..........................................................................................................................xi
DAFTARTABEL..................................................................................................................xiii
DAFTARGAMBAR.............................................................................................................xiv
DAFTARRUMUS................................................................................................................xv
BABI...................................................................................................................................1
1.1LATARBELAKANG.....................................................................................................1
1.2RUMUSANMASALAH...............................................................................................2
1.3TUJUANPENELITIAN.................................................................................................2
1.4MANFAATPENELITIAN.............................................................................................3
1.5BATASANMASALAH.................................................................................................3
1.6METODOLOGIPENELITIAN.......................................................................................4
1.7SISTEMATIKAPENULISAN.........................................................................................4
BABII..................................................................................................................................6
2.1KRIPTOGRAFI............................................................................................................6
2.1.1TujuanKriptografi..............................................................................................6
2.1.2SistemKriptografi..............................................................................................7
2.1.3Kriptografiklasik................................................................................................8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
2.1.4KriptografiModern............................................................................................9
2.2SUBSTITUSIVIGENERE............................................................................................11
2.3TRANSPOSISICOLUMNAR......................................................................................14
BABIII...............................................................................................................................16
3.1ENKRIPSIPERULANGANSUBSTITUSIVIGENERE&TRANSPOSISICOLUMNAR.......16
3.1.1KebutuhanInput..............................................................................................17
3.1.2KebutuhanProses............................................................................................17
3.1.3KebutuhanOutput...........................................................................................18
3.2MATRIKSUNJUKKERJA...........................................................................................18
3.3PARAMETERENKRIPSI............................................................................................20
3.4ALATPENELITIAN....................................................................................................21
3.4.1Hardware.........................................................................................................21
3.4.2Software..........................................................................................................21
BABIV...............................................................................................................................22
4.1HASILSIMULASI......................................................................................................22
4.1.1Perbandinganavalancheeffectenkripsiberdasarkanvariasidaripesan........22
4.1.2Perbandinganavalancheeffectenkripsiberdasarkanvariasidarikunci.........23
4.1.3Perbandinganavalancheeffectdarialgoritmasubstitusivigeneredenganperulanganenkripsialgoritmasubstitusivigeneredantransposisicolumnar.........25
4.1.4Perbandinganbebankomputasidenganmelihatlamarunningtimedari3algoritmayaituvigenere,kombinasivigenere&transposisi,danperulanganenkripsivigenere&transposisi..............................................................................................31
BABV................................................................................................................................33
5.1KESIMPULAN..........................................................................................................33
5.2SARAN.....................................................................................................................33
DAFTARPUSTAKA.............................................................................................................34
LAMPIRAN........................................................................................................................35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
DAFTAR TABEL
Tabel 2.2.1 bujur sangkar vigenere ...................................................................... 10
tabel 2.2.2 contoh enkripsi bujur sangkar vigenere .............................................. 11 Tabel 2.1.3.4 Contoh urutan cipher transposisi columnar ................................... 12
Tabel 3.3.1 parameter enkripsi .............................................................................. 17
Tabel 4.1.3.1 perbandingan avalanche effect algoritma substitusi vigenere
dengan perulangan enkripsi algoritma substitusi vigenere dan transposisi
columnar ............................................................................................................... 20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR GAMBAR
Gambar 2.1.2.1 sistem kriptografi .................................................................................... 7
Gambar 2.1.3.1 kunci simetris .......................................................................................... 8
Gambar 2.1.4.1 kunci simetris .......................................................................................... 9
Gambar 3.1.1 proses perulangan enkripsi algoritma substitusi vigenere dengan transposisi
columnar ........................................................................................................................................ 13
Gambar 3.2.1 menghitung jarak hamming distance ......................................................... 15
Gambar 4.1.1.1 chart perbandingan avalanche effect dari pesan atau plaintteks ............. 19
Gambar 4.1.2.1 chart perbandingan avalanche effect dari kunci substitusi vigenere ....... 20
Gambar 4.1.4.1 perbandingan avalanche effect dengan jumlah 100 iterasi ........ 26
Gambar 4.1.5.1 grafik perulangan enkripsi 100 iterasi algoritma transposisi
columnar dengan jumlah kolom 5 ......................................................................... 27
Gambar 4.1.5.2 grafik perulangan enkripsi 100 iterasi algoritma transposisi
columnar dengan jumlah kolom 13 ....................................................................... 28
Gambar 4.1.6.1 grafik perulangan enkripsi 100 iterasi algoritma substitusi
vigenere dengan kunci awal “thebestsecretkey” .................................................. 29
Gambar 4.1.6.2 grafik perulangan enkripsi 100 iterasi algoritma substitusi
vigenere dengan kunci beda 2bit dari kunci awal ................................................. 30
Gambar 4.1.7.1 grafik running time enkripsi ........................................................ 31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
DAFTAR RUMUS
Rumus 2.2.2 enkripsi vigenere .......................................................................................... 10
Rumus 2.2.3 dekripsi vigenere .......................................................................................... 11
Rumus 3.2.2 avalanche effect ........................................................................................... 16
Rumus 3.2.3 hamming distance ........................................................................................ 16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Dewasa ini orang-orang menggunakan perangkat eletronik untuk bertukar
informasi atau data, Informasi kini menjadi salah satu aspek penting dalam
kehidupan. Dengan begitu mengirimkan suatu informasi penting atau dirahasiakan
harus dijamin keamanannya. Karena itulah tercipta sebuah ilmu dan seni untuk
menjaga kerahasiaan pesan dengan cara menyandikannya hingga hanya orang
yang memiliki kunci yang dapat mengerti dan disebut dengan Kriptografi.
Kriptografi sendiri menyandikan pesan (plainteks) dengan cara mengkonversi
plainteks menggunakan kunci dengan teknik enkripsi tertentu dan menghasilkan
pesan yang teracak atau bahkan tidak dimengerti (chiperteks). Sejak pertama kali
munculnya kriptografi, metode enkripsi selalu mengalami perubahan. Metode ini
berkembang dari waktu ke waktu mulai dari algoritma kriptografi klasik hingga
kriptografi modern, dari yang menggunakan kunci-simetris hingga kunci-
asimetris. Semua perkembangan ini terjadi dengan satu tujuan, yaitu sesulit
mungkin untuk dipecahkan, dengan kata lain meningkatkan keamanan. Untuk
membuat sebuah algoritma enkripsi yang sulit dipecahkan, ada beberapa syarat.
Syarat-syarat tersebut adalah kunci yang harus benar-benar acak dan panjang
kunci harus sama dengan panjang plainteks sehingga plainteks yang sama tidak
selalu menghasilkan cipherteks yang sama. Seperti yang telah diketahui bahwa
ada algoritma klasik yang cukup terkenal yaitu Vigènere Cipher, kelebihan dari
vigenere chiper ini mempunyai kekuatan dapat mencegah frekuensi huruf-huruf di dalam chiperteks yang memiliki pola tertentu yang sama, seperti yang
terjadi pada chiper abjad-tunggal. Pada chiper abjad-tunggal, huruf yang paling
sering muncul di chiperteks merupakan substitusi dari huruf yang paling sering
muncul di plainteks. Karena itu, dengan teknik analisis frekuensi, kriptanalis bisa
dengan mudah menebak huruf tersebut. Namun, pada Vigènere chiper hal tersebut
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
tidak bisa dilakukan karena satu macam huruf pada plainteks mungkin dienkripsi
menjadi beberapa macam huruf pada chiperteks. Kelemahan vigenere dipecahkan
menggunakan metode kasiski dengan memanfaatkan vigenere yang menggunakan
kunci yang sama berulang-ulang sehingga menghasilkan potongan cipherteks
yang sama untuk plainteks yang sama [1]. Algoritma yang kedua adalah
transposisi, kelebihan transposisi sendiri dapat menjadi tambahan kekuatan
enkripsi untuk chiper lain, kekurangan transposisi dengan frekuensi kemunculan
karakter cipherteks sama dengan plainteks sehingga bisa diserang menggunakan
analisis frekuensi.
1.2 RUMUSAN MASALAH
Berdasarkan latar belakang yang dipaparkan, rumusan masalah yang didapat
adalah bagaimana hasil kekaburan chiperteks perulangan enkripsi pada algoritma
substitusi vigenere dengan transposisi columnar.
1.3 TUJUAN PENELITIAN
Tujuan dari tugas akhir ini adalah :
1. Melakukan proses analisis terhadap pesan yang telah di enkripsi
menggunakan algoritma perulangan substitusi vigenere dan transposisi
columnar.
2. Mengetahui kekaburan hasil perulangan enkripsi menggunakan metode
hamming distance dan avalanche effect.
3. Mengetahui beban komputasi saat proses perulangan enkripsi terjadi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.4 MANFAAT PENELITIAN
Hasil dari penelitian ini diharapkan dapat digunakan sebagai sumbangan
penelitian dalam bidang kriptografi.
1.5 BATASAN MASALAH
Batasan masalah dalam penelitian ini adalah:
1. Penelitian ini melakukan proses enkripsi dan menganalisis.
2. Penelitian ini tidak melakukan proses dekripsi.
3. Algoritma yang digunakan untuk enkripsi dan analisis adalah algoritma
substitusi vigenere dan transposisi columnar.
4. Tidak menjabarkan pemrograman secara spesifik.
5. Teks yang digunakan untuk proses enkripsi dan analisis hanya dari 1
bahasa, yaitu bahasa Indonesia dan penelitian ini tidak membahas tentang
pengaruh bahasa.
6. Metode yang digunakan untuk melihat berapa kabur enkripsi adalah
hamming distance dan avalanche effect.
7. Pesan, kunci dan jumlah perulangan dari kedua algoritma telah ditentukan
oleh penulis.
8. Menggunakan metrik unjuk kerja :
8.1 Hamming distance
8.2 Avalanche effect
8.3 Total running time enkripsi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.6 METODOLOGI PENELITIAN
Metode yang dilakukan dalam penelitian ini meliputi:
1. Studi Pustaka:
Mempelajari literatur yang dapat membantu dalam penelitian ini, seperti
buku, karya tulis ilmiah, majalah, maupun informasi dari internet yang
berkaitan dengan algoritma substitusi vigenere chiper dan transposisi
columnar.
2. Pembuatan Alat Uji
alat yang digunakan pada tugas akhir ini menggunakan java netbeans
IDE 8.2.
3. Analisis Hasil Pengujian
Hasil pengujian didasarkan pada performance matrix yang diperoleh
dari proses pengujian.
4. Penarikan Kesimpulan
Penarikan kesimpulan didasarkan pada beberapa performance matrix
yang diperoleh pada proses analisis data.
1.7 SISTEMATIKA PENULISAN
BAB I: PENDAHULUAN
Bab ini berisi penjelasan tentang latar belakang masalah, rumusan masalah,
tujuan penelitian, manfaat penelitian, batasan masalah, metodologi penelitian,
dan sistematika penulisan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
BAB II: LANDASAN TEORI
Bab ini berisi tentang dasar teori yang digunakan sebagai dasar dalam
melakukan penelitian tugas akhir.
BAB III: METODE PENELITIAN
Bab ini menjelaskan proses perancangan dari “Analisis Kekaburan
Chiperteks Hasil Perulangan Enkripsi Algoritma Substitusi Vigenere dan
Transposisi Columnar” meliputi langkah proses dari awal enkripsi dan
proses analisis.
BAB IV: PENGUJIAN DAN ANALISIS
Bab ini berisi tentang cara kerja untuk melakukan analisis kekaburan hasil
perulangan enkripsi menggunakan metode hamming distance dan avalanche
effect.
BAB V: KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan hasil penelitian dan saran dari penulis untuk penelitian selanjutnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
LANDASAN TEORI
2.1 KRIPTOGRAFI
Sebelum ditemukan algoritma kriptografi modern, jaman dahulu masih
menggunakan teknik enkripsi kriptografi klasik, kriptografi klasik sendiri masih
menggunakan karakter, yaitu enkripsi dan dekripsi dilakukan pada setiap karakter
pesan. Semua algoritma klasik termasuk ke dalam sistem kriptografi simetris dan
digunakan jauh sebelum kriptografi kunci publik ditemukan.
2.1.1 Tujuan Kriptografi Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga
merupakan aspek keamanan informasi yaitu :
1. Kerahasiaan, adalah aspek yang digunakan untuk menjaga isi dari
informasi dari siapapun kecuali yang memiliki otoritas atau kunci
rahasia untuk membuka/mengupas informasi yang telah disandi.
2. Integritas data, adalah keaslian data atau tidak terjadinya
perubahan data. Untuk menjaga integritas data, kriptografi harus
mampu mencegah dan mendeteksi adanya penyusupan pihak -
pihak yang tidak berwenang yang ingin memanipulasi data, antara
lain penyisipan, penghapusan, dan pensubsitusian data lain
kedalam data yang sebenarnya.
3. Autentikasi, adalah aspek yang berhubungan dengan pengenalan
antara penerima ataupun pengirim, baik secara kesatuan sistem
maupun informasi itu sendiri. Dua pihak yang saling
berkomunikasi harus saling memperkenalkan diri. Informasi yang
dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya,
waktu pengiriman, dan lain-lain.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
4. Non-repudiasi atau nirpenyangkalan adalah usaha untuk mencegah
terjadinya penyangkalan terhadap pengiriman/terciptanya suatu
informasi oleh pengirim. [5]
2.1.2 Sistem Kriptografi
Kriptografi membentuk sebuah sistem yang dinamakan
sistem Kriptografi. Sistem kriptografi adalah komponen – komponen
yang digunakan pada algoritma kriptografi untuk melakukan proses
enkripsi dan dekripsi. Di dalam kriptografi, cipher hanyalah salah satu
komponen saja, seperti gambar berikut
Gambar 2.1.2.1 sistem kriptografi
Istilah-istilah yang digunakan dalam bidang kriptografi antara
lain :
• Plainteks, merupakan data atau pesan asli yang ingin
dikirim.
• Cipherteks, merupakan data hasil enkripsi.
• Enkripsi, merupakan proses untuk mengubah plainteks
menjadi chiperteks.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
• Deskripsi, merupakan proses untuk mengubah chiperteks
menjadi plainteks atau pesan asli.
• Key(Kunci), suatu bilangan atau karakter yang
dirahasiakan, dan digunakan untuk proses enkripsi dan
deskripsi.
Pada intinya system kriptografi adalah sistem kriptografi
yang meliputi algoritma, plainteks, cipherteks, dan key (kunci). Secara
umum, kriptografi terdiri dari dua buah bagian utama yaitu bagian
enkripsi dan bagian dekripsi. Enkripsi adalah proses pengubahan
pesan (plaintteks) menjadi pesan yang tidak dapat dibaca atau
dimengerti (chiperteks) agar pesan terlindungi dari pihak yang tidak
berhak. Sedangkan dekripsi adalah proses kebalikan dari enkripsi,
yaitu mengubah kembali pesan yang terenkripsi (chipertteks) ke
bentuk pesan awal (plaintteks). Proses enkripsi dari plainteks ke
chiperteks di kontrol oleh kunci enkripsi itu sendiri.
2.1.3 Kriptografi klasik
Algoritma ini digunakan sejak sebelum era komputerisasi dan
kebanyakan menggunakan teknik kunci simetris. Metode
menyembunyikan pesannya adalah dengan teknik substitusi atau
transposisi atau keduanya. Teknik substitusi adalah menggantikan
karakter dalam plaintext menjadi karakter lain yang hasilnya adalah
ciphertext. Sedangkan transposisi adalah teknik mengubah plaintext
menjadi ciphertext dengan cara permutasi karakter. Kombinasi
keduanya secara kompleks adalah yang melatarbelakangi
terbentuknya berbagai macam algoritma kriptografi modern. Ciri-ciri
kriptografi klasik yaitu:
• Berbasis karakter
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
• Menggunakan pena dan kertas saja, belum ada computer
• Termasuk ke dalam kriptografi kunci simetris. [5]
Gambar 2.1.3.1 kunci simetris
simetris atau sering disebut algoritma kriptografi
konvensional adalah algoritma yang menggunakan kunci yang sama
untuk proses enkripsi dan proses deskripsi.
2.1.4 Kriptografi Modern
Algoritma ini memiliki tingkat kerumitan yang kompleks
pada enkripsi dan dekripsinya karena kekuatan dari algoritma
kriptografi modern berasal dari kuncinya yang independen atau
asimetris.
Dengan adanya computer digital yang canggih pada jaman
sekarang, kriptografi modern menggunakan pengolahan bilangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
binary. Sehingga membutuhkan pengetahuan terhadap matematika
untuk menguasainya.
Gambar 2.1.4.1 kunci asimetris
asimetris adalah algoritma yang menggunakan kunci yang
berbeda untuk proses enkripsi dan deskripsi. Dimana kunci enkripsi
dapat disebarkan kepada umum dan dinamakan sebagai kunci publik
(public key), sedangkan kunci deskripsi disimpan untuk digunakan
sendiri dan dinamakan sebagai kunci pribadi (private key). Oleh
karena itu. Adapun contoh algoritma yang menggunakan kunci
asimetris adalah RSA (Riverst Shamir Adleman)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
2.2 SUBSTITUSI VIGENERE
Vigènere Cipher adalah metode enkripsi abjad majemuk manual.
Pada dasarnya, Vigenere Cipher menggunakan bujursangkar Vigenere
Cipher untuk melakukan enkripsi. Setiap baris pada dibujursangkar
menyatakan huruf-huruf cipherteks yang diperoleh dengan Caesar
Cipher. Bedanya, pada Vigenere Cipher, setiap huruf pada plainteks
dienkripsi menggunakan kunci yang berbeda. Huruf pertama pada
plainteks dienkripsi dengan kunci yang berupa huruf pertama pada
kata kunci dan begitu seterusnya. Jika panjang kunci lebih pendek
daripada panjang plainteks, maka kunci diulang secara periodik. Oleh
karena itu, jika panjang kuncinya adalah satu huruf, maka enkripsi
sama saja dengan Caesar Cipher biasa.
Berikut adalah bujursangkar Vigenere.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Tabel 2.2.1 bujur sangkar vigenere
Cara menggunakan bujursangkar Vigènere adalah sebagai berikut:
baris paling atas menyatakan huruf-huruf plainteks dan kolom paling
kiri menyatakan huruf-huruf pada kunci. Pertama tarik garis vertikal
dari huruf plainteks kebawah. Setelah itu tarik garis horizontal dari
huruf kunci ke kanan. Cari titik perpotongannya. Perpotongan kedua
garis tersebut menyatakan huruf cipherteks dari huruf plainteks yang
bersangkutan [2]. Enkripsi vigenere didapat dengan rumus:
rumus c(p) = (p+k) mod 26 ....................................... 2.2.2
Berikut adalah contoh plainteks dan cipherteks dengan
menggunakan Vigènere Cipher:
tabel 2.2.2 contoh enkripsi bujur sangkar vigenere
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Plainteks: THIS PLAINTEXT
Kunci: sony
Cipherteks: LVVQ HZNGFHRVL
Terlihat dari contoh diatas bahwa huruf yang sama tidak
selalu dienkripsi menjadi huruf cipherteks yang sama pula. Hal ini
merupakan karateristik dari cipher abjad-majemuk yaitu setiap huruf
cipherteks dapat memiliki kemungkinan bnayak huruf plainteks.
Dengan karakteristik ini, Vigènere Cipher dapat mencegah frekuensi
huruf-huruf didalam cipherteks yang mempunyai pola tertentu sana
seperti pada cipher abjadtunggal. Dekripsi pada Vigènere Cipher
dapat dilakukan dengan cara sebaliknya, yaitu menarik garis
horizontal ke kanan dari huruf kunci hingga ditemukan huruf
cipherteks yang dituju, kemudian dari huruf cipherteks tersebut ditarik
garis vertikal ke atas sampai ke huruf plainteks. Secara umum
dekripsi Vigènere Cipher dapat dirumuskan sebagai berikut:
Rumus : p = (c-k) mod 26 ....................................... 2.2.3
Dilihat dari kedua rumus tersebut, dapat dilihat bahwa
karakteristik dari cipher abjad-majemuk adalah setiap huruf cipherteks
dapat memiliki kemungkinan banyak huruf plainteks. Berbeda dengan
cipher substitusi sederhana dimana setiap huruf cipherteks selalu
menggantikan huruf plainteks tertentu. Vigènere Cipher dapat
mencegah frekuensi huruf-huruf dalam cipherteks yang mempunyai
pola tertentu yang sama seperti pada cipher abjad-tunggal. Jika
periode kunci diketahui dan tidak terlalu panjang, maka kunci dapat
ditentukan dengan menulis program komputer untuk melakukan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
exhaustive key search. Tetapi akan sangat sulit jika mencari kuncinya
dengan menggunakan exhaustive key search karena usaha ini
membutuhkan percobaan sebanyak 26p kali.
2.3 TRANSPOSISI COLUMNAR
Pada cipher transposisi, huruf-huruf di dalam plainteks tetap
saja, hanya saja urutannya diubah. Dengan kata lain algoritma ini
melakukan transpose terhadap rangkaian karakter di dalam teks. Nama
lain untuk metode ini adalah permutasi atau pengacakan (scrambling)
karena transpose setiap karakter di dalam teks sama dengan
mempermutasikan karakter-karakter tersebut. [1]
Contoh cipher transposisi :
PLAINTEKS : BUKU PESANAN TELAH DIKIRIM
KEY : 6
Tabel 2.1.3.4 Contoh urutan cipher transposisi columnar
Key: 6
Hasil dari enkripsi transposisi diatas menjadi
BSEK PNDM UALI KNAR UAHI ETI
1 2 3 4 5 6
B U K U P E
S A N A N T
E L A H D I
K I R I M
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
Plainteks di bagi menjadi n kolom atau pada contoh diatas
dibagi menjadi 6 kolom, kemudian sesuai urutan dari kolom karakter
diurutkan menjadi chiperteks. Hasil ini disesuaikan dengan urutan
karakter kunci sesuai dengan urutan posisi alphabet.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
BAB III
METODOLOGI PENELITIAN
3.1 PERULANGAN ENKRIPSI SUBSTITUSI VIGENERE &
TRANSPOSISI COLUMNAR
Berdasarkan latar belakang penelitian, maka kebutuhan dari hasil
penelitian ini adalah analisa proses terhadap pesan yang telah di enkripsi.
Metode perulangan enkripsi vigenere dan transposisi adalah metode
enkripsi dengan cara mengulang algoritma substitusi Vigenere dan
transposisi columnar sebanyak beberapa iterasi dengan menggunakan
kunci yang sama. Metode perulangan enkripsi dapat digambarkan sebagai
berikut:
Gambar 3.1.1 proses perulangan enkripsi algoritma substitusi vigenere dengan
transposisi columnar
plaintteks
enkripsivigenerechiper
enkripsitransposisi
chiperteks
hasilperulanganenkripsi
Perulanganniterasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Proses yang terjadi terbagi menjadi dua bagian. Enkripsi vigenere
dan teknik transposisi yang kemudian akan di ulang sampai beberapa
iterasi. Bila dijabarkan, cipherteks diperoleh dengan enkripsi vigenere
chiper plainteks dan hasilnya ditransposisi kemudian diulang sebanyak
beberapa iterasi. Untuk metode enkripsi ini, spasi tidak diperhitungkan
sehingga lebih baik dihilangkan saja.
3.1.1 Kebutuhan Input
1. Menggunakan beberapa kalimat atau teks panjang sebagai
plainteks.
2. Menggunakan beberapa karakter huruf sebagai kunci
substitusi vigenere.
3. menggunakan angka sebagai kunci transposisi columnar.
4. Menggunakan angka sebagai jumlah iterasi yang
dibutuhkan.
3.1.2 Kebutuhan Proses
1. Enkripsi sebuah plainteks di enkripsi menggunakan
algoritma substitusi vigenere.
2. Hasil chiperteks enkripsi algoritma substitusi vigenere
kemudian dienkripsi kembali menggunakan algoritma
transposisi columnar.
3. Chiperteks hasil dari kedua enkripsi dilakukan perulangan
sampai beberapa iterasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
3.1.3 Kebutuhan Output
Dari proses perulangan enkripsi dihasilkan beberapa chiperteks
sesuai dengan jumlah iterasi yang diinputkan.
3.2 MATRIKS UNJUK KERJA
Terdapat tiga matriks unjuk kerja yang digunakan untuk
menganalisis perulangan enkripsi yaitu :
• Hamming distance
Algoritma Hamming Distance merupakan salah satu dari
algoritma approximate string matching, Cara kerja
algoritma Hamming Distance yaitu dengan mengukur jarak
antara dua string yang ukurannya sama dengan
membandingkan simbol-simbol yang terdapat pada kedua
string pada posisi yang sama [3]. Hamming distance dari
dua string adalah jumlah simbol dari kedua string yang
berbeda. Sebagai contoh algoritma Hamming distance dapat
diilustrasikan sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
Gambar 3.2.1 menghitung jarak hamming distance
Dari ilustrasi di atas, nilai Hamming Distance yang
diperoleh yaitu 1, jarak antar dua string binary misalnya
jarak antara „111101‟ dengan „111011‟ yaitu 2 , algoritma
Hamming Distance tidak dapat digunakan untuk mengukur
atau membandingkan string dengan panjang yang berbeda
[3].
• Avalanche effect
Avalanche effect adalah salah satu karakteristik yang
menjadi acuan untuk menentukan baik atau tidaknya sebuah
algoritma kriptografi yaitu perubahan sebuah bit pada
plaintext atau kunci yang dapat menghasilkan perubahan
beberapa bit dari cipherteks [4].
!"#$#%&ℎ((**(&+ = -./0.1-23-456-.7
383.9:6;9.7-23<100 ......3.2.2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
• Running Time Enkripsi
Running Time adalah waktu yang dibutuhkan oleh sebuah
algoritma untuk menyelesaikan proses enkripsi maupun dekripsi.
Running Time dihitung mulai dari algoritma dimulai sampai
algoritma berhenti.
?@%%A%BCAD( = (F#G+@#GℎAH– F#G+@#F#$) ............3.2.3
waktu akhir = waktu yang diambil dari akhir proses enkripsi.
waktu awal = waktu yang diambil sebelum melakukan enkripsi.
3.3 PARAMETER ENKRIPSI
Tabel 3.3.1 parameter enkripsi
Parameter Inputan Plainteks 1 Gregorius magnus mega
sanjaya
Plainteks 2 10kb, 100kb, 200kb,
500kb, 1000kb
Kunci substitusi
vigenere
Thebestsecretkey
Kunci
transposisi
columnar
5 kolom, 13kolom
Jumlah iterasi 5 iterasi & 100 iterasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
3.4 ALAT PENELITIAN
3.4.1 Hardware
Dalampenelitianini,pengujimenggunakanPCdenganprosessorintel(R)core(TM)i7-2600CPU@3.40GHzRAM16GBdengansistemoperasiwindows1064bit.
3.4.2 Software
• Java Netbeans IDE 8.2 merupakan Integrated Development Enviroment
Java.
• MATLAB R2018a
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
BAB IV
PENGUJIAN DAN ANALISIS
Untuk melakukan evaluasi terhadap unjuk kerja perulangan enkripsi algoritma
substitusi vigenere dan transposisi columnar, maka dilakukan running program
dan pengujian dengan menggunakan rancangan skenario yang sudah dijelaskan
pada Bab III, Data diperoleh dari output yang dihasilkan ketika proses program
berlangsung dan kemudian menjadi bahan untuk dilakukan analisis.
4.1 HASIL SIMULASI
4.1.1 Perbandingan avalanche effect enkripsi berdasarkan variasi dari pesan
Gambar 4.1.1.1 grafik perbandingan avalanche effect dari pesan atau plaintteks
Pengujian pertama perbandingan berapa persen avalanche
effect variasi pesan algoritma substitusi vigenere dengan kombinasi
algoritma substitusi vigenere & transposisi columnar, dengan
39,4240,87 41,35
44,23 44,7145,67
36
38
40
42
44
46
48
pesanawal beda1bit beda2bit
kekabu
ran(%
)
variasipesan
Avalancheeffectvariasipesan
viginere
viginere&transposisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
variasi pesan awal “gregoriusmagnusmegasanjaya” yang dihasilkan
dengan kunci tetap vigenere “thebestsecretkey” dan kunci tetap
transposisi “5”. Hasil dari ciphertext dari kedua enkripsi diubah ke
dalam bilangan biner dan dihitung berapa banyak bit yang berubah
dari plaint-text aslinya. Dari penelitian ini terlihat hasil dari
kombinasi antara vigenere dan transpoisisi pada gambar 4.1.1.1
memiliki avalanche effect yang lebih tinggi daripada hasil dari
enkripsi algoritma substitusi vigenere saja, pada pesan dengan
perbedaan 2 bit terlihat lebih tinggi daripada pesan awal.
4.1.2 Perbandingan avalanche effect enkripsi berdasarkan variasi dari kunci
Gambar 4.1.2.1 grafik perbandingan avalanche effect dari kunci substitusi vigenere
Pengujian kedua perbandingan berapa persen avalanche
effect kunci algoritma substitusi vigenere dengan kombinasi
algoritma substitusi vigenere & transposisi columnar, dengan pesan
39,42 39,42 39,42
44,2343,27 43,27
373839404142434445
katakuncidasar beda1bit beda2bit
kekabu
ran(%
)
variasikunci
Avalancheeffectvariasikunci
viginere
viginere&transposisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
tetap “gregoriusmagnusmegasanjaya” dan variasi kunci awal
“thebestsecretkey” lalu kunci transposisi “5”. Hasil ciphertext dari
kedua enkripsi diubah ke dalam bilangan biner dan dihitung berapa
banyak bit yang berubah dari plaint-text aslinya. Dari penelitian ini
terlihat hasil dari kombinasi antara vigenere dan transpoisisi pada
gambar 4.4.2 memiliki avalanche effect yang lebih tinggi daripada
hasil dari enkripsi algoritma vigenere saja namun variasi kunci
tidak begitu berpengaruh terhadap hasil enkripsi vigenere saja.
Pada kombinasi enkripsi substitusi vigenere dan transposisi
columnar justru avalanche effect menurun karena perubahan pada
kunci.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
4.1.3 Perbandingan avalanche effect dari algoritma substitusi vigenere dengan perulangan enkripsi algoritma substitusi vigenere dan transposisi columnar
Tabel 4.1.3.1 perbandingan avalanche effect algoritma substitusi vigenere dengan
perulangan enkripsi algoritma substitusi vigenere dan transposisi columnar
Algoritma Plaintteks Kunci
vigenere
Kunci
transpos
isi
Iteras
i
Jumlah
bit
beruba
h
Avalanch
e effect
Vigenere
Gregoriusmagnus
megasanjaya
Thebestse
cretkey
- - 82 39,42%
Rata-rata 82 39,42%
Perulangan
enkripsi
Vigenere &
transposisi
Gregoriusmagnu
smegasanjaya
Thebestse
cretkey
5
1 92 44,23%
2 93 44,71%
3 88 42,31%
4 93 44,71%
5 96 46,15%
Rata-rata 92 44,42%
Pengujian ketiga perbandingan berapa persen nilai
avalanche effect dari algoritma substitusi vigenere dengan
perulangan enkripsi algoritma substitusi vigenere & transposisi
columnar. Hasil dari ciphertext dari kedua proses perulangan
enkripsi diubah ke dalam bilangan biner dan dihitung berapa
banyak bit yang berubah dari plaint-text aslinya. Dari data
penelitian pada table 4.1.3.1 Ditemukan enkripsi dengan kekaburan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
yang tertinggi pada iterasi ke 5 pada perulangan enkripsi, dengan
begitu hasil avalanche effect dari perulangan enkripsi vigenere &
transposisi lebih bagus dari vigenere saja namun terjadi penurunan
pada iterasi ketiga itu terjadi karena pengulangan atau kesamaan
frasa akibat perulangan enkripsi.
4.1.4 avalanche effect pada perulangan enkripsi algoritma substitusi viginere dan transposisi dengan jumlah iterasi 100 kali.
Gambar 4.1.4.1 grafik perbandingan avalanche effect dengan jumlah 100 iterasi
Pengujian perbandingan berapa persen nilai avalanche
effect perulangan enkripsi algoritma substitusi viginere &
transposisi columnar menggunakan 100 iterasi. Hasil dari
ciphertext dari proses perulangan enkripsi diubah ke dalam
bilangan biner dan dihitung berapa banyak bit yang berubah dari
plaint-text aslinya. Dari data penelitian pada table 4.1.5.1
Ditemukan enkripsi dengan kekaburan yang tertinggi pada iterasi
0
10
20
30
40
50
60
1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77 81 85 89 93 97
bitb
erub
ah(%
)
jumlahiterasi(100)
Avalancheeffect100iterasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
ke 95 dengan hasil 50% dan terendah pada iterasi 40 dengan hasil
28,37% pada perulangan enkripsi.
4.1.5 pengaruh algoritma transposisi columnar terhadap hasil cipherteks di setiap iterasi pada perulangan enkripsi
Gambar 4.1.5.1 grafik perulangan enkripsi 100 iterasi algoritma transposisi columnar
dengan jumlah kolom 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Gambar 4.1.5.2 grafik perulangan enkripsi 100 iterasi algoritma transposisi columnar
dengan jumlah kolom 13
Pengujian selanjutnya dilatar belakangi oleh pengujian
sebelumnya yang terlihat pada gambar grafik 4.1.4.1 bahwa avalanche effect dapat turun setiap beberapa iterasi, maka dari itu
pengujian ini meninjau pengaruh algoritma transposisi columnar
pada perulangan enkripsi algoritma substitusi viginere &
transposisi columnar menggunakan 100 iterasi. Hasil dari
ciphertext dari proses perulangan enkripsi diolah menggunakan
matlab untuk mencari periode dan titik optimal dari
kekaburannya[6]. Dari data penelitian pada grafik 4.1.5.1 & 4.1.5.2
ditemukan periode perulangan kekaburannya. Pada grafik 4.1.5.1
terlihat periode kekaburan adalah 10 iterasi, karena pada setiap 10
iterasi avalanche effect akan turun. Sementara itu pada grafik
4.1.5.2 periode perulangan terjadi setiap 5 iterasi. Dengan begitu
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
algoritma transposisi columnar menyebabkan munculnya periode
kekaburan pada perulangan enkripsi algoritma substitusi vigenere
dan transposisi columnar.
4.1.6 pengaruh algoritma substitusi vigenere terhadap hasil cipherteks di setiap iterasi pada perulangan enkripsi
Gambar 4.1.6.1 grafik perulangan enkripsi 100 iterasi algoritma substitusi vigenere
dengan kunci awal “thebestsecretkey”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 4.1.6.2 grafik perulangan enkripsi 100 iterasi algoritma substitusi vigenere
dengan kunci beda 2bit dari kunci awal
Pengujian pengaruh algoritma substitusi vigenere pada
perulangan enkripsi algoritma substitusi viginere & transposisi
columnar menggunakan 100 iterasi. Hasil dari ciphertext dari
proses perulangan enkripsi diolah menggunakan matlab untuk
mencari periode kekaburannya [6]. Dari data penelitian pada grafik
4.1.6.1 & 4.1.6.2 algoritma vigenere tidak berpengaruh terhadap
munculnya periode pada grafik 4.1.4.1, karena pada kedua grafik
perbedaan dari kunci awal dan beda 2 bit titik optimalnya pada
posisi dan pola yang sama.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
4.1.7 Perbandingan beban komputasi dengan melihat lama running time dari
3 algoritma yaitu vigenere, kombinasi vigenere & transposisi, dan
perulangan enkripsi vigenere & transposisi.
Gambar 4.1.7.1 grafik running time enkripsi
Running time enkripsi menguji berapa total waktu yang
dibutuhkan dalam proses enkripsi file berupa txt yang berukuran
mulai dari 10kb, 100kb, 200kb, 500kb dan 1000kb, running time
yang diujikan adalah perbandingan dari vigenere, vigenere &
transposisi dan perulangan enkripsi vigenere & transposisi dengan
kunci vigenere untuk enkripsi adalah “THEBESTSECRETKEY”,
kunci transposisi “5” dengan 5 iterasi. Dari hasil running time
perulangan enkripsi terlihat pada beban komputasinya semakin
tinggi apabila ukuran plaint text juga bertambah besar, dengan
begitu jika jumlah iterasi dan ukuran plaint text yang besar maka
kurang efisien jika menggunakan teknik perulangan enkripsi
dengan algoritma substitusi vigenere dan transposisi columnar
349 16060 67996403590
1841691
86 3651 1544286290
417440
63 3485 14099 96056
393588
0
200000
400000
600000
800000
1000000
1200000
1400000
1600000
1800000
2000000
10kb 100kb 200kb 500kb 1000kb
time(m
s)
ukuranpesan
Runningtimeenkripsi
perulanganenkripsiviginere&transposisi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
karena akan memerlukan waktu enkripsi yang lama dan beban
komputasi yang tinggi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Setelah melakukan pengujian dan analisis pada data hasil simulasi,
kesimpulan yang didapat adalah sebagai berikut:
• Enkripsi berbasis perulangan enkripsi menggunakan vigenere dan
transposisi memiliki kelemahan yaitu pada beban komputasi
dimana memerlukan waktu yang cukup lama untuk enkripsi apabila
semakin banyak iterasi.
• Kombinasi algoritma vigenere dan transposisi memiliki kekaburan
pesan yang lebih tinggi dari vigenere saja, dilihat dari beban
komputasi perbandingan dari kedua algoritma hasilnya tidak terlalu
besar namun effect kekaburan yang dihasilkan cukup bagus.
• Algoritma transposisi columnar menyebabkan kekaburan yang
periodik atau avalanche effect yang kecil setiap iterasi tertentu
sedangkan algoritma vigenere tidak menyebabkan periode
kekaburan.
5.2 SARAN
Untuk penelitian lebih lanjut diharapkan dapat menerapkan kombinasi enkripsi antara 2 algoritma modern untuk menghasilkan kekaburan pesan yang tinggi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
DAFTAR PUSTAKA
[1] Munir, Rinaldi, Slide Algoritma Kriptografi bagian 1 dan bagian 2,
Program Studi Teknik Informatika. Tanggal akses: 15 Maret 2011.
[2] Maureen Linda Caroline, “Metode Enkripsi baru : Triple Transposition
Vigènere Cipher,” Program Studi Teknik Informatika, Sekolah Teknik Elektro
dan Informatika, Institut Teknologi Bandung
[3] Mohammad Norouzi, DavidJ.Fleet, RuslanSalakhutdinov,
“HammingDistanceMetricLearning,” Departments of Computer Science and
Statistics, University of Toronto
[4] Kumar, A., & Tiwari, N. (2012). Effective Implementation and Avalanche
Effect of AES. International Journal of Security, Privacy and Trust Management
(IJSPTM), 1(3), 31 35. https://doi.org/10.5121/ijsptm.2012.1303
[5] Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi : Teori Analisis &
Implementasi. Yogyakarta : Andi.
[6] https://www.mathworks.com/help/signal/ug/find-periodicity-using-
frequency-analysis.html
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
LAMPIRAN
public class perulanganenkripsi {
public static void main(String[] args) throws IOException {
ArrayList temp = new ArrayList();
ArrayList tempBiner = new ArrayList();
ArrayList tempPersen = new ArrayList();
ArrayList tempBeda = new ArrayList();
String a = "";
int keyTrans = 0;
Scanner sc = new Scanner(System.in);
String msg = hapusSpace(inputFile("pt.txt").toString());
String keyVig = hapusSpace(inputFile("Key.txt").toString());
System.out.print("");
System.out.print("");
boolean koreksi = true;
while (koreksi) {
System.out.print("Masukan Key Transposition : ");
keyTrans = sc.nextInt();
if (msg.length()
36
for (int i = 0; i < iterasi; i++) {
long awalEnkripIterasi = System.currentTimeMillis();
msg = viginere(msg, keyVig);
msg = transposition(msg, keyTrans);
temp.add(msg);
long akhirEnkripIterasi = System.currentTimeMillis();
System.out.println("Runing Time Iterasi-" + (i + 1) + " : " + (akhirEnkripIterasi - awalEnkripIterasi) + " ms");
}
long akhirEnkrip = System.currentTimeMillis();
System.out.println("Runing Time Total : " + (akhirEnkrip - awalEnkrip) + " ms");
for (int i = 0; i < temp.size(); i++) {
tempBiner.add(toBinary(temp.get(i)));
}
String arrBinerAsli = tempBiner.get(0); //temp 0 itu plainteks
double beda = 0;
double jumBiner = arrBinerAsli.length();
double persenBeda = 0;
DecimalFormat df = new DecimalFormat("#.##");
for (int i = 1; i < temp.size(); i++) {
beda = hammingDist(arrBinerAsli, tempBiner.get(i));
persenBeda = beda / jumBiner * 100.0;
tempBeda.add(String.valueOf(beda));
tempPersen.add(String.valueOf(df.format(persenBeda)) + "%");
}
System.out.printf("%-9s %-10s %-10s %n", "Iterasi", "Kekaburan", "percentage");
for (int i = 0; i < tempBeda.size(); i++) {
System.out.printf("%-9d %-10s %-10s %n", (i + 1), tempBeda.get(i), tempPersen.get(i));
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
private static String toBinary(String s) {
String temp = s;
byte[] bytes = s.getBytes();
for (byte b : bytes) {
}
StringBuilder binary = new StringBuilder();
for (byte b : bytes) {
int val = b;
for (int i = 0; i < 8; i++) {
binary.append((val & 128) == 0 ? 0 : 1);
val
38
cipher += (char) (plainText.charAt(i) + shift(key, i) - 26);
} else {
cipher += (char) ((plainText.charAt(i) + shift(key, i)));
}
}
return cipher;
}
private static String transposition(String msg, int key) {
ArrayList cipher = new ArrayList();
String text = "";
StringBuilder txt = new StringBuilder(text);
for (int i = 0; i < key; i++) {
int pointer = i;
String msg_char = Character.toString(msg.charAt(i));
cipher.add(msg_char);
while (pointer < msg.length()) {
String pointer_char = Character.toString(msg.charAt(pointer));
txt.append(cipher.get(i).replace(msg_char, pointer_char));
pointer += key;
}
}
String hasil = String.valueOf(txt);
return hasil;
}
public static StringBuilder inputFile(String file) {
BufferedReader br = null;
String sCurrentLine;
try {
br = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException ex) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
System.out.println("File tidak ditemukan!");
System.exit(0);
}
StringBuilder builder = new StringBuilder();
try {
while ((sCurrentLine = br.readLine()) != null) {
builder.append(sCurrentLine).append("");
}
} catch (IOException ex) {
}
return builder;
}
public static String hapusSpace(String data) {
for (int i = 0; i < data.length(); i++) {
if (data.charAt(i) == ' ') {
data = charRemoveAt(data, i);
}
}
return data;
}
public static String charRemoveAt(String str, int p) {
return str.substring(0, p) + str.substring(p + 1);
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
public class perbandingan
{
private static String viginere(String plainText, String key) {
plainText = plainText.toUpperCase().replaceAll("[^a-zA-Z]", "");
key = key.toUpperCase();
String cipher = "";
for (int i = 0; i < plainText.length(); i++) {
if (plainText.charAt(i) + shift(key, i) > 90) {
cipher += (char) (plainText.charAt(i) + shift(key, i) - 26);
} else {
cipher += (char) ((plainText.charAt(i) + shift(key, i)));
}
}
return cipher;
}
private static String transposition(String msg, int key) {
ArrayList cipher = new ArrayList();
String text = "";
StringBuilder txt = new StringBuilder(text);
for (int i = 0; i < key; i++) {
int pointer = i;
String msg_char = Character.toString(msg.charAt(i));
cipher.add(msg_char);
while (pointer < msg.length()) {
String pointer_char = Character.toString(msg.charAt(pointer));
txt.append(cipher.get(i).replace(msg_char, pointer_char));
pointer += key;
}
}
String hasil = String.valueOf(txt);
return hasil;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
}
private static String toBinary(String s) {
String temp = s;
byte[] bytes = s.getBytes();
for (byte b : bytes) {
}
StringBuilder binary = new StringBuilder();
for (byte b : bytes) {
int val = b;
for (int i = 0; i < 8; i++) {
binary.append((val & 128) == 0 ? 0 : 1);
val
42
String msg = hapusSpace(inputFile("10kb.txt").toString());
String keyVig = hapusSpace(inputFile("Key.txt").toString());
System.out.print("Masukan Key Transposition : ");
keyTrans = sc.nextInt();
System.out.print("");
long awalEnkripIterasi = System.currentTimeMillis();
String encryptedMsg = viginere(msg, keyVig);
String encryptedMsg1 = transposition(encryptedMsg, keyTrans);
long akhirEnkripIterasi = System.currentTimeMillis();
System.out.println("Runing Time "+ (akhirEnkripIterasi - awalEnkripIterasi) + " ms");
System.out.println("Jumlah bit : " + toBinary(encryptedMsg1).length());
System.out.println("Jumlah bit berubah : " + hammingDist(toBinary(msg), toBinary(encryptedMsg1)));
double bitChange = hammingDist(toBinary(msg), toBinary(encryptedMsg1));
double bitTotal = toBinary(encryptedMsg1).length();
System.out.println("Avalanche Effect : " + String.format("%.2f", (bitChange / bitTotal) * 100) + "%");
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
public class bacaData {
private String dataText;
private String dataTextKey;
public bacaData() {
this.dataText = "";
this.dataTextKey = "";
FileInputStream finput = null;
FileInputStream keyinput = null;
int data = 0;
//membuka file
try {
finput = new FileInputStream("hasil.txt");
keyinput = new FileInputStream("Key.txt");
} catch (IOException e) {
}
//membaca data dari dalam file dan menpilkanya ke layar
try {
while ((data = finput.read()) != -1) {
//ketika di tampikan data di konversi ketipe char
this.dataText = this.dataText + String.valueOf((char) data);
}
while ((data = keyinput.read()) != -1) {
//ketika di tampikan data di konversi ketipe char
this.dataTextKey = this.dataTextKey + String.valueOf((char) data);
}
} catch (IOException e) {
}
try {
finput.close();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
} catch (IOException e) {
}
}
public String getBacaKey(){
return this.dataTextKey;
}
public String getBacaData() {
return this.dataText;
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Recommended