-
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)[email protected].
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