Top Banner
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
60

ANALISIS KEKABURAN CHIPERTEKS HASIL PERULANGAN ENKRIPSI ALGORITMA … · 2019. 8. 23. · ii HALAMAN PERSETUJUAN SKRIPSI ANALISIS KEKABURAN CHIPERTEKS HASIL PERULANGAN ENKRIPSI ALGORITMA

Feb 15, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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