• Tidak ada hasil yang ditemukan

IMPLEMENTASI ALGORITMA KUNCI PUBLIK RABIN-p DAN ALGORITMA AFFINE CIPHER SECARA HYBRID CRYPTOSYSTEM PADA PENGAMANAN TEKS SKRIPSI

N/A
N/A
Protected

Academic year: 2022

Membagikan "IMPLEMENTASI ALGORITMA KUNCI PUBLIK RABIN-p DAN ALGORITMA AFFINE CIPHER SECARA HYBRID CRYPTOSYSTEM PADA PENGAMANAN TEKS SKRIPSI"

Copied!
107
0
0

Teks penuh

(1)

CRYPTOSYSTEM PADA PENGAMANAN TEKS

SKRIPSI

SASMITA AZZAHRA 141401020

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(2)

CRYPTOSYSTEM PADA PENGAMANAN TEKS

SKRIPSI

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

SASMITA AZZAHRA 141401020

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(3)
(4)
(5)

PENGHARGAAN

Alhamdulillahirrabbil’alamin. Segala puji penulis ucapkan kepada Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini. Penulis ingin menyampaikan terima kasih kepada semua pihak yang telah membantu dalam menyelesaikan skripsi ini. Penulis ingin mengucapkan terima kasih kepada :

1. Bapak Prof. Dr. Runtung Sitepu, SH., M.Hum sebagai Rektor Universitas Sumatera Utara.

2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

4. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M sebagai Dosen Pembimbing I yang telah membimbing dan memberikan dukungan kepada penulis selama mengerjakan skripsi ini.

5. Bapak Handrizal, S.Si. M.Comp.Sc sebagai Dosen Pembimbing II yang telah membimbing dan memberikan dukungan kepada penulis selama mengerjakan skripsi ini.

6. Seluruh Dosen serta staf Pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

7. Kedua orang tua penulis Ibunda Amnah dan Ayahanda Benyamin yang telah memberikan dukungan semangat dan motivasi sehingga penulis dapat menyelesaikan skripsi ini.

8. Teman- teman stambuk 2014, Khususnya kom B yang selama ini banyak memberikan pelajaran hidup kepada penulis, terkhususnya Novianti Artika Sari, Maya Masitha, Ardi Sahputra, Patricia Yvette Clarisa, Rizky Maulidya Afifa, Fitri Cinthia Dwi Iswari Prawira, Meisy Putri Ananda, Rika Anggriani, Shafira Amalia Hadi, dan teman-teman lainnya.

(6)

9. Kepada Kakanda Fitri Ramadhani S.Kom, Kakanda Dina Meiladya Rizki Sujiono S.Kom, dan Abangda Muhamad Yudha Syuhada S.Kom yang telah memberikan masukan kepada penulis selama mengerjakan skripsi.

10. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu-persatu yang telah membantu penyelesaian skripsi ini.

Semoga Allah SWT memberikan berkah, kesehatan, dan keselamatan bagi semua pihak yang telah mendukung penulis untuk menyelesaikan skripsi ini. Semoga penelitian ini bermanfaat kepada seluruh orang terutama kepada penulis sendiri.

Medan, Juli 2018 Penulis,

Sasmita Azzahra

(7)

ABSTRAK

Hal yang paling penting dalam melakukan pengiriman pesan rahasia atau informasi yang sangat penting yaitu keamanan pesan. Keamanan pesan atau informasi harus diperhatikan untuk menghindari pencurian pesan terhadap orang asing . Salah satu cara yang paling tepat untuk menghindari pencurian pesan atau informasi terhadap orang yang asing yaitu dengan menggunakan kriptografi. Pada penelitan ini menggunakan dua jenis algoritma yang berbeda yaitu algoritma simetris dan algoritma asimetris dengan menggunakan hybrid cryptosystem. Algoritma simetris digunakan untuk melakukan enkripsi dan dekripsi pesan sedangkan algoritma asimetris digunakan untuk melakukan enkripsi dan dekripsi kunci dari algoritma simetris.

Algoritma asimetris yang digunakan dalam penelitian yaitu algoritma Rabin-p.

Algoritma Rabin-p menghasilkan cipher text yang beberapa kali lebih panjang dari pesan asli sehingga algoritma ini dikombinasikan dengan algoritma simetris yaitu Affine Cipher yang menghasilkan cipher text yang sama panjangnya dengan pesan asli. Pengimplementasian sistem menggunakan bahasa java dengan software Android Studio. Pengujian sistem dilakukan enkripsi dan dekripsi pesan dengan mengubah plain text menggunakan kode karakter ASCII dan cipher key diubah menjadi bilangan desimal kode karakter ASCII.

Kata Kunci : Kriptografi, Algoritma Affine Cipher, Algoritma Rabin-p, Hybrid Cryptosystem.

(8)

IMPLEMENTAION OF RABIN-p KEY PUBLIC ALGORITHM AND AFFINE CIPHER ALGORITHM IN HYBRID CRYPTOSYSTEM BASED ON TEXT

SECURITY

ABSTRACT

The most important thing in the delivery of the secret messages or information is very important that the securiy of message.The security of message or information must be considered to avoid theft of messages for the strangers. One of the best way to avoid theft of messages or information from the strangers are by using cryptography. In this research used two different types of algorithm that is symmetric algorithm and asymmetric algorithm with hybrid cryptosystem. A symmetric algorithm is used to encrypt and decrypt messages and asymmetric algorithm is used to encrypt and decrypt the key of algorithm symmetric. The asymmetric algorithm used in this research is Rabin-p. Rabin-p algorithm produced a cipher text that is several times longer than the original message so that the algorithm is combined with the symmetric algorithm of Affine Cipher that produces the same cipher text as the original message.

The implementation of system the Java programming language and by Android Studio Software.The testing of the system encryption and decryption messages by changing the plain text to ASCII character code and the cipher key converted to decimal number of ASCII character code.

Keyword : Cryptography, Affine Cipher Algorithm, Affine Cipher Algorithm, Hybrid Cryptosystem.

(9)

DAFTAR ISI

Halaman

PERSETUJUAN ii

PERNYATAAN iii

PENGHARGAAN iv

ABSTRAK vi

ABSTRACK vii

DAFTAR ISI viii

DAFTAR TABEL xi

DAFTAR GAMBAR xii

DAFTAR LAMPIRAN xiv

BAB 1. PENDAHULUAN

1.1. Latar Belakang 1

1.1 Rumusan Masalah 2

1.2 Batasan Masalah 2

1.3 Tujuan Penelitian 3

1.4 Manfaat Penelitian 3

1.5 Metodologi Penelitian 3

1.6 Sistematika Penulisan 5

BAB 2. LANDASAN TEORI

2.1 Kriptografi 6

2.1.1 Proses Kriptografi 6

2.1.2 Jenis Algoritma 7

2.2 Hybrid Cryptosystem 8

2.3 Teori Bilangan 9

2.3.1 Euclidean 9

2.3.2 Relatif Prima 10

2.3.3 Invers Modulo 10

2.4 Algoritma Rabin-p 11

2.4.1 Pembangkit Kunci Algoritma Rabin-p 11

2.4.2 Metode Enkripsi 11

2.4.3 Metode Dekripsi 12

2.5 Algoritma Affine Cipher 13

2.5.1 Metode Enkripsi 14

2.5.2 Metode Dekripsi 14

2.6 Penelitian yang Relevan 15

BAB 3. ANALISIS PERANCANGAN

3.1 Analisis Sistem 16

3.1.1 Analisis Masalah 16

3.1.2 Analisis Kebutuhan 17

(10)

3.1.2.1 Kebutuhan Fungsional 17

3.1.2.2 Kebutuhan Non-Fungsional 18

3.1.3 Diagram Umum Sistem 18

3.1.4 Pemodelan Sistem 19

3.1.4.1 Use Case Diagram 19

3.1.4.2 Activity Diagram 21

3.1.4.3 Sequence Diagram 24

3.1.5 Flowchart 25

3.1.5.1 Flowchart Sistem 25

3.1.5.2 Flowchart Algoritma Rabin-p 26

3.1.5.3 Flowchart Algoritma Affine Cipher 27

3.2 Perancangan Interface 28

3.2.1 Interface Halaman Splash 28

3.2.2 Interface Halaman Pembangkit Kunci 29

3.2.3 Interface Halaman Enkripsi 30

3.2.4 Interface Halaman Dekripsi 31

3.2.5. Interface Halaman Bantuan 32

BAB 4. IMPLENTASI DAN PENGUJIAN

4.1 Impelementasi Sistem 33

4.1.1 Halaman Splashscreen 33

4.1.2 Halaman Home 34

4.1.3 Halaman Pembangkit Kunci 34

4.1.4 Halaman Enkripsi 35

4.1.5 Halaman Dekripsi 36

4.1.6 Halaman Bantuan 37

4.2 Pengujian Sistem 38

4.2.1 Pengujian Pembangkit Kunci 39

4.2.1.1 Perhitungan Pembangkit Kunci Algoritma Rabin-p 39

4.2.2 Pengujian Enkripsi 40

4.2.2.1 Perhitungan Enkripsi File 41

4.2.2.2 Perhitungan Enkripsi Kunci 43

4.2.3 Pengujian Dekripsi 45

4.2.3.1 Perhitungan Dekripsi Kunci 45

4.2.3.2 Perhitungan Dekripsi File 48

4.2.4 Hasil Enkripsi Plaintext dan Plainkey 51

4.2.4.1 Hasil Enkripsi Plaintetx 51

4.2.4.2 Hasil Enkripsi Plainkey 51

4.2.5 Waktu Proses (Real Running Time) 52

4.2.5.1 Waktu Proses Pembangkitan Kunci Algoritma

Rabin-p 52

4.2.5.2 Waktu Proses Enkripsi File Algoritma Affine

Cipher 53

4.2.5.3 Waktu Proses Enkripsi Kunci Algoritma Rabin-p 55 4.2.5.4 Waktu Proses Dekripsi Kunci Algoritma Rabin-p 56 4.2.5.5 Waktu Proses Dekripsi File Algoritma Affine

Cipher 57

(11)

BAB 5. KESIMPULAN DAN SARAN

5.1 Kesimpulan 60

5.2 Saran 62

Daftar Pustaka 63

(12)

DAFTAR TABEL

Halaman

Tabel 2.1 Contoh Perhitungan Mencari m-1 10

Tabel 2.2 Perhitungan Mencari m-1 14

Tabel 4.1 Perhitungan m-1 Pengujian Dekripsi File 48

Tabel 4.2 Hasil Uji Enkripsi File 51

Tabel 4.3 Hasil Uji Enkripsi Kunci 52

Tabel 4.4 Nilai Rata-Rata Proses Pembangkit Kunci 52

Tabel 4.5 Percobaan Enkripsi Affine Cipher Dengan Plaintext 50 Karakter 53 Tabel 4.6 Percobaan Enkripsi Affine Cipher dengan Panjang Kunci 4 Digit 55 Tabel 4.7 Percobaan Enkripsi Kunci Algoritma Rabin-p 56 Tabel 4.8 Percobaan Dekripsi Kunci Algoritma Rabin-p 57

Tabel 4.9 Percobaan Dekripsi Affine Cipher Dengan Panjang Plaintext 50

Karakter 58

Tabel 4.10 Percobaan Dekripsi Affine Cipher dengan Panjang Kunci 4 Digit 59

(13)

DAFTAR GAMBAR

Halaman

Gambar 1.1 Diagram Umum Sistem 4

Gambar 2.1 Proses Enkripsi dan Dekripsi Sederhana 7

Gambar 2.2 Proses Enkripsi dan Dekripsi Algoritma Simetris 7 Gambar 2.3 Proses Enkripsi dan Dekripsi Algoritma Asimetris 8 Gambar 2.4 (a) Proses Enkripsi Hybrid Cryptosystem (b) Proses Dekripsi

Hybrid Cryptosystem 9

Gambar 3.1 Diagram Ishikawa Masalah Penelitian 17

Gambar 3.2 Diagram Umum Sitem 18

Gambar 3.3 Use Case Diagram Penelitian 20

Gambar 3.4 Activity Diagram Pembangkit Kunci 21

Gambar 3.5 Activity Diagram Enkripsi File 22

Gambar 3.6 Activity Digram Dekripsi FIle 23

Gambar 3.7 Sequence Diagram Sistem 24

Gambar 3.8 Flowchart Sistem 25

Gambar 3.10 Fowchart Algoritma Rabin-p (a) Pembangkit Kunci (b) Enkripsi

(c) Dekripsi 26

Gambar 3.11 Flowchart Algoritma Affine Cipher (a) Enkripsi (b) Dekripsi 27

Gambar 3.12 Rancangan Interface Halaman Splash 28

Gambar 3.13 Rancangan Interface Halaman Pembangkit Kunci 29

Gambar 3.14 Rancangan Interface Halaman Enkripsi 30

Gambar 3.15 Rancangan Interface Halaman Dekripsi 31

Gambar 3.16 Rancangan Interface Halaman Bantuan 32

Gambar 4.1 Halaman Splashscreen 33

Gambar 4.2 Halaman Home 34

Gambar 4.3 Halaman Pembangkit Kunci 35

Gambar 4.4 Halaman Enkripsi File 36

Gambar 4.5 Halaman Dekripsi File 37

Gambar 4.6 Halaman Bantuan 38

Gambar 4.7 Pengujian Pembangkit Kunci 39

Gambar 4.8 Pengujian Enkripsi 41

Gambar 4.9 Pengujian Enkripsi File 43

Gambar 4.10 Pengujian Enkripsi Kunci 44

Gambar 4.11 Pengujian Dekripsi 45

Gambar 4.12 Pengujian Dekripsi Kunci 48

Gambar 4.13 Pengujian Dekripsi File 51

Gambar 4.14 Grafik Tabel Pembangkit Kunci 53

Gambar 4.15 Grafik Tabel Enkripsi Affine Cipher dengan Panjang Plaintext 50

Karakter 54

Gambar 4.16 Grafik Tabel Enkripsi Affine Cipher dengan Panjang Kunci 4

Digit 55

Gambar 4.17 Grafik Tabel Enkripsi Kunci Algoritma Rabin-p 56 Gambar 4.18 Grafik Tabel Dekripsi Kunci Algoritma Rabin-p 57

(14)

Gambar 4.19 Grafik Tabel Dekripsi File Algoritma Affine Cipher dengan

Panjang Plaintext 50 Karakter 58

Gambar 4.20 Grafik Tabel Dekripsi File Algoritma Affine Cipher dengan

Panjang Kunci 4 Digit Angka 59

(15)

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Listing Program A-1

Lampiran 2 Curriculum Vitae B-1

(16)

PENDAHULUAN

1.1. Latar Belakang

Dahulu hingga saat ini pesan atau informasi yang bersifat rahasia merupakan hal yang harus dijaga keamanannya . Hanya individu/ kelompok tertentu yang hanya dapat mengetahui isi dari pesan atau informasi tersebut. Keamanan pesan atau informasi dapat diselesaikan dengan teknik kriptografi. Sejak zaman Romawi Kriptografi sudah digunakan oleh Julius Caesar dengan menggunakan sebuah alat yang disebut scytle . Scytle bernentuk silinder yang terbuat dari papirus. Pesan yang telah diacak disebut cipher text, sementara pesan yang telah dirapikan kembali disebut plain text. Proses mengacak pesan disebut enkripsi sedangkan proses merapikan pesan disebut dekripsi.

(Ariyus, 2008).

Kriptografi merupakan ilmu tentang penyandian pesan dimana dilakukan proses pengacakan data dimana data tidak dapat dibaca oleh seseorang yang tidak memiliki kunci dekripsi. Kunci dekripsi digunakan untuk melakukan dekripsi pesan yang bertujuan mendapatkan pesan atau file asli. Dalam melakukan proses enkripsi dan dekripsi dilakukan dengan menggunakan algoritma secara sistematis yang memiliki parameter. (Kromodimoeljo, 2010).

Algoritma Rabin-p merupakan algoritma yang menerapkan kunci asimetris yaitu kunci yang menggunakan dua jenis kunci yang terdiri dari kunci publik (public key) dan kunci rahasia (secret key). Kunci public digunakan untuk mengenkripsi pesan sedangkan kunci rahasia digunakan untuk mendekripsi pesan. Kelebihan algoritma Rabin-p yaitu memiliki tingkat keamanan yang sangat baik namun kelemahan algoritma Rabin-p yaitu menghasilkan ciphertext yang beberapa kali lebih panjang dari plaintext.

(17)

Algoritma Affine Cipher merupakan algoritma yang menerapkan kunci simetris dimana untuk melakukan enksripsi dan dekripsi menggunakan kunci yang sama. Affine Cipher merupakan perluasan dari algoritma Caesar Cipher yang mengalikan plaintext dengan sebuah nilai dan menambahkannya dengan sebuah pergeseran. Kelebihan dari algoritma Affine Cipher yaitu menghasilkan ciphertetxt yang memiliki panjang yang sama dengan plaintext. Sementara kekurangannya yaitu kunci dapat dengan mudah di pecahkan dengan metode brute-force.

Hybrid cryptosystem adalah cara mengkombinasikan algoritma simetris dan algoritma asimetris dengan menggunakan kelebihan dari masing- masing algoritma .(Scheiner 1996). Hybrid cryposystem dapat memberikan keamanan yang baik dengan operasi waktu yang lebih cepat . Sehingga pada penelitian ini penulis akan mengkombinasikan algoritma Affine Cipher dan Rabin-p dengan menggunakan hybrid cryptosystem .

1.2. Rumusan Masalah

Berdasarkan latar belakang di atas, maka rumusan masalah dalam penelitian ini adalah algoritma Rabin-p merupakan algoritma asimetris yang memiliki tingkat keamanan yang sangat baik, namun pada algoritma Rabin-p akan menghasilkan ciphertext yang beberapa kali lebih panjang dari pesan asli. Maka algoritma ini akan dikombinasikan dengan algoritma simetris yaitu Affine Cipher yang akan menghasilkan ciphertext yang panjangnya sama dengan plaintext secara hybrid cryptosystem.

1.3. Batasan Masalah

Batasan masalah penelitian sebagai berikut:

1. Aplikasi ini hanya untuk pengamanan file teks (.pdf).

2. Menggunakan Algoritma Rabin-p dan algoritma Affine Cipher . 3. Menghitung Real Running Time.

4. Pengaplikasian menggunakan bahasa pemograman java . 5. Pengaplikasian menggunakan software android studio 3.1.2.

6. Tidak membahas bagaimana cara pengiriman data.

7. Plaintext dan key berdasarkan tabel ASCII (American Standart Code for Information Interchange) 256 karakter (8 bit).

(18)

1.4. Tujuan Penelitian Tujuan penelitian ini adalah :

1. Untuk mengiimplementasikan Algoritma Rabin-p dan Algoritma Affine Cipher secara hybrid cryptosystem.

2. Menghitung waktu nyata (real time) pada pengamanan teks dalam millisecond (ms).

1.5. Manfaat Penelitian

Manfaat dilakukan penelitian ini adalah :

1. Penelitian ini diharapkan dapat melakukan pengamanan file berupa teks dengan menggunakan algoritma kunci publik Rabin-p dan Algoritma Affine Cipher secara hybrid cryptosystem .

2. Penelitian ini diharapkan dapat mengetahui lamanya proses enkripsi dan dekripsi dalam millisecond (ms).

1.6. Metodologi Penelitian

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

Tahap ini merupakan tahapan pengumpulan refrensi yang berkaitan dengan penelitian. Refrensi yang digunakan berupa buku, skripsi, tesis, jurnal, dan artikel yang berhubungan dengan Algoritma Rabin-p dan Algoritma Affine Cipher.

2. Analisa dan Perancangan

Tahap ini digunakan untuk mengolah data dari hasil studi literatur yang kemudian dianalisis dan perancangan menggunakan Algoritma Rabin-p dan Algoritma Affine Cipher. Proses ini meliputi pembuatan algoritma program, flowchart, UML, Ishikawa Diagram sehingga menjadi sebuah informasi.

3. Implementasi

Algoritma Rabin-p dan Algoritma Affine Cipher diimplementasi dengan menggunakan bahasa pemrograman java.

4. Pengujian

Pada tahap ini prototipe yang telah diimplementasikan dilakukan pengujian dengan menggunakan file teks berekstensi .pdf.

5. Dokumentasi

(19)

Pada tahap ini dilakukan pendokumentasian penelitian yang telah dilakukan mulai dari tahap analisa sampai kepada pengujian dalam bentuk skripsi.

6. Diagram Umum Sistem.

Adapun diagram umum sistem pada penelitian ini dijelaskan pada Gambar 1.1 pada halaman 4 :

Adapun penjelasan dari Gambar 1.1 yaitu :

Langkah pertama yang menerima pesan yaitu Mita membangkitkan public key dan private key dari algoritma Rabin-p, kemudian public key diberikan kepada Hikam.

Lalu Hikam mengenkripsi pesan yang akan dikirim menggunakan algoritma Affie Cipher maka didapatlah ciphertext pesan yang akan dikirim. Kemudian kunci simetris yang dibangkitkan dari algoritma Affine Cipher dienkripsi dengan algoritma Rabin-p menggunakan public key yang sudah dibangkitkan sebelumnya, maka didapatlah cipherkey kunci simetris. Pada proses enkripsi. Selanjutnya pada proses dekripsi, Mita memperoleh ciphertext dan cipherkey dari Hikam. Selanjutnya Mita mendekripsi cipherkey menggunakan private key dari algoritma Rabin-p yang dibangkitkan sebelumnya, maka didapatlah kunci simetrisnya. Selanjutnya ciphertext akan didekripsi dengan algoritma Affine Cipher , menggunakan kunci simetris yang telah didekripsi oleh Mita, maka didapatlah plaintext yang merupakan pesan yang dikirim oleh Hikam.

Dekripsii File dengan Affine Cipher Enkripsi File dengan

Affine Cipher

Dekripsi Kunci Private dengan Rabin-p Enkripsi Kunci Publik

dengan Rabin-p

Pesan terenkripsi Public Key

1

2 3

Session Key Session Key

Pertukaran kunci (cipherkey)

Private Key Pesan yang akan

dikirim ke Mita Mita

Hikam

Pesan sampai di Mita

Gambar 1.1 Diagram Umum Sistem

(20)

1.7. Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama yaitu :

BAB 1 PENDAHULUAN

Bab ini berisi latar belakang dari penelitian yang akan dilakukan berjudul “Implementasi Algoritma Kunci Publik Rabin-p dan Algoritma Affine Cipher Pada Pengamanan Teks (.pdf)”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penelitian.

BAB 2 LANDASAN TEORI

Bab ini berisi penjelasan secara umum mengenai kriptografi, algoritma yang digunakan yaitu algoritma kunci publik Rabin-p dan algoritma Affine Cipher,Hybrid Cryptosystem, Penelitian yang relevan dan beberapa teori yang mendukung dalam penelitian.

BAB 3 ANALISA DAN PERANCANGAN

Bab ini berisi analisis terhadap masalah penelitian dan perancangan sistem yang akan dibangun sebagai solusi dari masalah tersebut.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi implementasi dari kombinasi antara algoritma kunci publik Rabin-p dan algoritma Affine Cipher serta pengujian terhadap sistem yang telah dibangun dengan beberapa jenis ukuran file serta pembahasan hasil pengujian dan analisisnya.

BAB 5 KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan uraian setiap bab sebelumnya dan saran berdasarkan hasil pengujian yang diharapkan dapat bermanfaat untuk pengembangan sistem selanjutnya.

(21)

2.1 Kriptografi

Kriptografi (Cryptography) berasal dari bahasa Yunani Secara etimologi yaitu kryptos yang artinya tersembunyi dan graphein yang artinya tulisan. (Prayudi, 2005) Semakin berkembangnya zaman dan teknologi saat ini kriptografi digunakan untuk menyelesaikan persoalan secara matematis terhadap masalah otentikasi dan privasi.

(Diffie, 1976)

Kriptografi bertujuan untuk menjaga kerahasiaan data atau informasi agara tidak jatuh ketangan orang yang tidak berhak atas informasi tersebut. Kriptografi terbagi menjadi 2 bagian yaitu kriptografi klasik dan kriptografi modern. Kriptografi klasik yaitu kriptografi yang menggunakan algoritma yang sederhana sehingga memungkinkan pesan yang akan dikirim dapat dipecahkan dengan mudah. Sedangkan kriptografi modern yaitu kriptografi yang menggunakan algoritma yang sulit untuk dipecahkan.

Kriptografi terdiri dari 4 bagian utama yaitu : plaintext, ciphertext, key dan algoritma. Plaintext yaitu pesan yang akan dikirim oleh si pengirim kepada penerima pesan. Ciphertext adalah pesan yang telah di enkripsi. Key adalah kunci yang digunakan pada proses enkripsi dan dekripsi dan algoritma yaitu metode/langkah - langkah yang digunakan untuk teknik kriptografi.

2.1.1. Proses Kriptografi

Terdapat dua proses utama dalam kriptografi yaitu enkripsi dan dekripsi. Enkripsi yaitu pengubahan plaintext menjadi ciphertext, sedangkan untuk mengubah kembali ciphertext menjadi plaintext disebut dekripsi. Enkripsi dan dekripsi data dilakukan oleh sebuah kunci atau beberapa kunci. Secara sederhana istilah-istilah diatas digambarkan pada gambar 2.1 halaman 7 :

(22)

2.1.2. Jenis Algoritma

Berdasarkan Kunci yang dipakai, algoritma kriptografi dapat dibedakan menjadi dua jenis algoritma yaitu algoritma simetris dan algoritma asimetris.

a. Algoritma Simetris

Algoritma simetris yaitu teknik yang digunakan pada kriptografi kalsik.

(Kromodimoeljo, 2010) . Kriptografi simetris adalah jenis kriptografi yang paling umum digunakan . Kunci yang digunakan untuk mengubah plaintext menjadi ciphertext sama dengan kunci yang digunakan untuk mengubah ciphertext menjadi plaintext.

Kriptografi simetris dibagi menjadi 2 kategori yaitu algoritma aliran (stream cipher) dan algoritma blok (block cipher). Pada algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedang pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok). Proses enkripsi dan dekripsi dapat digambarkan pada gambar 2.2 :

Pada gambar diatas dapat dijelaskan bahwa jika seseorang mengetahui cara mengenkripsi file maka orang tersebut juga mengetahui cara mendekripsi file tersebut atau sebaliknya. Kelebihan dari kriptografi simetris adalah kecepatan operasi lebih tinggi dibandingkan dengan kriptografi asimetris sesuai dengan ukuran file yang di enkripsi/dekripsi. Kelemahan dari kriptografi simetris adalah dalam hal penggunaan

Enkripsi Dekripsi

Plaintext Ciphertext Plaintext

Kunci Kunci

Gambar 2.1 Proses Enkripsi dan Dekripsi Sederhana

Gambar 2.2 Proses Enkripsi dan Dekripsi Algoritma Simetris

Enkripsi Dekripsi

(23)

kunci yang sama untuk melakukan enkripsi dan dekripsi data. Bila kunci tersebar maka dekripsi data dapat dilakukan oleh siapapun dan untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam memanajemen kunci tersebut.

b. Algoritma Asimetris

Sekitar tahun 1970-an muncul konsep baru dalam kriptografi yaitu metode kriptografi asimetris. Metode ini juga disebut sebagai metode public key algorithm. Pada metode ini dibutuhkan 2 kunci yaitu kunci publik (public key) dan kunci rahasia (private key).

Kunci yang digunakan untuk enkripsi berbeda dengan kunci yang digunakan untuk dekripsi. (Scheiner,1996). Proses enkripsi dan dekripsi dapat digambarkan pada gambar 2.3 :

2.2. Hybrid Cryptosystem

Hybrid Cryptosystem adalah teknik menggabungkan algoritma simetris dan asimetris.

Pada teknik hybrid proses ini dimulai dengan kunci asimetris dimana kedua belah pihak setuju dengan private key/ session key yang akan dipakai, kemudian session key digunakan dengan teknik cipher simetris untuk melakukan enkirpsi dan dekripsi pesan/ file selanjutnya. (Sumarkidjo dkk, 2007)

Hybrid Cryptosystem memanfaatkan kelebihan dari masing masing algoritma simetris dan asimetris yang digunakan.(Scheiner, 1996). Skema Proses enkripsi dan dekripsi pada Hybrid Cryptosystem gambar 2.4 :

a. Enkripsi Hybrid Cryptosystem :

Gambar 2.3 Proses Enkripsi dan Dekripsi Algoritma Asimetris

Private Public

(24)

b. Dekripsi Hybrid Cryptosystem :

2.3. Teori Bilangan 2.3.1 Euclidean

Algoritma yang digunkakan untuk mencari PBB dari dua bilangan bulat yaitu Euclidean. Seorang matematikawan Yunani menemukan cara untuk mecari PBB yaitu dengan algoritma Euclidean yang tertulis pada bukunya yaitu “Elements”. Pada algoritma ini menggunakan sisa pembagian (modulo). (Munir, 2003)

Algoritma Euclidean : 1. Jika

m adalah PBB(m,n);

stop.

tetapi jika

lanjutkanlah ke langkah 2

Gambar 2.4 : (a) Proses Enkripsi Hybrid Cryptosystem (b) Proses Dekripsi Hybrid Cryptosystem

(25)

2. Bagilah m dengn n dan misalkan r adalah sisanya.

3. Ganti nilai m dengan n dan nilai n dengan nilai r, lalu ulang kembali kelangkah 1.

Contoh :

Berapa PBB (46, 36) ? Jawab :

PBB (45,36) adalah :

Karena telah menghasilkan sisa pembagian sama dengan 0, maka proses berakhir dan didapatlah PBB(45,36) = 9.

2.3.2 Relatif Prima

Dua bilangan dikatakan relatif prima jika bilangan bulat a dan b memiliki hasil PBB(a, b) = 1. (Munir, 2003)

Contoh : a = 7 ; b = 11 Jawab :

PBB (7,11) adalah :

Maka PBB (7, 11) adalah 1. Jadi a merupakan relatif prima dengan b.

2.3.3 Invers Modulo

Inversi modulo biasanya dilambangkan dengan . Disebut invers modulo jika

.m (mod N) =1. (Nihe,2015) Contoh :

Berapa invers dari 3 (mod 7) : Jawab :

1

Tabel 2.1 Contoh perhitungan mencari 𝑚

(26)

2

3

4

5

Jika hasil adalah 1 maka yang didapat adalah 5.

2.4 Algoritma Rabin-p

Algoritma Rabin-p merupakan algoritma yang menerapkan kunci asimetris. Kunci asimetris adalah jenis kunci yang menggunakan dua jenis kunci yaitu kunci publik (public key) dan kunci rahasia (secret key). Kunci public digunakan untuk mengenkripsi pesan sedangkan kunci rahasia digunakan untuk mendekripsi pesan.

(Asbullah et.al,2016).

2.4.1 Pembangkit Kunci Algoritma Rabin-p

Pada proses ini membangkitkan private key dan public key menggunakan algoritma Rabin-p dengan cara :

1. Pilih dua buah bilangan acak prima untuk nilai p dan q dimana memenuhi (mod 4).

2. Hitung .

3. N sebagai publik key dan p sebagai private key.

Contoh : Diketahui

Hitung :

(27)

Maka : N sebagai public key dan p sebagai private key.

2.4.2 Metode Enkripsi

Algoritma untuk melakukan enkripsi pesan pada Rabin-p yaitu : 1. Pilih plaintext dimana GCD(m, N) = 1.

2. Hitung (mod N).

Contoh :

1. Pilih plaintext (m) yang mempunyai panjang antara lebih kecil dari 0 dan lebih besar dari . Misalkan plaintext adalah karakter “m”. Karakter “m” dalam ASCII adalah “109”. 109 dalam biner yaitu “1101101”.

Maka sayarat terpenuhi. GCD (109 , 4307411) = 1 2. Hitung

2.4.3 Metode Dekripsi

Algoritma untuk melakukan dekripsi pada Rabin-p yaitu : 1. Hitung (mod p).

2. Hitung (mod p).

3. Hitung 4. Hitung

(mod p) 5. Hitung

(28)

6. Jika maka 7. Selain itu,

Contoh :

1. Hitung (mod p).

2. Hitung (mod p).

3. Hitung

4. Hitung

5. Hitung

6. Jika maka

(29)

Maka

2.5 Algoritma Affine Cipher

Affine Cipher merupakan perluasan dari Caesar Cipher yang menggunakan teknik substansi dalam penyandian. Affine Cipher adalah salah satu algoritma yang menggunakan metode kunci simetris . Enkripsi dan dekripsi pada sistem persandian menggunakan operasi shift. Pengertian operasi shift yaitu melakukan subsitusi suatu huruf menjadi huruf pada daftar alfabet pada sebelah kanan atau kiri huruf tersebut.

(Sadikin, 2012).

2.5.1 Metode Enkripsi

Metode enkripsi Affine Cipher dapat dinyatakan secara sistematis :

Dimana m merupakan bilangan bulat harusla relatif prima dengan N. N merupakan jumlah alphabet dan b merupakan anggota dari {0,1,2,...,N-1) .

Contoh :

Plaintext : KUKU

 y  «  y  « Maka ciphertext adalah : y«y«

2.5.2 Metode Dekripsi

Metode dekripsi Affine Cipher dapat dinyatakan secara sistematis :

Berdasarkan ciphertext yang dihasilkan pada proses enkripsi sebelumnya dapat dikembalikan sebagai berikut :

Mencari :

Tabel 2.2 Perhitungan mencari 𝑚

(30)

Ciphertext : y

Hitung Dekripsi :

 K  U  K  U Maka plaintext adalah KUKU

2.6 Penelitian yang Relevan

Beberapa penelitan terdahulu yang relavan dengan penelitian yang akan dilakukan oleh penulis adalah sebagai berikut :

- Pada penelitian sebelumnya telah dilakukan penelitian untuk keamanan data dengan kriptografi yang berjudul Implementasi Algoritma Affine Cipher dan Algoritma Advanced Encryption Standard (AES) Pada Aplikasi Short Message Service (SMS) Berbasis Android dapat disimpulkan bahwa pada algoritma Affine Cipher menggunakan kunci yang sama untuk enkripsi dan dekripsi dari kunci AES dan mengamankan kunci dari pesan yang telah dienkripsi. (Nihe, 2015).

- Pada penelitian terdahulu yang relavan dengan penelitian untuk Keamanan data dengan kriptografi yang berjudul Analysis on the Rabin-p cryptosystem dapat disimpulkan bahwa kriptosistem Rabin-p lebih cepat dan menggunakan penyimpanan kurang dibandingkan dengan dua kriptosistem Rabin lainnya yaitu Rabin-Takagi dan kriptosistem HIME (R). (Asbullah et.al,2016).

1

2

... ...

... ...

205

(31)

- Pada penelitian sebelumnya telah dilakukan penelitian terhadap algoritma Affine Cipher dan RC4 untuk melakukan enkripsi file tunggal. Penelitian tersebut dapat disimpulkan bahwa proses enkripsi Affine Cipher lebih lama dibandingkan proses enkripsi RC4.(Agung et.al, 2015)

- Pada penelitian sebelumnya telah dilakukan proses enkripsi dan dekripsi menggunakan algoritma Affine Cipher dapat disimpulkan bahwa algoritma Affine Cipher merupakan perkembangan dari algortima Caesar Cipher yang menggunakan 2 kunci.(Wibowo et.al,2014)

(32)

3.1. Analisis Sistem

Langkah pertama yang harus dilakukan dalam membuat suatu sitem yaitu menganalisis sistem yang akan dibuat. Analisis sitem diperlukan untuk mengetahui berbagai hambatan atau masalah yang akan terjadi pada sistem sehingga dapat dilakukan perbaikan atau penanggulangan. Ada beberapa tahap dalam melakukan analisis sitem yaitu melakukan identifikasi terhadap masalah dan menganalisa kebutuhan yang akan dibuat dalam sistem.

3.1.1 Analisis Masalah

Pada tahap analisis sitem akan dilakukan analisis masalah terlebih dahulu. Pada tahap analisis masalah akan dilakukan identifikasi penyebab terhadap masalah yang terjadi.

Saat ini keamanan dalam melakukan pengiriman pesan ataupun file sangat rentan oleh pihak ketiga yang ingin mengetahui isi dari pesan tersebut. Masalah utama dalam penelitian ini yaitu bagaimana menerapkan algoritma kunci publik Rabin-p dan algoritma Affine Cipher dan melakukan pengamanan file berupa teks secara hybrid cryptography.

Dalam melakakan analisis masalah akan digunakan diagram ishikawa untuk melakukan identifikasi permasalahan. Diagram ishikawa juga sering disebut dengan fishbone ( diagram tulang ikan – karena bentuknya yang mirip dengan tulang ikan) atau sering disebut juga dengan Cause-and-Effect Diagram. Diagram ishikawa pada penelitian ini dapat dilihat pada gambar 3.1. halaman 17 :

(33)

Pada gambar 3.1 menjelaskan masalah utama yang akan diselesaikan terdapat pada bagian yang paling kanan (kepala ikan). Permasalahan yang muncul disebabkan kecurigaan terhadap orang ketiga yang ingin mengetahui pesan/file yang akan dikirim.

Solusi yang ditawarkan adalah dengan mengkombinasikan algoritma simetris dan asimetris sehingga sulit untuk dipecahkan oleh pihak ketiga. Algoritma asimetris digunakan untuk melakukan enkripsi kunci dari algoritma simetris. Sedangkan algoritma simetris digunakan untuk melakukan enkripsi pesan. Algoritma asimetris yang digunakan yaitu algoritma Rabin-p dan algoritma simetris yang digunakan yaitu algoritma Afiine Cipher.

3.1.2 Analisis Kebutuhan

Setelah dilakukan analisis terhadap masalah maka akan dilakukan analisis kebutuhan . Analisis kebutuhan berguna untuk memahami kebutuhan sistem yang akan dibuat.

Analisis kebutuhan terbagi menjadi dua yaitu kebutuhan fungsional dan kebutuhan non fungsional.

3.1.2.1 Kebutuhan Fungsional

Kebutuhan fungsional yaitu menjelaskan proses-proses yang bisa dilakukan oleh sistem. Kebutuhan fungsional yang dapat dilakukan oleh sistem yaitu :

- Sistem dapat membangkitkan public key dan private key . Gambar 3.1 Diagram Ishikawa Masalah Penelitian

(34)

- Sistem dapat melakukan enkripsi file dan dekripsi file berupa string menggunakan algoritma Affine Cipher.

- Sistem dapat melakukan enkripsi kunci dari algoritma Affine Cipher menggunakan algoritma kunci publik algoritma Rabin-p dan dekripsi kunci algoritma Affine Cipher menggunakan kunci privat dari algoritma Rabin-p.

- Sistem dapat menampilkan waktu enkripsi dan dekripsi.

3.1.2.2 Kebutuhan Non-fungsional

Kebutuhan non-fungsional yaitu kebutuhan yang digunakan untuk mendukung kinerja dari sistem. Kebutuhan non-fungsional dari sistem ini adalah sebagai berikut :

1. Efektif dan Efisien

Sistem yang akan dibangun memiliki waktu yang relatif singkat untuk proses enkripsi dan dekripsi.

2. Kontrol

Sistem yang akan dibangun akan menampilkan pesan error untuk setiap inputan yang tidak sesuai.

3.1.3 Diagram Umum Sistem

Diagram umum sistem pada penelitian ini dijelaskan pada gambar 3.2 berikut:

Dekripsii File dengan Affine Cipher Enkripsi File dengan

Affine Cipher

Dekripsi Kunci Private dengan Rabin-p Enkripsi Kunci Publik

dengan Rabin-p

Pesan terenkripsi Public Key

1

2 3

Session Key Session Key

Pertukaran kunci (cipherkey)

Private Key Pesan yang akan dikirim

Ke mita Pesan sampai ke Mita

Gambar 3.2 Diagram Umum Sistem

Mita Hikam

(35)

Adapun penjelasan dari Gambar 3.2 yaitu :

Langkah pertama yang menerima pesan yaitu Mita membangkitkan public key dan private key dari algoritma Rabin-p, kemudian public key diberikan kepada Hikam.

Lalu Hikam mengenkripsi pesan yang akan dikirim menggunakan algoritma Affine Cipher maka didapatlah cipher text pesan yang akan dikirim. Kemudian kunci simetris yang dibangkitkan dari algoritma Affine Cipher dienkripsi dengan algoritma Rabin-p menggunakan public key yang sudah dibangkitkan sebelumnya, maka didapatlah cipherkey kunci simetris. Pada proses enkripsi. Selanjutnya pada proses dekripsi, Mita memperoleh cipher text dan cipherkey dari Hikam. Selanjutnya Mita mendekripsi cipherkey menggunakan private key dari algoritma Rabin-p yang dibangkitkan sebelumnya, maka didapatlah kunci simetrisnya. Selanjutnya cipher text akan didekripsi dengan algoritma Affine Cipher , menggunakan kunci simetris yang telah didekripsi oleh Mita, maka didapatlah plain text yang merupakan pesan yang dikirim oleh Hikam.

3.1.4 Pemodelan Sistem

Pemodelan sistem bertujuan untuk menetukan fungsi dan tujuan dari sistem yang akan dibangun. Pemodelan sistem dapat memudahkan dalam menganalisa kebutuhan user dan memperoleh gambaran umum kerja dari sistem yang akan dibangun. Pemodelan sistem yang dilakukan dengan melakukan pembuatan Use Case Diagram, Activity Diagram dan Sequence Diagram.

3.1.4.1 Use Case Diagram

Use case diagram dibuat untuk mengetahui akses apa saja yang dapat dilakukan oleh pengirim pesan dan penerima pesan serta gambaran kebutuhan sistem secara fungsional sehingga dapat memudahkan pengguna untuk mengetahui kegunaan dari sistem yang akan dibangun. Use case diagram pada penelitian ini dapat dilihat pada gambar 3.3 halaman 20 :

(36)

Pada gambar 3.3 dapat dijelaskan bahwa sistem digunakan oleh dua aktor yaitu Pengirim pesan dan Penerima pesan. Dalam sistem ini penerima pesan memiliki hak akses melihat halaman splashscreen, bantuan, dan melakukan pembangkitan kunci privat dan kunci publik dari algoritma Rabin-p. Kunci publik Rabin-p yang telah dibangkitkan akan digunakan oleh pengirim pesan untuk melakukan enkripsi kunci Affine Cipher sedangkan, kunci privat digunakan untuk melakukan dekripsi kunci Affine Cipher. Pengirim pesan memiliki hak akses melihat halaman splashscreen, enkripsi pesan dan bantuan. Dalam melakukan enkripsi pesan pengirim pesan akan menginput file yang akan dienkripsi, melakukan enkripsi file dengan algoritma Affine Cipher dan melakukan enkripsi kunci Affine Cipher dengan menggunakan kunci publik Rabin-p. Hasil enkripsi file (cipher text) dan hasil enkripsi kunci (cipherkey) akan diberikan kepada penerima pesan.

Gambar 3.3 : Use case Diagram Penelitian

(37)

3.1.4.2 Activity Diagram

Activity diagram digunakan untuk menggambarkan alur aktifitas antara user dan sistem secara sistematis. Terdapat tiga activity diagram pada sistem ini yaitu activity diagram pembangkit kunci, activity diagram proses enkripsi dan activity diagram proses dekripsi.

Activity Diagram Pembangkit Kunci

Pada gambar 3.4 menjelaskan activity digram pembangkit kunci sistem dimana terdapat dua aktifitas yaitu aktifitas penerima pesan dan aktifitas sistem. Pertama user hanya perlu menekan tombol bangkitkan kunci lalu sitem akan mencari nilai p dan q sesuai syarat yang telah ditentukan pada algoritma pembangkit kunci Rabin-p. Stelah

Gambar 3.4 Activity Diagram Pembangkit Kunci

(38)

sistem menampilkan p,q, kunci publik maka langkah user selanjutnya yaitu menekan tombol simpan . Maka kunci akan secara otomatis tersimpan dalam bentuk format .pdf.

Activity Diagram Proses Enkripsi

Pada gambar 3.5. menjelaskan activity diagram proses enkripsi sistem dimana terdapat dua aktifitas yaitu aktifitas pengirim pesan dan aktifitas sistem secara sistematis.

Pertama pengirim pesan memilih file yang akan di enkripsi kemudian sistem akan menampilkan dialog untuk mencari file lalu sistem akan menampilkan file serta panjang karakternya. Tahap kedua pengirim pesan melakukan pembangkitan kkunci algoritma Affine Cipher dan melakukan enkripsi file. Sistem akan menyimpan hasil enkripsi dan menampikan waktu enkripsi. Tahap selanjutnya yaitu pengirim pesan

Gambar 3.5 Activity Diagram Enkripsi File

(39)

menginputkan kunci publik dari algoritma Rabin-p dan melakukan enkripsi kunci Affine Cipher menggunakan kunci publik Rabin-p yang diterima dari pengirim pesan.

Kemudian sistem akan menyimpan hasil enkripsi kunci dan waktu proses enkripsi.

Activity Diagram Proses Dekripsi

Gambar 3.6 Activity Diagram Dekripsi File

(40)

Pada gambar 3.6 dapat dijelaskan bahwa terdapat dua buah aktivitas diagram yaitu aktifitas penerima pesan dan aktifitas sistem yang dibuat secara berurutan dan sistematis. Tahap pertama yaitu penerima pesan menerima hasil enkripsi file dan enkripsi kunci dari pengirim. Kemudian penerima pesan melakukan dekripsi kunci terlebih dahulu dengan memasukkan hasil enkripsi kunci yang diterima dari pengirim pesan dan kunci privat Rabin-p yang telah dibangkitkan sebelumnya .Sistem akan menampilkan dialog dekripsi kunci berhasil dan menyimpan hasil dekripsi kunci serta menampilkan waktu proses dekripsi kunci. Setelah didapat hasil dekripsi kunci maka langkah selanjutnya melakukan dekripsi file dengan cara memasukkan file hasil enkripsi yang diperoleh dari penerima pesan dan memasukkan kunci yang telah didekripsi. Sistem akan menampilkan dialog dekripsi file berhasil dan menyimpan hasil dekripsi file serta menampilkan waktu proses dekripsi file.

3.1.4.3 Sequence Diagram

Sequence diagram digunakan untuk menggambarkan rangkaian antara objek yang ada serta interaksi antara satu objek dengan objek lainnya. Berikt Sequence Diagram dari sistem yang akan dibangun.

Gambar 3.7 Sequence Diagram Sistem

(41)

Pada gambar 3.7 menjelaskan sequence diagram sistem dimana pada sistem terdapat 6 objek yaitu splashscreen, beranda, pembangkit kunci, enkripsi, dekripsi serta bantuan. Keenam objek tersebut saling berinteraksi antara satu objek dengan objek lainnya di dalam sistem. Hasil dari sistem yaitu mendapatkan plain text kembali seperti semula.

3.1.5 Flowchart

Flowchart adalah gambaran yang memiliki bentuk diagram alir yang saling berhubungan satu dengan yang lain atau proses-proses yang saling terkait yang menyatakan arah alur program tersebut. Digram alur ini memberikan solusi untuk membantu menyelesaikan dan memberikan solusi pada suatu permasalahan.

Flowchart yang dibuat pada penelitian ini yaitu: flowchart sistem, flowchart algoritma Rabin p dan flowchart algoritma Affine Cipher.

3.1.5.1 Flowchart Sistem

Gambar 3.8 Flowchart Sistem

(42)
(43)

Pada Gambar 3.10 Flowchart algoritma Rabin-p menunjukan adanya 3 proses yang bekerja yaitu : pembangkit kunci, enkripsi dan dekripsi.Pada bagian (a) flowchart pembangkit kunci algoritma Rabin-p menunjukan proses dimulai dari penginputan 2 bilangan acak p dan q lalu dilakukan pengecekan bilangan prima . Apabila bilangan tersebut prima maka akan diproses nilai N, jika tidak mengulang ke proses bagian input bilangan. Sehingga diperoleh public key (N) dan private key (p).

Pada bagian (b) flowchart enkripsi algoritma Rabin-p menunjukan proses enkripsi kunci mulai dari menginputkan kunci dari algoritma Affine Cipher dan kunci publik dari algoritma Rabin-p kemudian akan dilakukan perhitungan sesuai algoritma Rabin-p, sehingga diperoleh cipherkey.

Pada bagian (c) menunjukan flowchart dekripsi algoritma Rabin-p. Pada bagian ini dilakukan proses dekripsi cipherkey dengan kunci privat dari algoritma Rabin-p. Lalu dilakukan proses perhitungan sesuai dengan algoritma Rabin-p.

Sehingga diperoleh kunci yang asli yang sebelumnya telah tersandi.

3.1.5.3 Flowchart Algoritma Affine Cipher

(a) (b)

Gambar 3.11 Flowchart Algoritma Affine Cipher (a) Enkripsi (b) Dekripsi

(44)

Pada gambar 3.11 Flowchart algoritma Affine Cipher menunukan dua proses, yaitu proses enkripsi dan dekripsi. Pada bagian (a) proses enkripsi dilakukan proses input file dan input dua buah bilangan acak. Lalu proses perhitungan dilakukan sesuai dengan rumus yang telah ditetapkan oleh algoritma Affine Cipher. Selanjutkan akan menghasilkan file yang telah di enkripsi. Pada bagian (b) dilakukukan proses dekripsi pesan. Pada proses ini dilakukan input pesan dan key yang telah diterima dari sender.

Pesan akan didekripsi menggunakan rumus yang ada pada algoritma Affine Cipher.

3.2 Perancangan Interface

Perancangan Interface merupakan bagian yang paling penting dalam melakukan perancangan sistem. Perancangan interface bertujuan untuk memudahkan user dalam menggunakan sistem. Interface sistem haruslah user friendly agar user dapat menggunakan sistem dengan mudah.Pada penelitian ini sistem dibuat dengan menggunakan bahasa pemogaman java dengan software Android Studio dimana memiliki enam halaman yaitu splashscreen, beranda, pembangkit kunci, enkripsi, dekripsi dan bantuan.

3.2.1 Interface Halaman Splashscreen

Gambar 3.12 Rancangan Interface Halaman Splash

(45)

Keterangan gambar :

1. Textview untuk menampilkan judul skripsi.

2. Textview untuk menampilkan kata “Skripsi”.

3. Textview untuk menampilkan identitas penulis.

4. Imageview untuk menampilkan logo USU.

5. Textview untuk menampilkan nama program studi.

6. Textview untuk menampilkan nama fakultas.

7. Textview untuk menampilkan nama universitas.

8. Textview untuk menampilkan kota universitas.

9. Textview untuk menampilkan tahun.

3.2.2 Interface Halaman Pembangkit Kunci

Keterangan gambar :

1. Textview untuk menampilkan judul halaman.

2. Textview untuk menampilkan kata “Bilangan Prima (p)”.

3. Textview untuk menampilkan kata “Bilangan Prima (q)”.

4. Textview untuk menampilkan kata “Kunci Publik (N)”.

Gambar 3.13 Rancangan Interface Halaman Pembangkit Kunci

(46)

5. Textview untuk menampilkan kata “Kunci Privat (p)”.

6. Textview untuk menampilkan hasil bilangan prima (p).

7. Textview untuk menampilkan hasil bilangan prima (q), 8. Textview untuk menampilkan hasil kunci publik.

9. Textview untuk menampilkan hasil kunci privat.

10. Button untuk membangkitkan kunci.

11. Button untuk menyimpan hasil pembangkit kunci.

3.2.3 Interface Halaman Enkripsi

Keterangan gambar :

1. Textview untuk menampilkan judul halaman.

2. Textview untuk menampilkan kata “Pilih File”.

3. Textview untuk menampilkan kata “Pilih Kunci”.

4. Textview untuk menampilkan hasil pilih file.

5. Textview untuk menampilkan kunci.

6. Button untuk memilih file yang akan dienkripsi.

7. Button untuk menampilkan kunci yang dibangkitkan dan menyimpan kunci.

8. Button untuk melakukan enkripsi file.

9. Textview untuk menampilkan kata “ Kunci Publik”.

10. Textview untuk menampilkan hasil kunci publik.

Gambar 3.14 Rancangan Interface Halaman Enkripsi

(47)

11. Button untuk memilih file kunci publik.

12. Button untuk melakukan enkripsi kunci.

3.2.4 Interface Halaman Dekripsi

Keterangan gambar :

1. Textview untuk menampilkan judul halaman.

2. Textview untuk menampilkan kata “Cipher key”.

3. Textview untuk menampilkan kata “Kunci Privat”.

4. Textview untuk menampilkan hasil cipher key.

5. Textview untuk menampilkan hasil kunci privat.

6. Button untuk memilih file cipher key.

7. Button untuk memilih file kunci privat.

8. Button untuk mendekripsi kunci.

9. Textview untuk menampilkan kata “Pilih File”.

10. Textview untuk menampilkan kata “Kunci Dekripsi”.

11. Tetxview untuk menampilkan hasil pilih file.

12. Textview untuk menampilkan hasil kunci dekripsi.

13. Button untuk memilih fiile yang akan didekripsi.

14. Button untuk memilih file kunci yang telah didekripsi.

15. Button untuk melakukan dekripsi file.

Gambar 3.15 Rancangan Interface Halaman Dekripsi

(48)

3.2.5 Interface Halaman Bantuan

Keterangan gambar :

1. Textview untuk menampilkan judul halaman.

2. Textview untuk menampilkan penjelasan langkah-langkah menggunakan aplikasi.

Gambar 3.16 Rancangan Interface Halaman Bantuan

(49)
(50)
(51)
(52)

4.1.5. Halaman Dekripsi

Pada halaman dekripsi untuk melakukan dekripsi pesan, maka langkah pertama yang dilakukan oleh penerima pesan yaitu melakukan dekripsi terhadap cipher key.

Dekripsi cipher key dilakukan dengan memasukkan cipher key dan privatekey yang telah dibangkitkan sebelumnya. Kemudian penerima pesan akan mendapatkan plain key yang digunakan untuk melakukan dekripsi cipher text. Dekripsi cipher text dilakukan dengan cara memasukkan plain key dan cipher text kemudian tekan tombol dekripsi, maka hasil dekripsi pesan akan otomatis tersimpan di android penerima pesan. Berikut tampilan halamna dekripsi file pada gambar 4.5 halaman 37 :

Gambar 4.4. Halaman Enkripsi File

(53)

4.1.6. Halaman Bantuan

Halaman bantuan berisikan informasi tata cara menggunakan sistem. Informasi yang diberikan yaitu mengenai cara melakukan pembangkitan kunci, enkripsi file, dan dekripsi file dengan benar. Berikut tampilan halaman bantuan dapat dilihat pada gambar 4.6 halaman 38 :

Gambar 4.5. Halaman Dekripsi File

(54)

4.2. Pengujian Sistem

Pengujian sistem dilakukan untuk menguji sistem dapat berjalan dengan baik dan hasil yang didapatkan setelah proses enkripsi dapat kembali seperti semula ketika didekripsi. Pengujian dilakukan pada agoritma Rabin-p dan algoritma Affine Cipher.

Kriteria pengujian sebagai berikut : 1. Plain text berupa file .pdf.

2. Public key ,Private key, dan kunci Affine Cipher disimpan dalam bentuk file .pdf.

3. Cipher text dan cipher key disimpan dalam bentuk file .pdf.

4. Perhitungan real running time dihitung dengan menggunakan pemograman java berbasis android.

5. Pengujian sistem ini dilakukan dengan menggunakan handphone sistem operasi android 4.4.2 RAM 2 GB .

Gambar 4.6. Halaman Bantuan

(55)

4.2.1. Pengujian Pembangkit Kunci

Pada halaman pembangkit kunci user hanya perlu menekan tombol bangkitkan kunci untuk menghasilkan nilai p,q, kunci publik dan kunci privat. Setelah didaptkan nilai p,q, kunci publik dan kunci privat user harus menyimpan kunci tersebut unuk melakukan enkripsi dan dekripsi file dengan menekan tombol simpan kunci. Berikut contoh pembangkitan kunci dapat dilihat pada gambar 4.7 :

4.2.1.1. Perhitungan Pembangkit Kunci Algoritma Rabin-p

Ketika user menekan tombol bangkitkan kunci maka sistem akan menghasilkan nilai p,q dan N .

Gambar 4.7. Pengujian Pembangkit Kunci

(56)

Hitung p dan q :

P dan q memenuhi syarat

- Setelah mendapatkan nilai p dan q selanjutnya menghitung nilai N (public key).

Hitung N :

Maka N sebagai kunci publik dan p sebagai kunci privat.

4.2.2. Pengujian Enkripsi

Pada pengujian enkripsi user memasukkan file bereksistensi .pdf dan membangkitkan kunci affine cipher . Setelah melakukan enkripsi file, user juga mengenkripsi kunci dari affine cipher dengan memasukkan kunci publik . file yang telah di enkripsi (cipher text) dan kunci yang telah di enkripsi (cipher key) akan disimpan secara otomatis di memory internal user. Berikut tampilan sistem enkripsi pada gambar 4.8 halaman 41 :

(57)

4.2.2.1. Perhitungan Enkripsi File

Dokumen yang diuji dengan nama file1.pdf berisi String “ Sasmita”. Kunci Affine Cipher (m) didapatkan dengan syarat GCD (m,n) = 1. Dimana n = 256 ( Tabel ASCII 256). Berikut perhitungan kunci affine cipher :

Hitung GCD :

 ( ) ( )

Gambar 4.8. Pengujian Enkripsi

(58)

Maka kunci affine cipher adalah 97, karena GCD (83,256) = 1.

Plain text (p) = Sasmita Plain key (m) = 83 b = 200

Hitung ciphertetxt :

 Plain text = S p[0] = 83

p[0] = (83.83 + 200) mod 256 p[0] = 177

Cipher text = ±

 Plaintetxt = a p[1] = 97

p[1] = (83.97 +200) mod 256 p[1] = 59

Cipher text = ;

 Plaintetx = s p[2] = 115

p[2] = (83.115 + 200) mod 256 p[2] = 17

Cipher text =

 Plain text = m p[3] = 109

p[3] = (83.109 +200) mod 256 p[3] = 31

Cipher text =

 Plain text = i p[4] = 105

p[4] = (83.105 + 200) mod 256 p[4] = 211

Cipher text = Ó

 Plain text = t

(59)

p[5] = 116

p[5] = (83.116 + 200) mod 256 p[5] = 100

Cipher text = d

 Plaintetext = a p[1] = 97

p[1] = (83.97 +200) mod 256 p[1] = 59

Cipher text = ;

Berikut tampilan hasil enkripsi file sistem pada gambar 4.9 :

4.2.2.2. Perhitungan Enkripsi Kunci

Enkripsi kunci dilakukan dengan memasukkan kunci affinecipher (plain key) dan kunci publik Rabin-p.Enkripsi dilakukan menggunakan rumus enkripsi Rabin-p.

Berikut perhitungan enkripsi kunci : Plain key (m) = 83

Kunci publik (N) = 4617719

k = 7

Hitung cipher key :

Gambar 4.9. Pengujian Enkripsi File

(60)
(61)
(62)

Hitung w :

Hitung

Hitung i :

Hitung j :

( )

( )

Hitung m1 :

Jika maka :

Maka Maka Plain key[0] = 8

 c[1] = 2601 Hitung w :

(63)

Hitung

Hitung i :

Hitung j :

( )

( )

Hitung m1 :

Jika maka :

Maka Maka Plain key[1] = 3 Plain key = 83

(64)

Pengujian dekripsi kunci dapat dilihat pada gambar 4.12 :

4.2.3.2. Perhitungan Dekripsi File

Dekripsi file dapat dilakukan dengan memasukkan file yang telah di enkripsi dan kunci yang telah didekripsi. Perhitungan dekripsi file menggunakan rumus dekripsi affine cipher . Adapun perhitungannya sebagai berikut :

Hitung :

( )

1 83

2 166

3 249

4 76

5 159

... ...

... ...

219 1

Gambar 4.12. Pengujian Dekripsi Kunci

Tabel 4.1. Perhitungan 𝒎 𝟏 Pengujian Dekripsi File

(65)

Hitung plain text :

Cipher text = ±

( )( )

Plain text = S

Cipher text = ;

( )( )

Plain text = a

Cipher text =

( )( )

Plain text = s

Cipher text =

( )( )

Plain text = m

(66)

Cipher text = Ó

( )( )

Plain text = i

Cipher text = d

( )( )

Plain text = t

Cipher text = ;

( )( )

Plain text = a

Berikut hasil dekripsi sitem dapat dilihat pada gambar 4.13 halaman 51:

(67)

4.2.4 Hasil Enkripsi Plain text dan Plain key 4.2.4.1 Hasil Enkripsi Plain text

File plain text yang telah dienkripsi memiliki panjang file yang sama dengan file sebelum. Pada Tabel 4.2 ditunjukkan hasil enkripsi file dengan panjang kunci Affine Cipher sebanyak 2 digit angka :

4.2.4.2 Hasil Enkripsi Plain key

Dibawah ini ditunjukkan beberapa plain key yang telah dienkripsi dengan kunci Rabin-p, nilai p dan q sebanyak 3 digit angka. Hasil enkripsi kunci memiliki panjang

No Plain text Cipher text

1 Ilmu NS{Ò

2 Ilmu Komputer Wn sÒ±ÅăsVȍ

3 Ilmu Komputer USU wn sұŠăsVȍ ÒÓ Ó Gambar 4.13. Pengujian Dekripsi File

Tabel 4.2. Hasil Uji Enkripsi File

(68)

plain key yang beberapa kali lebih panjang dengan plain key sebelum dilakukan enkripsi :

4.2.5. Waktu Proses (Real Running Time)

Suatu algoritma dikatakan efesien jika algoritma tersebut tidak memakan waktu yang banyak dalam melakukan pemrosesan. Walaupun algoritma tersebut memberikan keluaran yang benar namun jika melakukan pemrosesan memakan waktu berjam- jam untuk mendapatkan outputnya maka algoritma tersebut biasanya tidak digunakan. Maka dari itu penelitian ini akan menghitung waktu proses algoritma Rabin-p dan Affine Cipher . Waktu proses yang akan dihitung yaitu : pembangkit kunci p dan q berdasarkan digit bilangan prima dalam millisecond, enkripsi file berdasarkan panjang file dalam millisecond, enkripsi kunci bersarkan panjang kunci dalam millisecond, dekripsi file berdasarkan panjang file dalam millisecond , dan dekripsi kunci berdasarkan panjang kunci dalam millisecond.

4.2.5.1. Waktu Proses Pembangkitan Kunci Algorima Rabin-p

Waktu proses pembangkitan kunci dihitung berdasarkan banyaknya digit dari masing-masing bilangan prima p dan q dihitung pada tabe 4.4 :

Banyak digit kunci

Waktu Proses (millisecond) Percobaan

1

Percobaan 2

Percobaan 3

Percobaan 4

Percobaan 5

Rata-rata

p = 2; q = 2 190 290 289 259 225 250,6

p = 2 ; q = 3 166 135 63 77 53 98,8

p = 3 ; q = 3 132 59 71 31 80 74,6

No Plain key Cipher text

1 9 3249

2 55 2809 2809

3 263 2500 2916 2601

Tabel 4.3. Hasil Uji Enkripsi Kunci

Tabel 4.4 Nilai Rata – Rata Proses Pembangkitan Kunci

(69)

Tabel 4.14 menunjukan waktu proses yang dihasilkan dengan melakukan percobaan sebanyak 5 kali percobaan dengan banyak digit kunci p = 2 & q = 2, p =2 & q = 3 dan p = 3 & q =3. Setelah dilakukan percobaan sebnayak 5 kali didapat nilai rata-rata dari masing2 banyak digit kunci dalam satuan waktu millisecond. Berikut grafik dari tabel 4.4 :

Pada grafik diatas ditunjukan bahwa semakin sedikit jumlah p dan q maka akan semakin lama waktu proses pembangkitan kuncinya, sebaliknya jika semakin panjang kunci p dan q maka akan semakin cepat proses pemabangkitan kuncinya.

4.2.5.2. Waktu Proses Enkripsi File Algoritma Affine Cipher

Waktu proses enkripsi Affine Cipher berdasarkan panjang plain text dan panjang kunci Affine Cipher yang telah ditentukan yaitu :

1. Enkripsi algoritma Affine Cipher dengan panjang plain text 50 karakter dan panjang kunci 2 , 3, dan 4 digit yang ditunjukkan pada tabel 4.5.

Banyak digit kunci

Waktu Proses (millisecond) Percobaan

1

Percobaan 2

Percobaan 3

Percobaan 4

Percobaan 5

Rata-rata

2 19 9 17 13 13 14,2

0 50 100 150 200 250 300

p = 2 ; q = 2 p = 2 ; q = 3 p = 3 ; q = 3

Waktu Proses (ms)

Panjang kunci Rabin-p (digit)

Grafik Nilai Rata - Rata Pembangkitan Kunci Algoritma Rabin-p

Gambar 4.14 Grafik Tabel Pembangkit Kunci

Tabel 4.5 Percobaan Enkripsi Affine Cipher dengan Plain text 50 karakter

Gambar

Gambar 1.1  Diagram Umum Sistem
Gambar 2.4 : (a) Proses Enkripsi Hybrid Cryptosystem (b)  Proses Dekripsi Hybrid Cryptosystem
Diagram umum sistem pada penelitian ini dijelaskan pada gambar 3.2  berikut:
Gambar 3.3 : Use case Diagram Penelitian
+7

Referensi

Dokumen terkait

Berdasarkan uraian di atas, maka penulis mengambil tugas akhir dengan judul “ Analisa dan Implementasi Algoritma Kriptografi Playfair Cipher dan Algoritma Kompresi Run

Algoritma Rabin Cryptosystem merupakan algoritma kriptografi kunci publik maka enkripsi di lakukan hanya dengan menggunakan kunci publik yang dapat di ketahui oleh

Implementasi Algoritma DES dan RSA Pada Enkripsi Hybrid Key Untuk Meningkatkan Keamanan Sistem Informasi.. Universitas Pendidikan

Algoritma kriptografi klasik yang akan digunakan untuk proses penyandian data ini adalah Zig-zag Cipher dan algoritma modern yang akan digunakan adalah RC4 +.. Zig-zag Cipher

Perancangan Algoritma Sistem Keamanan Data Menggunakan Kriptografi Asimetris.. Jurnal Komputer dan Informatika Edisi I

Implementasi Kombinasi Algoritma Vigenere Dan Algoritma Data Encryption Standard (Des) Pada Aplikasi Short Message Service (Sms) Berbasis Windows Phone..

Gambar 4.11 menunjukkan grafik dari rata-rata waktu proses enkripsi file pada algoritma Spritz yang memiliki panjang kunci 23 digit dengan panjang karakter yang

Penelitian ini mengimplementasikan algoritma playfair cipher yang telah dimodifikasi untuk meningkatkan tingkat keamanan dari kriptografi klasik dan teknik steganografi Begin Of