Implementasi Kombinasi Beaufort Cipher Dan Affine Cipher Pada Three-Pass Protocol Untuk Pengamanan Data

(1)

UNTUK PENGAMANAN DATA

SKRIPSI

AZIZAH MEI SARI SEBAYANG

101401091

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

IMPLEMENTASI KOMBINASI BEAUFORT CIPHER DAN AFFINE CIPHER PADA THREE-PASS PROTOCOL

UNTUK PENGAMANAN DATA

SKRIPSI

Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

AZIZAH MEI SARI SEBAYANG 101401091

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(3)

Judul : IMPLEMENTASI KOMBINASI BEAUFORT CIPHER DAN AFFINE CIPHER PADA THREE - PASS

PROTOCOL UNTUK PENGAMANAN DATA

Kategori : SKRIPSI

Nama : AZIZAH MEI SARI SEBAYANG

Nomor Induk Mahasiswa : 101401091

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Agustus 2014

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Andri Budiman, ST, M.Comp.Sc, MEM Maya Silvi Lydia, B.Sc, M.Sc NIP. 197510082008011011 NIP. 197401272002122001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001


(4)

ii

PERNYATAAN

IMPLEMENTASI KOMBINASI BEAUFORT CIPHER DAN AFFINE CIPHER PADA THREE-PASS PROTOCOL

UNTUK PENGAMANAN DATA

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, Agustus 2014

Azizah Mei Sari Sebayang 101401091


(5)

PENGHARGAAN

Puji dan syukur kehadirat Allah SWT, yang memberikan rahmat dan karuniaNya sehingga penulis dapat menyelesaikan penyusunan skripsi yang berjudul ‘IMPLEMENTASI KOMBINASI BEAUFORT CIPHER DAN AFFINE CIPHER PADA THREE-PASS PROTOCOL UNTUK PENGAMANAN DATA’ sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Shalawat dan salam kepada Rasulullah SAW.

Ucapan terima kasih penulis sampaikan kepada:

1. Bapak Prof. Dr. Dr. Syahril Pasaribu, DTM&H, M.Sc(CTM). Sp.A(K) selaku Rektor Universitas Sumatera Utara.

2. Bapak Prof. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembanding

4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembimbing.

5. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku Dosen Pembimbing.

6. Bapak Syahriol Sitorus, S.Si, MIT selaku Dosen Pembanding.

7. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar dan pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.


(6)

iv

8. Ayahanda Zainal Sebayang, S.Sos dan ibunda Dra. Asriati Kaban, yang selalu memberikan do’a, kasih sayang dan dukungannya kepada penulis.

9. Abangnda Abdul Aziz Sebayang, Adinda Zaid Hasan Sebayang, dan Adinda Latifah Febri Aini Sebayang dan Fitriana Ramadhansyah yang selalu memberikan semangat, canda, hiburan kepada penulis.

10. Keluarga UKMI Al Khuwarizmi, IKLC, SGC USU, RTIK dan teman - teman Organisasi IMILKOM yang selalu memberikan semangat dan inspirasi kepada penulis

11. Sahabat – Sahabat Nurhennida Br. Sitepu, Hayatun Nufus, Yayang Kurniati, dan Fanny Fairina N yang selalu memberikan semangat dan dorongan kepada penulis selama menyelesaikan skripsi ini.

12. Teman - teman 2010 Aulia, Reni, Amel, Poppy, Nurul, Sadam, Arifin, Hamdi, Adit, Novri, Westhy, Lenora, Sunfirst yang selalu saling memberikan motivasi kepada penulis

13. Adik - adik yang tercinta khususnya Geubrima, Dina, Fitri, Resti, Kiky, Tika, Indri, Ifa, Citra, Rezky, Neno, Rossy, Ilmi, Novi, Vici, Ranti, Diah, Ami, Rahmi, Dea, Fatimah, Rama, Ani, dll yang selalu memberikan dorongan dan do’anya kepada penulis

Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Akhirnya, semoga skripsi ini bermanfaat bagi pribadi, keluarga, masyarakat, organisasi dan negara.

Medan, Juni 2014


(7)

ABSTRAK

Kriptografi terbagi dua jenis yaitu kriptografi klasik dan modern. Pada penerapannya kriptografi modern lebih dipercaya oleh masyarakat sebagai teknik untuk mengamankan data, tetapi tidak sedikit masyarakat yang masih menggunakan kriptografi klasik dengan cara mengkombinasi dua algoritma kriptografi klasik. Algoritma Affine Cipher dan Beaufort Cipher yang merupakan varian dari Vigenère Cipher adalah algoritma yang dikategorikan ke dalam kriptografi klasik dengan jenis cipher subsitusi. Pada penerapannya kedua algoritma tersebut memiliki kelemahan masing – masing. Affine Cipher memiliki kelemahan yaitu memiliki ukuran kunci yang kecil. Ukuran kunci yang kecil menyebabkan algoritma ini dapat dipecahkan dengan pencarian brute force. Sedangkan keamanan Beaufort Cipher tergantung dengan jumlah karakter kunci yang digunakan, semakin banyak jumlah kunci yang digunakan semakin sulit kemungkinan kunci dipecahkan. Pada penelitian ini akan dikembangkan kombinasi dua algoritma klasik Beaufort Cipher dan Affine Cipher dengan metode Three-pass Protocol yang diharapkan dapat memperbaiki kelemahan algoritma Affine Cipher yang memiliki kunci yang pendek dan kelemahan Beaufort Cipher yang memiliki panjang kunci tergantung pada plainteks. Pengacakan kunci dilakukan dengan RandomNumber Python dan Algoritma Lehmann Primality test. Implementasi sistem menggunakan bahasa pemrograman Python 3.1.3 dan SharpDevelop 4.1. Pengujian dilakukan terhadap plainteks 12, 20 dan 60 karakter. Parameter pengujian adalah keutuhan data, kompleksitas algoritma dan waktu proses. Hasil penelitian menunjukkan bahwa kombinasi kedua algoritma Beaufort Cipher dan Affine Cipher mengembalikan data plainteks awal yang utuh. Pengujian kompleksitas algoritma diperoleh (n). Sehingga disimpulkan kombinasi kedua algoritma Beaufort Cipher dan Affine Cipher memenuhi keutuhan data yang baik, kompleksitas algoritma

) (n

 dan jumlah plainteks berbanding lurus terhadap waktu.

Kata Kunci: Kriptografi, Beaufort Cipher, Affine Cipher, Three-pass Protocol, Lehmann.


(8)

vi

IMPLEMENTATION OF BEAUFORT CIPHER AND AFFINE CIPHER

COMBINATION IN THREE-PASS PROTOCOL

FOR DATA SECURITY

ABSTRACT

Cryptography is divided into two types classical and modern cryptography. In the application of modern cryptography is more trusted as a technique for securing the data, but a few people still use classical cryptographic algorithms by combining two classical cryptography. Affine Cipher Algorithm and Beaufort Cipher which is a variant of the algorithm Vigenère Cipher is categorized into classical cryptography with the type of substitution cipher. In practice both these algorithms have each weakness. The weakness of Affine Cipher is a short key sizes. Short key size causes the algorithm can be solved by brute force search. While security Beaufort Cipher key depends on the number of characters used. The more plaintext, the more of keys that are used, it’s difficult to solve key possibilities. This research will develop a combination of two classic algorithms Beaufort Cipher and Affine Cipher with Three-pass Protocol methods. This method is expected can improve the weaknesses of Affine Cipher algorithm which has short key and the weaknesses Beaufort cipher that has a key length depends on the plaintext. Randomization was performed with the key by Python RandomNumber and Lehmann primality test. Implementation of systems using Python programming language 3.1.3 and SharpDevelop 4.1. Tests performed on the plaintext which 12, 20 and 60 characters. Parameter testing is the integrity of data, the complexity of the algorithms and processing time. The results showed that the combination of both algorithms Beaufort Cipher and Affine Cipher restoring the intact plaintext. Testing the algorithm complexity is obtained (n). Thus concluded the combination of both algorithms Beaufort Cipher and Affine Cipher fulfill the integrity of the data, the complexity of the algorithm is (n) and the number of plaintext is directly proportional to the time.

Keywords: Cryptography, Beaufort Cipher, Affine Cipher, Three-pass Protocol, Lehmann.


(9)

DAFTAR ISI

Halaman

Persetujuan i

Pernyataan ii

Penghargaan iii

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Daftar Lampiran xii

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 4

1.3 Batasan Masalah 4

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

1.6 Metodologi Penelitian 5

1.7 Sistematika Penulisan 7

Bab 2 Landasan Teori

2.1 Kriptografi 8

2.1.1 Definisi Kriptografi 8

2.1.2 Tujuan Kriptografi 8

2.1.3 Sistem Kriptografi Klasik 9

2.1.4 Sistem Kriptografi Modern 10

2.2 Three-pass Protocol 11

2.3 Affine Cipher 12

2.4 Vigenere Cipher 13

2.4.1 Varian Vigenere Cipher 16

2.5 Penelitian yang Relevan 18

Bab 3 Analisis dan Perancangan

3.1 Analisis Sistem 19

3.1.1 Analisis Masalah 19

3.1.2 Analisis Kebutuhan 22

3.1.2.1 Kebutuhan Fungsional 22 3.1.2.2 Kebutuhan Nonfungsional 23

3.1.3 Analisis Proses 24

3.1.4 Pseudocode 24

3.1.4.1 Pseudocode Mencari File 24 3.1.4.2 Pseudocode Membaca File 25 3.1.4.3 Pseudocode Kunci Beaufort Cipher 25


(10)

viii

3.1.4.4 Pseudocode Enkripsi Beaufort Cipher 26 3.1.4.5 Pseudocode Algoritma Lehmann 26 3.1.4.6 Pseudocode Enkripsi Affine Cipher 27 3.1.4.7 Pseudocode Dekripsi Beaufort Cipher 27 3.1.4.8 Pseudocode Dekripsi Affine Cipher 27

3.2 Perancangan Sistem 28

3.2.1 Flowchart 28

3.2.1.1 Flowchart Beaufort Cipher 28

3.2.1.2 Flowchart Kunci Beaufort Cipher 29

3.2.1.3 Flowchart Affine Cipher 29

3.2.1.4 Flowchart Kunci Affine Cipher 30

3.2.1.5 Flowchart Sistem 31

3.2.2 Use Case 33

3.2.2.1 Use Case Diagram 33

3.2.3 Sequence Diagram 34

3.2.4 Activity Diagram 35

3.2.5 Mock-up 36

3.2.5.1 Halaman Awal 36

3.2.5.2 Halaman Beranda 37

3.2.5.3 Halaman Algoritma 38

3.2.5.4 Halaman Sistem 38

Bab 4 Implementasi dan Pengujian

4.1 Implementasi 41

4.1.1 Halaman Awal 41

4.1.2 Halaman Beranda 42

4.1.3 Halaman Algoritma 42

4.1.4 Halaman Sistem 43

4.2 Pengujian 44

4.2.1 Kunci Beaufort Cipher 45

4.2.2 Kunci Affine Cipher 47

4.2.3 Enkripsi Beaufort Cipher 48

4.2.4 Enkripsi Affine Cipher 51

4.2.5 Dekripsi Beaufort Cipher 53

4.2.6 Dekripsi Affine Cipher 55

4.2.7 Pengujian Kombinasi Kedua Algoritma 58

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 60

5.2 Saran 61


(11)

DAFTAR TABEL

Halaman

Tabel 2.1 Bujursangkar Vigenere 15

Tabel 4.1 Proses Perhitungan Kunci Beaufort Cipher 46 Tabel 4.2 Proses Perhitungan Kunci Affine Cipher 47

Tabel 4.3 Proses Enkripsi Beaufort Cipher 48

Tabel 4.4 Proses Enkripsi Affine Cipher 50

Tabel 4.5 Proses Dekripsi Beaufort Cipher 51

Tabel 4.6 Proses Enkripsi Affine Cipher 52

Tabel 4.7 Kompleksitas Algoritma Enkripsi Beaufort Cipher 53 Tabel 4.8 Kompleksitas Algoritma Enkripsi Affine Cipher 54 Tabel 4.9 Kompleksitas Algoritma Dekripsi Beaufort Cipher 54 Tabel 4.10 Kompleksitas Algoritma Dekripsi Affine Cipher 55 Tabel 4.11 Waktu Proses pada Plainteks 12 Karakter 56 Tabel 4.12 Waktu Proses pada Plainteks 20 Karakter 56 Tabel 4.13 Waktu Proses pada Plainteks 60 Karakter 57


(12)

x

DAFTAR GAMBAR

Halaman

Gambar 1.1 Diagram Proses Algoritma Affine Cipher 3 Gambar 1.2 Diagram Proses Algoritma Vigenere Cipher 3

Gambar 1.3 Alur Diagram Sistem 3

Gambar 2.1 Sistem Kriptografi Simetrik 10

Gambar 2.2 Sistem Kriptografi Asimetrik 11

Gambar 2.3 Skema Cara Kerja Three-pass Protocol 12

Gambar 2.4 Skema Affine Cipher 12

Gambar 2.5 Skema Vigenere Cipher 14

Gambar 3.1 Diagram Ishikawa Masalah Penelitian 21

Gambar 3.2 Pseudocode Mencari File 24

Gambar 3.3 Pseudocode Membaca File 25

Gambar 3.4 Pseudocode Kunci Beaufort Cipher 25

Gambar 3.5 Pseudocode Enkripsi Beaufort Cipher 26 Gambar 3.6 Pseudocode Algoritma Lehmann dan Generator Bilangan Prima 26

Gambar 3.7 Pseudocode Enkripsi Affine Cipher 27

Gambar 3.8 Pseudocode Dekripsi Beaufort Cipher 27

Gambar 3.9 Pseudocode Dekripsi Affine Cipher 27

Gambar 3.10 Flowchart Algoritma Beaufort Cipher 28

Gambar 3.11 Flowchart Kunci Beaufort Cipher 29

Gambar 3.12 Flowchart Algoritma Affine Cipher 30 Gambar 3.13 Flowchart A. Fungsi Pengacak Bilangan Prima 31

Gambar 3.13 Flowchart B. Fungsi Bilangan Acak 31

Gambar 3.14 Flowchart Sistem 32

Gambar 3.15 Use Case Diagram Sistem 33

Gambar 3.16 Sequence Diagram Sistem 34

Gambar 3.17 Activity Diagram Sistem 35

Gambar 3.18 Mock-up Halaman Awal 36

Gambar 3.19 Mock-up Aksi konfirmasi keluar Sistem 37

Gambar 3.20 Mock-up Halaman Beranda 37

Gambar 3.21 Mock-up Halaman Algoritma 38


(13)

Gambar 4.1 Tampilan Halaman Awal 41

Gambar 4.2 Tampilan Halaman Beranda 42

Gambar 4.3 Tampilan Halaman Algoritma 43

Gambar 4.4 Tampilan Halaman Sistem 43

Gambar 4.5 Tampilan contoh pengujian Plainteks = kriptografi. 45 Gambar 4.6 Tampilan Plainteks Awal dan Acak Kunci Beaufort Cipher 46 Gambar 4.7 Tampilan Plainteks Awal dan Acak Kunci Affine Cipher 47

Gambar 4.8 Tampilan Hasil Cipherteks I 48

Gambar 4.9 Tampilan Hasil Cipherteks II 49

Gambar 4.10 Tampilan Hasil Cipherteks III 50

Gambar 4.11 Tampilan Hasil Plainteks Awal Kembali 52 Gambar 4.12 Grafik Hubungan Waktu Proses dan Karakter Plainteks 58


(14)

xii

DAFTAR LAMPIRAN

Halaman

A. Listing Program A-1


(15)

ABSTRAK

Kriptografi terbagi dua jenis yaitu kriptografi klasik dan modern. Pada penerapannya kriptografi modern lebih dipercaya oleh masyarakat sebagai teknik untuk mengamankan data, tetapi tidak sedikit masyarakat yang masih menggunakan kriptografi klasik dengan cara mengkombinasi dua algoritma kriptografi klasik. Algoritma Affine Cipher dan Beaufort Cipher yang merupakan varian dari Vigenère Cipher adalah algoritma yang dikategorikan ke dalam kriptografi klasik dengan jenis cipher subsitusi. Pada penerapannya kedua algoritma tersebut memiliki kelemahan masing – masing. Affine Cipher memiliki kelemahan yaitu memiliki ukuran kunci yang kecil. Ukuran kunci yang kecil menyebabkan algoritma ini dapat dipecahkan dengan pencarian brute force. Sedangkan keamanan Beaufort Cipher tergantung dengan jumlah karakter kunci yang digunakan, semakin banyak jumlah kunci yang digunakan semakin sulit kemungkinan kunci dipecahkan. Pada penelitian ini akan dikembangkan kombinasi dua algoritma klasik Beaufort Cipher dan Affine Cipher dengan metode Three-pass Protocol yang diharapkan dapat memperbaiki kelemahan algoritma Affine Cipher yang memiliki kunci yang pendek dan kelemahan Beaufort Cipher yang memiliki panjang kunci tergantung pada plainteks. Pengacakan kunci dilakukan dengan RandomNumber Python dan Algoritma Lehmann Primality test. Implementasi sistem menggunakan bahasa pemrograman Python 3.1.3 dan SharpDevelop 4.1. Pengujian dilakukan terhadap plainteks 12, 20 dan 60 karakter. Parameter pengujian adalah keutuhan data, kompleksitas algoritma dan waktu proses. Hasil penelitian menunjukkan bahwa kombinasi kedua algoritma Beaufort Cipher dan Affine Cipher mengembalikan data plainteks awal yang utuh. Pengujian kompleksitas algoritma diperoleh (n). Sehingga disimpulkan kombinasi kedua algoritma Beaufort Cipher dan Affine Cipher memenuhi keutuhan data yang baik, kompleksitas algoritma

) (n

 dan jumlah plainteks berbanding lurus terhadap waktu.

Kata Kunci: Kriptografi, Beaufort Cipher, Affine Cipher, Three-pass Protocol, Lehmann.


(16)

vi

IMPLEMENTATION OF BEAUFORT CIPHER AND AFFINE CIPHER

COMBINATION IN THREE-PASS PROTOCOL

FOR DATA SECURITY

ABSTRACT

Cryptography is divided into two types classical and modern cryptography. In the application of modern cryptography is more trusted as a technique for securing the data, but a few people still use classical cryptographic algorithms by combining two classical cryptography. Affine Cipher Algorithm and Beaufort Cipher which is a variant of the algorithm Vigenère Cipher is categorized into classical cryptography with the type of substitution cipher. In practice both these algorithms have each weakness. The weakness of Affine Cipher is a short key sizes. Short key size causes the algorithm can be solved by brute force search. While security Beaufort Cipher key depends on the number of characters used. The more plaintext, the more of keys that are used, it’s difficult to solve key possibilities. This research will develop a combination of two classic algorithms Beaufort Cipher and Affine Cipher with Three-pass Protocol methods. This method is expected can improve the weaknesses of Affine Cipher algorithm which has short key and the weaknesses Beaufort cipher that has a key length depends on the plaintext. Randomization was performed with the key by Python RandomNumber and Lehmann primality test. Implementation of systems using Python programming language 3.1.3 and SharpDevelop 4.1. Tests performed on the plaintext which 12, 20 and 60 characters. Parameter testing is the integrity of data, the complexity of the algorithms and processing time. The results showed that the combination of both algorithms Beaufort Cipher and Affine Cipher restoring the intact plaintext. Testing the algorithm complexity is obtained (n). Thus concluded the combination of both algorithms Beaufort Cipher and Affine Cipher fulfill the integrity of the data, the complexity of the algorithm is (n) and the number of plaintext is directly proportional to the time.

Keywords: Cryptography, Beaufort Cipher, Affine Cipher, Three-pass Protocol, Lehmann.


(17)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Seringnya menggunakan media elektronik dalam mengirim atau tukar - menukar informasi dan data, menurut Hamir yang dikutip dari (http://bppt.go.id/, 2011) peluang untuk disadap oleh pihak lain sangat besar. Lembaga pemerintah memiliki kewajiban memberikan informasi kepada publik. Namun, proses pengamanan tetap sangat penting. Ancaman yang dapat terjadi bisa berbentuk ideologi, politik, ekonomi, bahkan dapat berbentuk iptek dan informasi. Ancaman informasi dapat terjadi karena dua faktor, yaitu internal dan eksternal. Faktor internal bisa disebabkan oleh kecerobohan pegawai dalam menyampaikan informasi yang sebenarnya terbatas, tidak tertibnya administrasi surat rahasia dan tidak digunakannya perangkat pengamanan, misalnya tidak menggunakan persandian enkripsi ataupun kriptografi.

Kriptografi terbagi dua jenis yaitu kriptografi klasik dan modern. Pada penerapannya kriptografi modern lebih dipercaya oleh masyarakat sebagai teknik untuk mengamankan data, tetapi tidak sedikit masyarakat yang masih menggunakan kriptografi klasik dengan cara mengkombinasi dua algoritma kriptografi klasik (Sadikin, 2012). Algoritma Affine Cipher dan Beaufort Cipher yang merupakan varian dari Vigenère Cipher adalah algoritma yang dikategorikan ke dalam kriptografi klasik dengan jenis cipher subsitusi. Pada penerapannya kedua algoritma tersebut memiliki kelemahan masing – masing. Affine Cipher memiliki kelemahan yaitu memiliki ukuran kunci yang kecil. Ukuran kunci yang kecil menyebabkan algoritma ini dapat dipecahkan dengan pencarian brute force. Sedangkan keamanan Beaufort Cipher tergantung dengan jumlah karakter kunci yang digunakan, semakin banyak jumlah kunci yang digunakan semakin sulit kemungkinan kunci dipecahkan. Alur diagram kelemahan kedua algoritma ini seperti Gambar 1.1 dan Gambar 1.2.


(18)

2

Terdapat banyak penelitian yang sudah dilakukan untuk menutupi kelemahan kedua algoritma Affine Cipher dan Beaufort Cipher . Seperti halnya penelitian yang dilakukan oleh Winata (2012), beliau menganalisis beberapa kombinasi algoritma kriptografi klasik dan menyimpulkan bahwa kombinasi Affine Cipher dan Vigenère Cipher adalah kombinasi yang paling kuat. Penelitian yang lain juga dilakukan oleh Juliadi (2013), beliau mengimplementasikan Affine Cipher dan diperkuat dengan VigenèreCipher sehingga menghasilkan cipherteks yang sulit dipecahkan.

Three-pass protocol merupakan salah satu metode kriptografi berbasis protokol. Protokol ini pertama kali dikembangkan oleh Adi Shamir, seorang ahli kriptografi tahun 1980. Protokol yang dikembangkan ini dikenal dengan Shamir No-Key Exchange Protocol. Disebut dengan three-pass protocol karena pengirim dan penerima pesan melakukan penukaran sebanyak tiga tahap untuk mengenkripsi pesan, sehingga memungkinkan pengirim dan penerima mengirim dan menerima pesan tanpa harus mendistribusikan kunci. Pada dasarnya three-pass protocol ini diimplementasikan dengan menggunakan satu algoritma enkripsi dan dekripsi yang telah disepakati oleh pihak pengirim dan pihak penerima. Pada penelitian yang dilakukan oleh Pramana (2013), beliau menggunakan three-pass protocol dalam mengimplementasikan algoritma Massey-Omura Cryptosystem untuk keamanan email dengan Algoritma Lehmann sebagai prime generator. Beliau menyimpulkan algoritma tersebut relatif aman. Selain itu telah dilakukan juga penelitian oleh Kanamori (2009), beliau mengggunakan three-pass protocol dan mendistribusi kunci dengan metode Quantum.

Untuk mengatasi kelemahan yang terdapat pada algoritma Affine cipher dan Beaufort cipher, maka kedua algoritma ini akan dikombinasikan pada three-pass protocol. Sehingga pendistribusian kunci tidak dilakukan dan menghindari mudahnya kunci dipecahkan. Penelitian mengombinasikan algoritma kriptografi klasik dengan metode three-pass protocol sudah dilakukan oleh Oktaviana (2012), beliau mengombinasikan Caesar Cipher dengan VigenèreCipher pada three-pass protocol. Beliau menyimpulkan kombinasi kedua algoritma tersebut relatif aman dan sederhana. Penelitian mengenai varian Vigenère cipher yaitu Beaufort cipher masih sedikit dikembangkan sehingga terkesan langka. Berdasarkan uraian di atas, maka penulis


(19)

mengambil tugas akhir dengan judul “Implementasi kombinasi algoritma Beaufort

Cipher dan Affine Cipher pada Three-pass Protocol untuk pengamanan data”.

Gambar 1.1 Diagram proses Algoritma Affine Cipher

Gambar 1.2 Diagram proses Algoritma Vigenère Cipher

Pada Gambar 1.1 menunjukkan diagram proses algoritma Affine Cipher. Pengirim mengirimkan hasil enkripsinya kepada pihak penerima berupa cipherteks CMW melalui saluran umum dan mengirimkan kunci enkripsinya melalui saluran aman. Pada Gambar 1.2 menunjukkan proses algoritma Vigenère Cipher. Pengirim mengirimkan hasil enkripsinya kepada pihak penerima berupa cipherteks IUU melalui saluran umum dan mengirimkan kunci enkripsinya melalui saluran aman. Jika saluran aman pada proses kedua algoritma disusupi oleh penyadap maka berdasarkan pada Gambar 1.1 kunci a : 27 dan b : 2 dapat dengan cepat diketahui. Sama seperti Gambar 1.2 Jika saluran aman pada proses kedua algoritma disusupi oleh penyadap maka berdasarkan pada Gambar 1.2 kunci : IKA akan cepat diketahui.


(20)

4

1.2Rumusan Masalah

Berdasarkan penjabaran yang ada pada latar belakang, rumusan masalah yang akan dibahas adalah bagaimana implementasi kombinasi algoritma klasik pada three-pass protocol untuk pengamanan data.

1.3Batasan Masalah

Dalam hal mengimplementasikan kombinasi kedua algoritma ini terdapat beberapa batasan masalah sebagai berikut :

1. Pesan yang digunakan berupa file teks yang berekstensi *.doc

2. Plainteks dan cipherteks yang dapat dibuat berdasarkan ASCII printable character (kode karakter 32-127 kecuali simbol singlequote (‘) dan doublequote(“)

3. Implementasi berupa enkripsi dan dekripsi pesan saja.

4. Tools yang digunakan adalah Python 3.1.1 dan SharpDevelop 4.1

5. Parameter yang akan digunakan adalah keutuhan data, kompleksitas algoritma dan waktu proses.

1.4Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah untuk mengimplementasikan kombinasi algoritma Beaufort Cipher dan Affine Cipher pada Three-pass protocol untuk pengamanan data.

1.5Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah diharapkan dapat memudahkan masyarakat dalam hal merahasiakan pesan dengan cara yang sederhana dan aman.


(21)

1.6 Metodologi Penelitian

Metode penelitian yang dilakukan dalam penelitian ini adalah: 1. Studi pustaka

Pada tahap ini penelitian dimulai dengan peninjauan pustaka berupa buku – buku, artikel – artikel ilmiah, dan penelitian - penelitian yang didokumentasikan dalam bentuk jurnal yang berhubungan dengan Three-pass protocol, Affine cipher, Vigenère cipher, Varian Vigenère cipher (Beaufort Cipher)

2. Analisis dan Perancangan

Berkaitan dengan batasan masalah, pada tahap ini dianalisa apa saja yang dibutuhkan dalam penelitian ini dan selanjutnya dirancang dalam sebuah model alur diagram seperti pada Gambar 1.3.

3. Implementasi

Pada tahap ini perancangan alur diagram diimplementasikan dengan tools Python 3.1.3 dan SharpDevelop 4.1.

4. Pengujian

Pada tahap ini prototipe yang telah diimplementasikan dilakukan pengujian dengan file teks yang berekstensi *.doc.

5. Dokumentasi

Pada tahap ini pendokumentasian dilakukan selama penelitian, mulai dari analisa hingga pengujian dalam bentuk skripsi.


(22)

6

Gambar 1.3. Alur diagram sistem

Gambar 1.3 menunjukkan alur sistem yang akan dibuat dimulai dari memasukkan plainteks awal, selanjutnya akan dilakukan enkripsi dengan algoritma Beaufort Cipher sehingga menghasilkan cipherteks pertama. Selanjutnya dilakukan enkripsi dengan Affine Cipher dan menghasilkan cipherteks kedua. Selanjutnya dilakukan dekripsi Beaufort Cipher dan dihasilkan cipherteks ketiga. Pada tahap terakhir akan dilakukan dekripsi Affine Cipher dan mengembalikan plainteks awal.

Akhir Mulai

Plainteks

Plainteks Enkripsi Beaufort Cipher

Dekripsi Affine Cipher

Enkripsi Affine Cipher

Dekripsi Beaufort Cipher

Cipherteks 1

Cipherteks 2

Cipherteks 3


(23)

1.7 Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama, yaitu:

BAB 1 PENDAHULUAN

Bab ini menjelaskan latar belakang judul skripsi ”Implementasi kombinasi algoritma Beaufort Cipher dan Affine Cipher pada Three-pass Protocol untuk pengamanan data”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini berisi tentang penjelasan singkat mengenai sistem kriptografi secara umum, kriptografi klasik dan teori-teori dasar perhitungan yang digunakan dalam algoritma Affine cipher, Vigenère cipher, varian Vigenère cipher (Beaufort Cipher) dan bilangan acak.

BAB 3 ANALISIS DAN PERANCANGAN

Bab ini membahas analisis terhadap masalah penelitian dan perancangan terhadap sistem yang akan dibangun.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi implementasi algoritma Beaufort Cipher dan Affine Cipher pada Three-pass Protocol, selanjutnya pengujian terhadap sistem yang telah dibangun dengan beberapa sampel file teks, serta pembahasan hasil pengujian dan analisisnya.

BAB 5 KESIMPULAN DAN SARAN

Bab ini memuat kesimpulan dari keseluruhan uraian bab - bab sebelumnya dan saran berdasarkan hasil pengujian yang diharapkan dapat bermanfaat untuk pengembangan selanjutnya.


(24)

BAB 2

LANDASAN TEORI

2.1 Kriptografi

2.1.1 Definisi Kriptografi

Kriptografi adalah ilmu mengenai teknik enkripsi di mana data diacak menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh seseorang yang tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci dekripsi mendapatkan kembali data asli. Proses enkripsi dilakukan menggunakan suatu algoritma dengan beberapa parameter. Algoritma biasanya tidak dirahasiakan, bahkan enkripsi yang mengandalkan kerahasiaan algoritma dianggap sesuatu yang tidak baik. Rahasia terletak di beberapa parameter yang digunakan, jadi kunci ditentukan oleh parameter. Parameter yang menentukan kunci dekripsi itulah yang harus dirahasiakan (Kromodimoeljo, 2010)

Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun seiring perkembangannya kriptografi pada pengertian modern adalah ilmu yang bersandarkan pada teknik matematika untuk berurusan dengan keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi, bila diklasifikasikan terdapat kriptografi klasik dan kriptografi modern.

2.1.2 Tujuan Kriptografi

Kriptografi bertujuan untuk memberikan layanan keamanan sebagai berikut (Sadikin, 2012) :

1. Otentikasi

Otentikasi memberikan kepastian terhadap identitas setiap entitas yang terlibat dan sumber sebuah data.

2. Kendali Akses

Layanan keamanan jaringan yang menghalangi penggunaan tidak terotorisasi terhadap sumber daya.


(25)

3. Kerahasiaan (Confidentiality)

Data yang ditransmisikan diproteksi terhadap pengungkapan oleh pihak-pihak yang tidak berwenang.

4. Keutuhan Data (Data Integrity)

Data yang diterima oleh penerima dipastikan adalah sama dengan data yang dikirim oleh pengirim.

5. Non-Repudiation

Setiap entitas yang berkomunikasi tidak dapat menolak atau menyangkal atas data yang telah dikirim atau diterima.

6. Ketersediaan

Laayanan ini membuat sumber daya sistem tetap dapat diakses dan digunakan ketika ada permintaan dari pihak yang berwenang.

2.1.3 Sistem Kriptografi Klasik

Sistem kriptografi klasik umumnya telah digunakan jauh sebelum era komputer. Kriptografi klasik juga dibagi menjadi dua jenis cipher yaitu cipher transposisi yang mengubah susunan huruf - huruf di dalam pesan dan cipher substitusi yang mengganti setiap huruf atau kelompok huruf dengan sebuah huruf atau kelompok huruf lain. Kriptografi klasik, teknik enkripsi yang digunakan adalah enkripsi simetris dimana kunci dekripsi sama dengan kunci enkripsi. Penyandian ini berorientasi pada karakter. Terdapat 5 bagian dalam sistem kriptografi klasik (Sadikin, 2012) yaitu:

1. Plaintext

Pesan atau data dalam bentuk aslinya yang dapat dibaca dan masukan bagi algoritma enkripsi.

2. Secret Key

Masukan bagi algoritma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi.

3. Ciphertext

Hasil dari proses algoritma enkripsi dan teks asli dianggap telah tersembunyi. 4. Algoritma Enkripsi

Algoritma enkripsi memiliki 2 masukan yaitu teks asli dan kunci rahasia, kedua masukan tersebut akan diproses sehingga menghasilkan teks sandi.


(26)

10

5. Algoritma Dekripsi

Algoritma dekripsi memiliki 2 masukan yaitu teks sandi dan kunci rahasia, keduanya akan diproses sehingga menghasilkan teks asli.

2.1.4 Sistem Kriptografi Modern

Sistem kriptografi modern umumnya berorientasi pada bit. Untuk public key cryptography, diperlukan teknik enkripsi asimetris dimana kunci dekripsi tidak sama dengan kunci enkripsi. Enkripsi, dekripsi dan pembuatan kunci untuk teknik enkripsi asimetris memerlukan komputasi yang lebih intensif dibandingkan enkripsi simetris, karena enkripsi asimetris menggunakan bilangan - bilangan yang sangat besar. Beberapa mekanisme yang berkembang pada kriptografi modern (Sadikin, 2012) :

1. Penyandian dengan kunci simetrik (symmetric key encipherment).

Penyandian dengan kunci simetrik adalah penyandian yang kunci enkripsi dan kunci dekripsi bernilai sama. Penyandian ini masih digunakan pada kriptografi modern. Skema penyandian ini dapat digambarkan pada Gambar 2.1.

Gambar 2.1. Sistem Kriptografi Simetrik (Sumber : Sadikin, 2012)

2. Penyandian dengan kunci asimetrik (asymmetric key encipherment)

Penyandian dengan kunci asimetrik yang disebut juga dengan kunci publik adalah penyandian yang kunci enkripsi dan kunci dekripsi bernilai berbeda. Penyandian ini yang banyak dikembangkan. Skema penyandian ini dapat digambarkan pada Gambar 2.2.


(27)

Gambar 2.2 Sistem Kriptografi Asimetrik (Sumber : Fauzana, 2013)

Tidak seperti sistem kriptografi klasik di mana setiap entitas harus saling mengetahui kunci rahasia, sistem kriptografi modern yang juga disebut kriptografi kunci asimetrik, memiliki dua jenis kunci, yaitu kunci enkripsi dan kunci dekripsi yang berbeda. Dalam kriptografi kunci asimetris, hampir semua algoritma kriptografinya menggunakan konsep kunci publik, kecuali algoritma Pohlig - Hellman karena kunci enkripsi maupun kunci dekripsinya bersifat privat.

2.2Three-pass Protocol

Dalam kriptografi Three-pass protocol adalah konsep yang memungkinkan satu pihak bisa dengan aman mengirim pesan kepada pihak kedua tanpa harus bertukar atau mendistribusikan kunci enkripsi. Protokol ini pertama kali dikembangkan oleh Adi Shamir seorang ahli kriptografi pada tahun 1980. Protokol ini dimodifikasi oleh James Massey dan Jim K Omura yang disebut dengan Massey-omura. Keduanya adalah pakar teori informasi pada tahun 1982 (Pramana, 2013).

Three-pass protocol memiliki beberapa tahapan untuk dapat menyampaikan pesan itu dari pengirim kepada penerima. Berikut tahapannya (Pramana, 2013) : a. Pengirim memilih kunci enkripsi eA. Pengirim mengenkripsi pesan dengan

kunci dan mengirimkan pesan terenkripsi kepada penerima.

b. Penerima memiliki kunci enkripsi eB. Penerima mengenkripsi pesan )

, (

1 eA m

C dengan kunci dan mengirim pesan terenkripsi lagi ))

, ( ,

( 1

2 eB C eA m

C kepada pengirim.

A Algoritma Enkripsi Teks Asli B Algoritma Dekripsi

Kpublik B

Ciphertext Teks Asli

Pembangkit Kunci Kprivat B


(28)

12

c. Pengirim mendekripsi pesan C2(eB,C1(eA,m)) dengan menggunakan dA dan mengirim lagi pesan C3(eB,m) yang mana pesan ini dienkripsi oleh kunci penerima. Pengirim kembali mengirim pesan tersebut ke penerima dan kemudian penerima akan mendekripsi pesan tersebut dengan dB untuk bisa melihat pesan.

Tahapan - tahapan ini dapat diilustrasikan pada Gambar 2.3

Gambar 2.3 Skema cara kerja Three-pass protocol

2.3Affine Cipher

Affine cipher adalah perluasan dari Caesar cipher yang mengalikan plainteks dengan sebuah nilai dan menambahkannya dengan sebuah pergeseran. Skema sandi Affine cipher dapat diilustrasikan pada Gambar 2.4.

Gambar 2.4 Skema Affine Cipher

Secara matematis enkripsi plainteks P lalu menghasilkan cipherteks C dinyatakan dengan fungsi kongruen :

) (modn b mP

C  (1)

Berdasarkan persamaan (1), plainteks dapat dihitung sebagai berikut : Plainteks : M A H A S I S W A I L K O M


(29)

n = 26, m = 9, b = 2

M = 12.9 + 2 = 110 (mod 26) = 6 -> G A = 0.9 + 2 = 2 (mod 26) = 2 -> C

yang dalam hal ini n adalah ukuran alfabet, madalah bilangan bulat yang harus relatif prima dengan n dan b adalah jumlah pergeseran. Untuk melakukan dekripsi,

persamaan di atas harus dipecahkan untuk mendapatkan P. Solusi kekongruenan tersebut hanya ada di inversi m(mod n). Jika 1

m ada maka dekripsi dilakukan dengan persamaan :

) )(mod (

1

n b

C m

P   (2)

Berdasarkan persamaan (2), cipherteks dapat dikembalikan sebagai berikut : n = 26, m = 9, b = 2, m-1 = 3

G = 3. (6 – 2) (mod 26) = 12 -> M C = 3. (2 – 2) (mod 26) = 0 -> A

2.4 Vigenère Cipher

Vigenère Cipher mungkin adalah contoh terbaik dari cipher alphabet - majemuk. Algoritma ini dipublikasikan oleh diplomat sekaligus kriptologis Perancis, Blaise de Vigenère pada abad 16. Giovan Batista Belaso telah menggambarkannya pertama kali pada tahun 1553 seperti ditulis di dalam bukunya La Cifra del Sig. Vigenère Cipher dipublikasikan pada tahun 1586, tetapi algoritma tersebut baru dikenal luas 200 tahun kemudian yang oleh penemu sandi tersebut kemudian dinamakan Vigenère cipher (Winata, 2012).

Vigenère cipher sangat dikenal karena mudah dipahami dan diimplementasikan. Cipher menggunakan bujursangkar Vigenère untuk melakukan enkripsi. Kolom kiri dari bujursangkar menyatakan huruf - huruf kunci, sedangkan baris paling atas menyatakan huruf - huruf plainteks. Setiap baris di dalam bujursangkar menyatakan huruf - huruf cipherteks yang diperoleh dengan Caesar Cipher. Skema sandi Vigenère Cipher dapat diilustrasikan pada Gambar 2.5.


(30)

14

Gambar 2.5 Skema Vigenère Cipher

Bujursangkar Vigenère digunakan untuk memperoleh cipherteks dengan menggunakan kunci yang sudah ditentukan. Jika panjang kunci lebih pendek daripada panjang plainteks, maka kunci diulang penggunaannya. Bujursangkar Vigenère ditunjukkan pada Tabel 2.1.


(31)

Tabel 2.1 Bujursangkar Vigenère

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a A B C D E F G H I J K L M N O P Q R S T U V W X Y Z b B C D E F G H I J K L M N O P Q R S T U V W X Y Z A c C D E F G H I J K L M N O P Q R S T U V W X Y Z A B d D E F G H I J K L M N O P Q R S T U V W X Y Z A B C e E F G H I J K L M N O P Q R S T U V W X Y Z A B C D f F G H I J K L M N O P Q R S T U V W X Y Z A B C D E g G H I J K L M N O P Q R S T U V W X Y Z A B C D E F h H I J K L M N O P Q R S T U V W X Y Z A B C D E F G i I J K L M N O P Q R S T U V W X Y Z A B C D E F G H j J K L M N O P Q R S T U V W X Y Z A B C D E F G H I k K L M N O P Q R S T U V W X Y Z A B C D E F G H I J l L M N O P Q R S T U V W X Y Z A B C D E F G H I J K m M N O P Q R S T U V W X Y Z A B C D E F G H I J K L n N O P Q R S T U V W X Y Z A B C D E F G H I J K L M o O P Q R S T U V W X Y Z A B C D E F G H I J K L M N p P Q R S T U V W X Y Z A B C D E F G H I J K L M N O q Q R S T U V W X Y Z A B C D E F G H I J K L M N O P r R S T U V W X Y Z A B C D E F G H I J K L M N O P Q s S T U V W X Y Z A B C D E F G H I J K L M N O P Q R t T U V W X Y Z A B C D E F G H I J K L M N O P Q R S u U V W X Y Z A B C D E F G H I J K L M N O P Q R S T v V W X Y Z A B C D E F G H I J K L M N O P Q R S T U w W X Y Z A B C D E F G H I J K L M N O P Q R S T U V x X Y Z A B C D E F G H I J K L M N O P Q R S T U V W y Y Z A B C D E F G H I J K L M N O P Q R S T U V W X z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

Berdasarkan Tabel 2.1 plainteks dapat dihitung sebagai berikut : Plainteks : M A H A S I S W A I L K O M


(32)

16

Kunci : a z i m e y a z i m e y a z Cipherteks : M Z P M W G S V I U P I O L

Secara matematis, misalkan kunci dengan panjang m adalah rangkaian k1,k1...km,

plainteks adalah rangkaian p1,p1...pt dan cipherteks adalah rangkaian c1,c1...ct,

maka enkripsi pada Vigenère cipher dapat dinyatakan sebagai berikut : 26

mod )

( i r

i p k

c   ; (1it) (3)

dan

) (modm r

i (1rt)

Berdasarkan persamaan (3) huruf M dapat dienkripsi dengan kunci a dan z sebagai berikut :

(M + a) mod 26 = (12 + 0) mod 26 = 12 = M (M + z) mod 26 = (12 + 25) mod 26 = 11 = L

Dekripsi pada Vigenère dilakukan dengan cara yang berkebalikan, yaitu menarik garis mendatar dari huruf kunci sampai ke huruf cipherteks yang dituju, lalu dari huruf cipherteks Tarik garis vertikal ke atas sampai ke huruf plainteks. Secara matematis dekripsi dapat dinyatakan dengan persamaan :

26 mod )

( i r

i c k

p   (4)

Berdasarkan persamaan (4) huruf L dan M dapat didekripsi dengan kunci a dan z sebagai berikut :

(M - a) mod 26 = (12 - 0) mod 26 = 12 = M (L - z) mod 26 = (11 - 25) mod 26 = 12 = M

2.4.1 Varian Vigenère Cipher

Beaufort Cipher adalah salah satu varian dari Vigenère Cipher dimana cara melakukan enkripsi dan dekripsi hampir sama dengan melakukan enkripsi dan dekripsi pada Vigenère Cipher. Beaufort Cipher ditemukan oleh Laksamana Sir Francis Beaufort, Royal Navy, yang juga pencipta skala Beaufort, yang merupakan instrumen ahli meteorologi digunakan untuk menunjukkan kecepatan angin. (Mollin, 2007)


(33)

Cara melakukan enkripsi dan dekripsi Beaufort Cipher akan ditunjukkan pada persamaan (8) dan (10).

) ,...,

,

(e1 x1 e2 x2 er xr

x    (5)

di mana

K e e

e( 1,..., r) dan x(x1,...,xr)Z (6)

Proses enkripsi dan dekripsi pada persamaan (8) dan (10) berdasarkan persamaan (5) dan (6) yang menjelaskan K adalah kunci dan Z adalah bilangan bulat dapat dikatakan berasal dari inversi persamaan (7) dan (9). Untuk melihat hubungan kedua berikut ini diasumsikan P adalah plainteks, C adalah cipherteks dan K sebagai kunci.

Enkripsi Vigenere Cipher : C K

P  (Mod n) (7)

Enkripsi Beaufort Cipher : C P

K  (Mod n) (8)

Dekripsi Vigenere Cipher : P K

C  (Mod n) (9)

Dekripsi Beaufort Cipher : P C


(34)

18

2.5 Penelitian yang Relevan

Berikut penelitian tentang kriptografi yang membahas algoritma Affine cipher, Vigenère cipher dan three-pass protocol :

1. Pada penelitian Mehta K M et al (2013) yang berjudul Encryption using Affine and One Time Pad (AAOTP) disimpulkan bahwa dapat mengenkripsi 256 karakter ASCII dengan memanfaatkan bilangan acak. Konsep ini dinilai aman dan susah dipecahkan.

2. Pada penelitian Shukla S et al (2014) yang berjudul Implementation of Affine substitution cipher with keyed transposition cipher for enhancing data security dapat disimpulkan bahwa pendekatan kriptografi dengan algoritma Affine Cipher membutuhkan kombinasi algoritma yang lain. Penelitian ini juga menunjukkan multienkripsi menyulitkan proses dekripsi.

3. Pada penelitian Kester (2012) yang berjudul a cryptosystem based on Vigenère cipher with varying key menyatakan bahwa implementasi kriptosistem ini sangat sulit jika kuncinya panjang dan varian fungsinya harus sulit untuk diprediksi.

4. Berdasarkan penelitian oleh Kanamori et a (2009), membuat sebuah pengembangan three-pass protocol dengan teknologi kuantum, sehingga keamanan lebih terjaga meskipun kunci didistribusikan. Penelitian ini memiliki teknologi yang dapat mendeteksi eavesdroppers. Selain itu pengembangan ini bisa diimplementasikan sesuaikan dengan teknologi yang ada saat ini.

5. Berdasarkan penelitian oleh Oktaviana B (2013) membuat sebuah kombinasi algoritma Caesar Cipher dan Vigenère Cipher pada three-pass protocol diperoleh sebuah kombinasi algoritma yang kuat tanpa melakukan pertukaran kunci.

6. Pada penelitian oleh Pramana (2013), diimplementasikan algoritma Massey - Omura ini pada konsep three-pass protocol dan diterapkan pada keamanan Email pada Mozilla thunderbird. Kesimpulan dari penelitian ini waktu eksekusinya berbanding lurus dengan besar bilangan prima dan kunci. Rata – rata waktu enkripsi lebih lama dibandingkan dengan waktu dekripsi.


(35)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi bagian – bagian komponen dengan tujuan mempelajari seberapa bagus bagian –bagian komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka. Analisa sistem ini juga merupakan suatu proses mengumpulkan dan menginterpretasikan kenyataan – kenyataan yang ada, mendiagnosa persoalan dan menggunakan keduanya untuk memperbaiki sistem (Whitten 2004).

Analisa sistem ini meliputi tiga tahapan yaitu : analisis masalah, analisis kebutuhan dan analisis proses. Analisis masalah bertujuan untuk mengidentifikasi penyebab masalah serta memahami kelayakan masalah. Analisis kebutuhan bertujuan untuk mengidentifikasi data apa dan proses apa yang dibutuhkan pada sistem yang akan dibuat. Pada tahapan analisis ini dilakukan juga untuk menjelaskan fungsi – fungsi yang ditawarkan dan mampu dikerjakan oleh sistem baik kebutuhan fungsional dan non-fungsional. Analisis proses bertujuan untuk mengetahui alur suatu sistem dan tools yang digunakan untuk merancang sebuah sistem. Pada analisa sistem juga terdapat pseudocode yang bertujuan mempermudah programmer untuk merancang sebuah sistem.

3.1.1 Analisis Masalah

Pada kriptografi terdapat enam hal pokok layanan yang harus terpenuhi yaitu : otentikasi, kenadali akses, kerahasiaan data, keutuhan data, nonrepudiation, ketersediaan. Mengirim dan menerima pesan rahasia membutuhkan elemen – elemen berikut ini (Sadikin, 2012) :

1. Plaintext

Pesan atau data dalam bentuk aslinya yang dapat dibaca dan masukan bagi algoritma enkripsi.


(36)

20

2. Secret Key

Masukan bagi algoritma enkripsi merupakan nilai yang bebas terhadap teks asli dan menentukan hasil keluaran algoritma enkripsi.

3. Ciphertext

Hasil dari proses algoritma enkripsi dan teks asli dianggap telah tersembunyi. 4. Algoritma Enkripsi

Algoritma enkripsi memiliki 2 masukan yaitu teks asli dan kunci rahasia, kedua masukan tersebut akan diproses sehingga menghasilkan teks sandi.

5. Algoritma Dekripsi

Algoritma dekripsi memiliki 2 masukan yaitu teks sandi dan kunci rahasia, keduanya akan diproses sehingga menghasilkan teks asli.

Pada proses mengirim dan menerima pesan rahasia dibutuhkan algoritma enkripsi yang bertujuan untuk menjadikan pesan asli menjadi sandi yang sulit dimengerti. Agar pesan yang dikirim dapat dimengerti oleh pihak penerima maka dibutuhkan algoritma dekripsi yang bertujuan untuk mengembalikan pesan asli. Pada penelitian ini, akan diimplementasikan kombinasi algoritma kriptografi klasik Beaufort Cipher dan Affine Cipher pada Three-pass Protocol.

Diagram Ishikawa merupakan suatu alat visual untuk mengidentifikasi, mengeksplorasi, dan secara diagram menggambarkan semua penyebab yang berhubungan dengan suatu permasalahan. Diagram ini berbentuk tulang ikan yang kepalanya menghadap ke kanan. Diagram ini menunjukkan sebuah dampak atau akibat dari permasalahan dengan berbagai penyebabnya (Whitten, 2004). Masalah penelitian ini secara umum dapat dilihat pada Gambar 3.1 yang dirancang dalam bentuk diagram Ishikawa (fishbone/cause and effect diagram).


(37)

Implementasi Kombinasi Kriptografi Klasik Pada

Three-pass Protocol User

Material

Metode

Sistem

Algoritma kriptografi klasik Tidak aman Algoritma Affine Cipher

dapat dipecahkan dengan

Brute Force

Belum adanya aplikasi desktop Yang mengombinasikan algoritmakriptografi Aplikasi kriptografi masih Tergolong tidak sederhana Kunci kriptografi Klasik

Mudah didapat Oleh penyusup Ukuran kunci kriptografi Klasik (Affine Cipher) Pendek

Saluran yang dipercaya Aman dapat disusupi oleh

penyadap User membutuhkan pengamanan

Data yang sederhana dan aman Kebutuhan user untuk Bertransaksi rahasia

Gambar 3.1 Diagram Ishikawa Masalah Penelitian

Berdasarkan Gambar 3.1, masalah utama yang ada pada segi empat paling kanan (kepala ikan), yaitu mengirim dan menerima pesan rahasia. Sedangkan segi empat yang lainnya dihubungkan oleh sebuah garis ke tulang utama (garis horizontal yang terhubung ke kepala ikan) adalah kategori masalah. Garis horizontal selanjutnya yang ditunjukkan oleh tulang – tulang kecil yang diwakili oleh garis panah yang mengarah ke tulang – tulang kategori masalah adalah sebab dari masalah yang berada pada kepala ikan.


(38)

22

3.1.2 Analisis Kebutuhan

Analisis kebutuhan terbagi atas dua bagian, yaitu kebutuhan fungsional dan kebutuhan nonfungsional. Kebutuhan fungsional mendeskripsikan aktivitas yang disediakan suatu sistem. Sedangkan kebutuhan nonfungsional mendeskripsikan fitur, karakteristik dan batasan lainnya (Whitten, 2004).

3.1.2.1 Kebutuhan Fungsional

Untuk menerapkan kombinasi algoritma Beaufort Cipher dan Affine Cipher pada Three-pass Protocol, kebutuhan fungsional yang harus dipenuhi antara lain sebagai berikut :

1. User Pertama

User pertama adalah pihak pengirim yang hanya dapat melakukan fungsi – fungsi berikut ini setelah masuk ke dalam sistem.

a. Mengacak kunci Beaufort Cipher

User melakukan pengacakan kunci algoritma Beaufort Cipher. b. Enkripsi Pesan

User melakukan enkripsi pesan menggunakan algoritma Beaufort Cipher lalu mengirimkan cipherteks pertama kepada pihak penerima.

c. Dekripsi Pesan

User melakukan dekripsi pesan menggunakan algoritma Beaufort Cipher lalu mengirimkan cipherteks ketiga kepada pihak penerima.

2. User Kedua

User kedua adalah pihak penerima yang hanya dapat melakukan fungsi – fungsi berikut ini setelah masuk ke dalam sistem.

a. Mengacak kunci Affine Cipher


(39)

b. Enkripsi Pesan

User melakukan enkripsi pesan menggunakan algoritma Affine Cipher lalu mengirimkan cipherteks cipherteks kedua kepada pihak pengirim.

c. Dekripsi Pesan

User melakukan dekripsi pesan menggunakan algoritma Affine Cipher lalu menerima pesan asli dari pihak pengirim.

3.1.2.2 Kebutuhan Nonfungsional

Kebutuhan nonfungsional meliputi karakteristik berikut ini : 1. Performa

Perangkat lunak yang akan dibangun dapat menunjukkan hasil dari fungsi kriptografi yang dilakukan oleh sistem.

2. Mudah dipelajari dan digunakan

Perangkat lunak yang akan dibangun memiliki tampilan yang user friendly dan mudah digunakan karena memiliki halaman petunjuk

3. Hemat Biaya

Perangkat lunak yang dibangun akan menngunakan teknologi open source dan bebas digunakan.

4. Dokumentasi

Perangkat lunak yang akan dibangun memiliki panduan penggunaan. 5. Manajemen Kualitas

Perangkat lunak yang akan dibangun akan memiliki kualitas yang baik yaitu proses enkripsi dan dekripsi kata sandi yang relatif cepat.

6. Kontrol

Perangkat lunak yang dibangun akan menampilkan pesan error untuk setiap input yang tidak sesuai.


(40)

24

3.1.3 Analisis Proses

Perangkat lunak yang dibangun akan menggunakan dua bahasa pemrograman, yaitu wing IDE Python 3.1.3 dan SharpDevelop 4.1. Pada analisis proses ini akan menggunakan dua metode enkripsi dan dekripsi yang di kombinasikan dalam bentuk Three-pass Protocol serta Lehmann Primality Test dan bilangan acak dari fungsi Python. Bilangan acak digunakan sebagai pengacak angka yang dijadikan parameter kunci dan dilakukan pengecekan prima dengan Lehmann Primality Test.

Algoritma Beaufort Cipher akan dijadikan algoritma pengirim pesan asli dan algoritma Affine Cipher akan dijadikan algoritma penerima pesan asli. Pengiriman pesan ini dilakukan tanpa melakukan pertukaran data (kunci) dengan metode Three-pass Protocol. SharpDevelop 4.1 adalah Bahasa pemrograman yang dijadikan sebagai sarana interface melakukan kombinasi kedua algoritma dan Python 3.1.3 merupakan Bahasa pemrograman yang melakukan perhitungan enkripsi dan dekripsi.

3.1.4 Pseudocode

Pseudocode merupakan kode yang mirip dengan instruksi kode program yang sebenarnya. Pada penelitian ini terdapat delapan pseudocode yang mewakili fungsi yang ada pada sistem.

3.1.4.1 Pseudocode Mencari File

Pada sistem yang dirancang terdapat fungsi yang berguna untuk melakukan pencarian data file teks (*.doc). Pseudocode ditunjukkan pada Gambar 3.2.

Gambar 3.2 Pseudocode Mencari File *.doc

OpenFileDialog dialog ← new OpenFileDialog();

dialog.Filter ← Document (MsWord)|*.doc; dialog.Title ← "Open file doc : "; dialog.RestoreDirectory ← true;

if(dialog.ShowDialog() ← DialogResult.OK){ dirName ← GetDirectoryName(dialog.FileName); drive ← dirName.Split(VolumeSeparatorChar)[1];


(41)

3.1.4.2 Pseudocode Membaca File

Pada sistem yang akan dirancang terdapat fungsi yang berguna untuk melakukan baca data file teks (*.doc). Pseudocode ditunjukkan pada Gambar 3.3.

Gambar 3.3 Pseudocode Membaca File *.doc

3.1.4.2 Pseudocode Kunci Beaufort Cipher

Pada sistem yang akan dirancang terdapat fungsi yang berguna untuk melakukan acak bilangan dengan RandomNumber. Pseudocode ditunjukkan pada Gambar 3.4.

Gambar 3.4 Pseudocode Kunci Beaufort Cipher

Microsoft.Office wordApp ← new Microsoft.Office; filenameO ← data;

objFalse ← false; objTrue ← true;

try{ Microsoft.Office. aDoc

← wordApp.Documents.Open(ref filenameO, ref objFalse , ref objTrue, ref missing, ref missing, ref missing,

ref missing, ref missing, ref missing, ref missing,

ref objTrue, ref missing, ref missing, ref missing, r ef missing);

aDoc.ActiveWindow.Selection.WholeStory(); aDoc.ActiveWindow.Selection.Copy(); IDataObject data ← GetDataObject();

fileText ← data.GetData

catch(Exception err){ err.Message }

finally{

File berhasil dibaca; }

def key(k): ky ← ""

for x in range(len(k)):

BilRand_Key ← random.randint(10, 99) temp ← (z.index(k[x]) + BilRand_Key) % lz ky ← ky + z[temp]


(42)

26

3.1.4.3 Pseudocode Enkripsi Beaufort Cipher

Pada sistem yang akan dirancang terdapat fungsi yang berguna untuk melakukan enkripsi data dengan Beaufort Cipher. Pseudocode ditunjukkan pada Gambar 3.5.

Gambar 3.5 Pseudocode Enkripsi Beaufort Cipher

3.1.4.4 Pseudocode Algoritma Lehmann

Pada sistem yang akan dirancang terdapat fungsi yang berguna untuk melakukan acak bilangan prima dengan RandomNumber dan primality test Algoritma Lehmann. Pseudocode ditunjukkan pada Gambar 3.6.

Gambar 3.6 Pseudocode Algoritma Lehmann dan Generator Prima

def EnkBeaufort (Plainteks, kunci): hasil1 ← ""

for x in range(len(Plainteks)):

temp ← (z.index(kunci[x]) - z.index(Plainteks[x])) % lz hasil1 ← hasil1 + z[temp]

return hasil1

def Lehmann(p): trial ← 10

for i in range (0, trial):

BilRand ← random.randint(2, p - 1) temp ← (p - 1)/2

L ← pow(BilRand, temp, p) if ((L != 1) & (L - p != -1)): return False

return True

def genPrime(x):

BilRand ← random.randint(pow(10, x - 1), pow(10, x) - 1) p ← BilRand / 2 * 2 + 1

while not (Lehmann(p)):

BilRand ← random.randint(pow(10, x - 1), pow(10, x) - 1) p ← BilRand / 2 * 2 + 1


(43)

3.1.4.3 Pseudocode Enkripsi Affine Cipher

Pada sistem yang akan dirancang terdapat fungsi yang berguna untuk melakukan enkripsi data dengan Affine Cipher. Pseudocode ditunjukkan pada Gambar 3.7.

Gambar 3.7 Pseudocode Enkripsi Affine Cipher

3.1.4.3 Pseudocode Dekripsi Beaufort Cipher

Pada sistem yang akan dirancang terdapat fungsi yang berguna untuk melakukan dekripsi data dengan Beaufort Cipher. Pseudocode ditunjukkan pada Gambar 3.8.

Gambar 3.8 Pseudocode Dekripsi Beaufort Cipher

3.1.4.3 Pseudocode Dekripsi Affine Cipher

Pada sistem yang akan dirancang terdapat fungsi yang berguna untuk melakukan dekripsi data dengan Affine Cipher. Pseudocode ditunjukkan pada Gambar 3.9.

Gambar 3.9 Pseudocode Dekripsi Affine Cipher

def EnkAff(m, b, data): hasil2 ← ""

for x in range(len(data)):

temp ← (m * z.index(data[x]) + b) % lz hasil2 ← hasil2 + z[temp]

return hasil2

def DekBeaufort (data, kunci): hasil3 ← ""

for x in range(len(data)):

temp ← (z.index(kunci[x]) - z.index(data[x])) % lz hasil3 ← hasil3 + z[temp]

return hasil3

def DekBeaufort (data, kunci): hasil3 ← ""

for x in range(len(data)):

temp ← (z.index(kunci[x]) - z.index(data[x])) % lz hasil3 ← hasil3 + z[temp]


(44)

28

3.2 Perancangan Sistem

Sistem ini dirancang dengan membuat flowchart, use case, activity diagram, sequence diagram, dan mock-up.

3.2.1 Flowchart

Pada bagian ini, terdapat lima flowchart, yaitu : flowchart Beaufort Cipher, flowchart Pengacak kunci Beaufort, flowchart Affine Cipher, flowchart Pengacak kunci Affine, flowchart sistem.

3.2.1.1 Flowchart Beaufort Cipher

Flowchart untuk melakukan enkripsi dan dekripsi dengan metode ini digambarkan pada Gambar 3.10. Pada flowchart ini terdapat dua parameter masukan, yaitu pesan asli dan kunci sepanjang plainteks asli. Pada keluarannya akan menghasilkan cipherteks sepanjang pesan asli.

Gambar 3.10 Flowchart Algoritma Beaufort Cipher

Mulai

Plainteks, Kunci Beaufort

C = K – P (Mod n)

Cipherte ks

Akhir P = K – C

(Mod n)

Plaintek s


(45)

3.2.1.2 Flowchart Kunci Beaufort Cipher

Flowchart untuk melakukan pengacakan kunci digambarkan pada Gambar 3.11. Pada flowchart ini terdapat satu parameter masukan, yaitu pesan asli. Pada keluarannya akan menghasilkan kunci sepanjang pesan asli.

Gambar 3.11 Flowchart Kunci Beaufort Cipher

3.2.1.3 Flowchart Affine Cipher

Flowchart untuk melakukan enkripsi dan dekripsi dengan metode Affine Cipher digambarkan pada Gambar 3.12. Pada flowchart ini terdapat tiga parameter masukan, yaitu pesan, bilangan prima dan pergeseran. Pada keluarannya akan menghasilkan kunci berupa bilangan prima dan angka pergeseran.

Mulai

Plainteks, Bilangan

Acak

Len(Plainteks), + Bilangan Acak

Kunci Beaufort


(46)

30

Gambar 3.12 Flowchart Algoritma Affine Cipher

3.2.1.4 Flowchart Kunci Affine Cipher

Flowchart untuk melakukan pengacakan kunci digambarkan pada Gambar 3.13. Pada flowchart ini terdapat satu parameter masukan, yaitu bilangan acak dengan batas awal dan akhir. Pada keluarannya akan menghasilkan kunci berupa bilangan acak bersifta prima dan bilangan acak.

Mulai

Plainteks, Kunci (Bil Prima, Geser)

C = m.p + b (Mod n)

Cipherte ks

Akhir P = m-1(p-b)

(Mod n)

Plaintek s


(47)

A B

Gambar 3.13 Flowchart

A. Fungsi Pengacak Bilangan Prima B. Fungsi Bilangan Acak

3.2.1.5 Flowchart Sistem

Flowchart sistem secara umum digambarkan pada Gambar 3.14. Pada flowchart ini terdapat tiga parameter halaman pilihan yang dapat dipilih pada sistem, yaitu halaman info tentang algoritma, halaman petunjuk penggunaan sistem dan halaman aplikasi sistem kombinasi Beaufort Cipher dan Affine Cipher pada Three-pass Protocol.

Mulai

Bilangan Acak (x)

Algoritma Lehmann x = 1 / x = -1

Bilangan Prima

Akhir

Tidak

Ya

Mulai

Batas Bilangan

Acak Generator

Bilangan Acak


(48)

32

Mulai Coba

Tentang

Algoritma

Berkas Beaufort - Affine

C1 = K-P (Mod n) C2 Plaintek s Plaintek s, Kunci Beau C1 C1, Kunci Aff C2 = m.P+b(Mod n) C2, Kunci Beau

C3 = K-C (Mod n)

C3,C1,

Pl = C3– (m-1)C1 +b (Mod

n) C3 Akhir Info Algoritm a Info Sistem Ya Tidak Ya Ya Ya Tidak Tidak Tidak Ya Ya Tidak


(49)

3.2.2 Use Case

Use case adalah rangkaian/ uraian sekelompok yang saling terkait dan membentuk sebuah sistem secara teratur yang dilakukan oleh actor. Use case digunakan untuk membentuk tingkah laku benda dalam sebuah model serta direalisasikan dengan kolaborasi (Whitten, 2004).

3.2.2.1 Use Case Diagram

Pada penelitian ini use case diagram dapat ditunjukkan melalui Gambar 3.15.

Gambar 3.15 Use Case Diagram Sistem System Cari Buka Acak Enkripsi Affine Cipher Dekripsi Beaufort Cipher Dekripsi Affine Cipher Hapus Enkripsi Beaufort Cipher Direktori File Kunci Beaufort Cipher

Kunci Affine Cipher

Cipherteks Pertama Cipherteks Kedua Ciipherteks Ketiga Plainteks Plainteks Kosong «uses» «uses» «uses» «uses» «uses» «uses» «uses» «extends» «extends» <<depends on>> <<depends on>> <<depends on>> <<depends on>> <<depends on>> <<depends on>> <<depends on>> <<depends on>> <<depends on>> «extends» <<depends on>> «extends» <<depends on>> Actor


(50)

34

3.2.3 Sequence Diagram

Sequence diagram (diagram urutan) adalah suatu diagram yang memperlihatkan interaksi – interaksi antar objek di dalam sistem yang disusun pada sebuah urutan atau rangkaian waktu. Sequence diagram diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan keluaran yang dihasilkan (Whitten, 2004). Sequence diagram sistem ditunjukkan pada Gambar 3.16.

Gambar 3.16 Sequence Diagram Sistem

User Cari Buka Acak Enk. Beaufort Enk. Affine Dek. Beaufort Dek. Affine Hapus

Mencari File

Enkripsi Beaufort Cipher

Enkripsi Affine Cipher

Dekripsi Beaufort Cipher

Dekripsi Affine Cipher Tampil Form File

Membuka File

Mengacak Kunci

Mengacak Kunci Affine Cipher Menampilkan isi file / Plainteks

Menampilkan Kunci Beaufort Cipher

Menampilkan cipherteks pertama

Menampilkan Kunci Affine Cipher

Menampilkan Cipherteks kedua

Menampilkan Cipherteks ketiga

Menampilkan Plainteks

Kosongkan Form


(51)

3.2.4 Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang. Activity diagram lebih menggambarkan proses – proses dan jalur – jalur aktivitas dari level atas secara umum (Whitten, 2004). Activity diagram pada sistem yang dirancang ditunjukkan pada Gambar 3.17.

Gambar 3.17 Activity Diagram Sistem

Cari File Direktori file beradaditampilkan

Klik Button Buka Menampilkan isi file (.doc)

Sebagai Plainteks

Klik Button Acak Pada Beaufort Cipher

Menampilkan Kunci Beaufort Cipher

Pemberitahuan File berhasil ditampilkan

Klik Button Enkripsi Cipher

Menampilkan Cipherteks Pertama

Klik Button Acak Pada Affine Cipher

Menampilkan Kunci Affine Cipher

Klik Button Enkripsi Affine Cipher

Menampilkan Cipherteks Kedua

Klik Button Dekripsi Beaufort Cipher

Menampilkan Cipherteks Ketiga

Klik Button Dekripsi Affine Cipher

Menampilkan Plainteks

Klik Button

Kosongkan form Form Kosong

*

*

*


(52)

36

3.2.5 Mock-up

Mock-up adalah rancangan sistem yang berskala kecil dan tidak lengkap serta digunakan sebagai tampilan desain awal. (Fauzana, 2013) Terdapat empat halaman mock-up utama yaitu halaman awal, halaman beranda, halaman algoritma dan halaman sistem.

3.2.5.1 Halaman Awal

Pada halaman awal ini berisikan tentang judul dari sebuah sistem, logo sistem dan dua buah button. Halaman awal ini dapat dilihat pada Gambar 3.18. Pengguna yang ingin masuk ke dalam sistem harus melakukan aksi terhadap button masuk dan pengguna yang ingin keluar harus melakukan aksi terhadap button keluar. Ketika button keluar dipilih maka akan mengeluarkan konfirmasi seperti yang ditunjukkan pada Gambar 3.19.

Gambar 3.18 Halaman Awal

Keterangan gambar :

1. Picturebox digunakan untuk logo Universitas Sumatera Utara 2. Label digunakan untuk judul sistem

3. Picturebox digunakan untuk logo sistem


(53)

5. Button Keluar digunakan untuk keluar dari sistem

Gambar 3.19 Aksi konfirmasi keluar sistem

Keterangan gambar :

1. Button Ok untuk melanjutkan keluar dari sistem 2. Button Cancel untuk tetap berada pada sistem

3. Messagebox digunakan untuk konfirmasi keluar dari sistem

3.2.5.2 Halaman Beranda

Pada halaman beranda berisikan tabulasi – tabulasi halaman yang dapat diakses, cara penggunaan sistem, dan logo aplikasi. Halaman beranda ini dapat ditunjukkan pada Gambar 3.20.

Gambar 3.20 Halaman Beranda

Keterangan gambar :

1. Textbox yang digunakan untuk penulisan cara penggunaan sistem 2. Picturebox yang digunakan untuk logo aplikasi


(54)

38

3. Menustrip Beranda yang digunakan untuk menunjukkan halaman beranda 4. Menustrip Algoritma yang digunakan untuk menunjukkan halaman algoritma 5. Menustrip Beaufort – Affine yang digunakan untuk mencoba sistem

3.2.5.3 Halaman Algoritma

Pada halaman algoritma ini berisikan info – info mengenai algoritma yang digunakan. Halaman tentang algoritma ini dapat ditunjukkan pada Gambar 3.21.

Gambar 3.21 Halaman Algoritma

Keterangan gambar :

1. Textbox yang digunakan sebagai info algoritma Beaufort Cipher 2. Textbox yang digunakan sebagai info algoritma Affine Cipher

3. Textbox yang digunakan sebagai info kombinasi algoritma pada Three-pass Protocol.

3.2.5.4 Halaman Sistem

Pada halaman sistem ini terdapat beberapa button yang digunakan untuk menjalankan fungsi – fungsi enkripsi Beaufort Cipher dan Affine Cipher . Halaman sistem ini dapat ditunjukkan pada Gambar 3.22.


(55)

Gambar 3.22 Halaman Sistem

Keterangan gambar :

1. Button Cari yang digunakan untuk mencari file teks (*.doc)

2. Textbox yang digunakan untuk menampilkan direktori file yang dicari. 3. Button Buka yang digunakan untuk membaca isi file teks yang sudah dicari 4. Textbox yang digunakan untuk menampilkan isi file teks.

5. Groupbox yang digunakan untuk mengidentifikasi area data.

6. Textbox yang digunakan untuk menampilkan hasil kunci Beaufort Cipher. 7. Button Acak yang digunakan untuk mengacak kunci Beaufort Cipher. 8. Button Enkripsi yang digunakan untuk melakukan enkripsi Beaufort Cipher. 9. Textbox yang digunakan untuk menampilkan hasil enkripsi dari Beaufort

Cipher.

10.Button Dekripsi yang digunakan untuk melakukan Dekripsi Beaufort Cipher. 11.Textbox yang digunakan untuk menampilkan hasil dekripsi dari Beaufort

Cipher.

12.Textbox yang digunakan untuk menampilkan bilangan acak prima. 13.Textbox yang digunakan untuk menampilkan bilangan acak. 14.Button Acak yang digunakan untuk mengacak bilangan acak.


(56)

40

15.Button Acak yang digunakan untuk mengacak bilangan acak prima. 16.Button Enkripsi yang digunakan untuk melakukan enkripsi Affine Cipher. 17.Textbox yang digunakan untuk menampilkan hasil enkripsi dari Affine Cipher. 18.Button Dekripsi yang digunakan untuk melakukan Dekripsi Affine Cipher. 19.Textbox yang digunakan untuk menampilkan hasil Dekripsi dari Affine Cipher. 20.Groupbox yang digunakan untuk mengidentifikasi area Affine Cipher.

21.Groupbox yang digunakan untuk mengidentifikasi area Beaufort Cipher. 22.Button Hitung Karakter digunakan untuk menghitung karakter plainteks 23.Textbox yang digunakan untuk menampilkan jumlah karakter plainteks 24.Button Hapus digunakan untuk mengosongkan seluruh form sistem


(57)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Dalam tugas akhir ini, program dibangun menggunakan bahasa pemrograman Python versi 3.1.3. Program ini terdiri dari empat halamanutama, yaitu : halaman awal untuk mencoba melakukan aplikasi sebelum pengguna masuk ke sistem, halaman beranda sebagai halaman untuk mengetahui tata cara penggunaan sistem serta logo sistem sebelum memasuki sistem, halaman algoritma sebagai halaman untuk memberikan informasi tentang algoritma apa saja yang digunakan, halaman sistem sebagai halaman utama untuk mencoba kombinasi kedua algoritma.

4.1.1 Halaman Awal

Halaman awalmerupakan halaman yang pertama kali muncul apabila sistem dibuka. Halaman ini ditunjukkan pada Gambar 4.1.


(58)

42

Pada Gambar 4.1 terdapat dua button yang dapat diberikan aksi, yaitu masuk dan keluar. Button masuk akan dilanjutkan masuk ke dalam beranda sistem, sedangkan button keluar akan diberikan konfirmasi ingin keluar dari sistem.

4.1.2 Halaman Beranda

Halaman beranda merupakan halaman yang akan ditampilkan setelah user masuk ke dalam sistem. Tampilan halaman beranda ditunjukkan pada Gambar 4.2.

Gambar 4.2 Halaman Beranda

Pada Gambar 4.2 diberikan sebuah pengaturan cara penggunaan dari sistem sehingga user dapat dengan mudah menggunakan aplikasi.

4.1.3 Halaman Algoritma

Halaman algoritma merupakan halaman yang akan ditampilkan apabila user melakukan aksi pada menustrip Algoritma dalam sistem. Tampilan halaman beranda ditunjukkan pada Gambar 4.3.


(59)

Gambar 4.3 Halaman Algoritma

Pada Gambar 4.3 diberikan sebuah informasi yang berhubungan dengan algoritma yang digunakan pada sistem.

4.1.4 Halaman Sistem

Halaman sistem merupakan halaman yang akan ditampilkan apabila user melakukan aksi pada menustrip Beaufort - Affine dalam sistem. Tampilan halaman beranda ditunjukkan pada Gambar 4.4.


(60)

44

Pada Gambar 4.4 diberikan halaman yang dapat digunakan untuk melakukan enkripsi dan dekripsi pesan dengan metode Three-pass Protocol. Pada awal penggunaannya akan dicari sebuah file teks yang isinya akan dirahasiakan. Sistem akan mengacak kunci enkripsi Beaufort Cipher berdasarkan pesan (plainteks) yang dimasukkan. Ketika tombol enkripsi pada Beaufort Cipher diberi aksi maka sistem akan menghasilkan cipherteks yang pertama. Penerima akan menerima cipherteks pertama dan melakukan enkripsi kembali dengan Affine Cipher. Pesan akan didekripsi dengan algoritma Beaufort Cipher lalu kembali didekripsi dengan algoritma Affine Cipher sehingga menghasilkan pesan asli yang sampai pada pihak penerima.

4.2 Pengujian

Pengujian dilakukan terhadap algoritma kombinasi Beaufort Cipher dan Affine Cipher pada Three-pass Protocol untuk mengukur keberhasilan sistem dalam melakukan proses enkripsi dan dekripsi kedua algoritma. Pada pengujian ini parameter yang dihitung adalah waktu kombinasi kedua algoritma melakukan enkripsi dan dekripsi. Pengujian ini dilakukan dengan beberapa kriteria sebagai berikut :

1. Plainteks berupa kalimat yang terdiri dari karakter ASCII Printable dengan panjang 12, 20 dan 60 karakter bersumber dari file teks (*.doc) atau langsung pada textbox tersedia.

2. List yang digunakan adalah = {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, ., ,, !, &, *, #, ^, (, $, %, ), {, }, [, ], +, -, =, <, >, /, :, ;, _, ?, |, `, ~, \\, @, ‘ ‘}

|| = 93

3. Kunci Beaufort Cipher terdiri dari karakter ASCII Printable yang dibangkitkan secara acak dengan RandomNumber Python.

4. Kunci Affine Cipher terdiri dari Bilangan Prima dan Shiff (Pergeseran). Karakter yang dibangkitkan secara acak bilangan prima adalah 6 digit. Hal ini berdasarkan analisis digit bilangan prima oleh Ummi (2014), beliau menyimpulkan untuk 3 digit prima perbandingan plainteks dan cipherteks adalah 562 % sedangkan 6 digit 1100 %. Karakter yang dibangkitkan untuk pergeseran adalah 9 digit yaitu batas maksimal dari pengolahan digit pada tools yang digunakan. Pada dasarnya tidak ada aturan digit untuk pergeseran.


(1)

A-11

using (Process runProses =Process.Start(p)) {

StreamReader s = runProses.StandardOutput; string keluar = s.ReadToEnd();

if (keluar != "")

MessageBox.Show("Berhasil", "Info", MessageBo xButtons.OK);

textBoxEnkAff.Text = keluar.ToString(); } } catch { throw; } }

12.Fungsi Pergesesan Affine Cipher

void TextBoxEnkBeauTextChanged(object sender, EventArgs e) {

}

void ButtonDekAffClick(object sender, EventArgs e) {

string data2 = textBoxEnkBeau.Text.ToString(); string data1 = textBoxDekBeau.Text.ToString(); int b1 = Convert.ToInt32(textBoxBilPrima.Text); int g1 = Convert.ToInt32(textBoxGeser.Text);

ProcessStartInfo p = new ProcessStartInfo(); p.RedirectStandardOutput = true;

p.FileName = "c:\\python31\\python.exe"; p.RedirectStandardOutput = true;

p.UseShellExecute = false;

p.Arguments = "d:\\kode\\program\\pintu.py

" + "DekripAffine " + b1 + " " + g1 + " " + "\"" + data1 + "\"" + " " + "\"" + data2 + "\"";

try {

using (Process runProses =Process.Start(p)) {

StreamReader s = runProses.StandardOutput; string keluar = s.ReadToEnd();

string k = keluar; if (k != "")

MessageBox.Show("Berhasil", "Info", MessageBo xButtons.OK);


(2)

A-12

textBoxDekAff.Text = k.ToString(); } } catch { throw; } }

13.Fungsi Pergesesan Affine Cipher

void ButtonKarakterClick(object sender, EventArgs e) {

string kalimat = textBoxBuka.Text.ToString();

ProcessStartInfo p = new ProcessStartInfo(); p.RedirectStandardOutput = true;

p.FileName = "c:\\python31\\python.exe"; p.RedirectStandardOutput = true;

p.UseShellExecute = false;

p.Arguments = "d:\\kode\\program\\pintu.py " + "HtgKarakter 0 0 " + "\"" + kalimat + "\"" + " y";

try {

using (Process runProses =Process.Start(p)) {

StreamReader s = runProses.StandardOutput; string keluar = s.ReadToEnd();

string k = keluar;

textBoxKarakter.Text = k.ToString(); } } catch { throw; } }

14.Fungsi Reset

void ButtonUlangClick(object sender, EventArgs e) {

textBoxCari.Text = ""; textBoxBuka.Text = "";


(3)

A-13

textBoxKunciBeau.Text = ""; textBoxEnkBeau.Text = ""; textBoxBilPrima.Text = ""; textBoxGeser.Text = ""; textBoxEnkAff.Text = ""; textBoxDekBeau.Text = ""; textBoxDekAff.Text = ""; textBoxKarakter.Text = ""; }

} }


(4)

B-1

Full Name

: Azizah Mei Sari Sebayang

Sex

: Female

Place, Date of Birth

: Medan, May, 5

th

1993

Nationality

: Indonesia

Height, Weight

: 150cm, 49 kg

Health

: Perfect

Religion

: Moslem

Address

: Jl. Pinus VII No. 6 Perumnas Simalingkar

Kec. Medan Tuntungan

Mobile-phone

: 08216082 8964

Email

: azizahmeisari@gmail.com

Educational Background

1997

1998

: Kindergarten Siti Hajar, Medan

North Sumatera

1998 - 2004

: Elementary School at IFDS Siti Hajar, Medan

North

Sumatera

2004 - 2007

: Junior High School at IFDS Siti Hajar, Medan

North

Sumatera

2007 - 2010

: Vocational High School at Telkom Sandhy Putra

Major in Networking, Medan

North Sumatera

2010 - Present

: Computing Science, Computing Science and

Information Technology Faculty, University of

North Sumatera

IT Abilities

Bahasa

: Bahasa Indonesia, Inggris

Bahasa Pemrograman

: Python, PHP, C# .NET, C++

Database

: MySQL


(5)

B-2

Language

Bahasa

: Native Language

English

: Medium

Working and organizational experience

2005 - 2006 : Head of Department of Education OSIS Junior High School

IFDS Siti Hajar

2007 - 2008 : Secretary of Department BKM ROHIS Telkom Shandy Putra

2008 - 2009 : Deputy secretary of OSIS Telkom Shandy Putra

2010 - 2011 : Staff on division PW (Pengembangan Wawasan) BKM Al

Khuwarizmi

2010 - 2011 : Private Teacher on LCC (Lily Course Center)

2011 - 2012 : Staff on division PP (Pemberdaya Perempuan) PEMA FMIPA USU

2011 - 2011 : Laboratory Assistant on Information System IKLC Fasilkom-TI USU

2011 - 2012 : Laboratory Assistant on Computing Science Introduction

IKLC Fasilkom-TI USU

2010

2011 : Staff on division Jurnalism IMLKOM Fasilkom-TI USU

2012

2012 : Secretary of LSO IT (Lembaga Semi Otonom Islamic Teaching)

UKMI Al Khuwarizmi Fasilkom-TI USU

2013

2014 : General Secretary of IMLKOM Fasilkom-TI USU

2013

2014 : Secretary of PSDM SGC USU

2013

Now : Member Of RTIK Sumut (USU)

Achievements

Finalist

from Medan “Toyota Eco Youth” Organizers by Toyota and

Government (Environment Minister), Jakarta 2007

CCNA I Certified for Networking Academic from CISCO, 2009

Third winner on Islamic Scientific Papers with tittle "

Mekah (Ka’bah) adalah

Golden Ration Point

Dunia" Organizers by MTQ and UKMI Ad Dakwah USU,

Medan, 2010


(6)

B-3

Finalist PKM (Program Kreatiffitas Mahasiswa) from USU with tittle “Internet

Sehat untuk Tenaga Pendidik Yayasan Pendidikan Islam Amal Shaleh,

Organizers by DIKTI, 2011

Delegation Student of MTQMN 2013

Mahasiswa Berprestasi I 2013 Jurusan Ilmu Komputer Fasilkom-TI USU

Mahasiswa Berprestasi I 2014 Fasilkom-TI USU