• Tidak ada hasil yang ditemukan

Implementasi Algoritma Kunci Public Rabin Cryptosystem dan Extended Polybius Square Dalam Pengamanan PDF

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Kunci Public Rabin Cryptosystem dan Extended Polybius Square Dalam Pengamanan PDF"

Copied!
105
0
0

Teks penuh

(1)

Listing Program MsgBox(ReadFilePDF(filePath1) & "data Leng" & data.Length) '

Dim pol, dataDesimal, moduloN() As Integer

(2)

ListBox1.DataSource = data ListBox2.DataSource = Bytess ListBox3.DataSource = moduloN

System.IO.File.WriteAllLines(TxtOutputPath.Text, Array.ConvertAll(moduloN, New

Converter(Of Integer, String)(Function(t As Integer) t.ToString()))) System.IO.File.WriteAllLines(Application.StartupPath & "\k.txt", Array.ConvertAll(k, New Converter(Of Integer, String)(Function(t As Double) t.ToString())))

watch.Stop()

(3)
(4)

Public Class FrmHome

Private Sub FrmHome_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load End Sub

End Class

Form About

Public Class frmAbout

Private Sub frmAbout_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load End Sub

(5)

Daftar Pustaka

Adeputera, Anugerah. Studi dan Implementasi Algoritma Rabin-Krap. Jurnal.Program Studi Teknik Informatika. Institut Teknologi Bandung

Bishop, D. 2003. Introduction to Cryptography with Java Applets. Sudbury: Jones and Bartlett Publishers, Inc.

Cormen, Thomas. 2009. Introduction to Algorithm Third Edition. E-Book. MIT Press Cambridge, Messachusette London. England

Darmajati, Dadi W. 2002. Implementasi Algoritma DES dan RSA Pada Enkripsi Hybrid Key Untuk Meningkatkan Keamanan Sistem Informasi. Jurnal. Universitas Pendidikan Indonesia

Fauziabdi, Muhammad. 2010. Implementasi Kriptografi Klasik Menggunakan Barlon Delphi. Jurnal. Universitas PGRI Yogyakarta. Yogyakarta

Ferguson, Niels., Schneier, Bruce & Kohno, Tadayoshi. 2010. Cryptography Engineering.

Indianapolis: Wiley Publishing.

Forouzan, Behrouz. 2006. Cryptography and Network Security. Florida: McGraw-Hill. Mollin, A Richard. 1947. RSA And Public Key Cryptosystem. E-Book. CRC Press Company Mollin, A Richard. 2000. CODES THE GUIDE TO SECRECY FROM ANCIENT MODERN

TIME. E-Book. CRC Press Company

Mollin, A Richard. 2007. An Introduction to Crypthography Second Edition. E-Book. CRC Press Company.

Munir. Rinaldi. 2008. Belajar Ilmu Kriptografi. Buku. Penerbit Andi Yogyakarta

Menezes, A., Oorschot P.V. & Vanstone, S. 1996. Handbook of Applied Cryptography.California: CRC Press.

Paar, ChristofdanPelzl, Jan. 2010.Understanding Cryptography. Berlin: Springer-Verlag. Rosen, Kenneth H. 2012. Discrete Mathematics and Its Applications.Edisi ke-7. New York:

McGraw-Hill.

Rizal, Anshar Suharto. 2011. Implementasi Algoritma CR4 Untuk Keamanan Login Pada Sistem Pembayaran Uang Sekolah Delektrika. ISBN 2086-9487. Vol2 No2

(6)
(7)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1. Analisis Sistem

Analisis sistem adalah Penguraian suatu sistem informasi kedalam bagian – bagian yang lebih kecil untuk memudahkan user dalam mengidentifikasi serta mengevaluasi masalah, hambatan – hambatan yang mungkin akan terjadi dalam suatu sistem. Adapun tahapan – tahapan yang dilakukan dalam analisa sistem yaitu : analisa masalah, analisa kebutuhan, analisa proses.

Ketika berbicara tentang program aplikasi, pasti tidak terlepas dari komponen interface

dan user. Dalam interface sendiri terdapat berbagai macam elemen – elemen yang membangun agar aplikasi dapat berjalan dengan baik. Didalam program aplikasi terdapat arsitektur komputer, basis data (database), dan berbagai macam prosedural yang mendukung dalam program aplikasi tersebu. User merupakan instruktor dalam aplikasi tersebut sehingga dapat berjalan sesui dengan tujuan aplikasi tersebut dibuat

3.1.1. Analisis Masalah

(8)

Implementation

Gambar 3.1. Diagram Ishikawa Pada Implementasi Algoritma Extended Polybius Square dan Rabin Cryptosystem Dalam Keamanan PDF

3.1.2. Analisis Kebutuhan

Analisis kebutuhan sistem dikelompokan menjadi dua yaitu: analisis fungsional dan analisis nonfungsional.

3.1.2.1 Kebutuhan Fungsional

1. Kebutuhan fungsional adalah fungsi yang harus dipenuhi oleh sebuah aplikasi yang akan dirancang. Kebutuhna fungsional yang dibutuhkan yang diperlukan antara lain sebagai berikut:

a. Sistem harus mampu melakukan pencarian file PDF (Portabel Document File)

dalam sistem komputer.

b. Sistem harus dapat melakukan proses enkripsi dan dekripsi terhadap file PDF

dengan menggunakan algoritma kunci publik RABIN Cryptosystem dan algoritma

Extended Polybius Square.

(9)

3.1.2.2. Kebutuhan Nonfungsional

Kebutuhan fungsional merupakan nilai – nilai yang akan menjadi batasan – batasan terhadap nilai tolak ukur penilaian terhadap kepuasan sistem uang akan dirancang. Kebutuhan nonfungsional itu sendiri antara lain ( Noviandri, 2011) :

1. Performa

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

2. Efisiensi

Sistem atau perangkat lunak yang akan dibangun harus sesederhana mungkin agar mudah digunakan oleh pengguna (user) dan responsif.

3. Ekonomi

Sistem atau perangkat lunak yang akan dibangun harus dapat bekerja dengan baik tanpa harus mengeluarkan biaya tambahan dalam penggunaan perangkat keras maupun perangkat lunak.

4. Dokumentasi

Sistem atau perangkat lunak yang akan dibangun dapat menyimpandata hasil proses enkripsi.

5. Kualitas

Sistem harus dapat menampilkan output proses enkripsi dan dekripsi dari suatu data PDF

dengan cepat. 6. Kontrol

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

3.2. Analisis Proses

Pemodelan dirancang dengan tujuan tuntuk memberikan gambaran terhadap semua proses yang terjadi serta memberikan gambaran terhadap bagian – bagian dari sistem yang dirancang.

3.2.1. Use-Case Diagram

Use-case diagram merupakan dekripsi dari sebuah interaksi – interaksi yang dilakukan satu atau lebih aktor, serta menggambarkan fungsi apa sajakah yang terdapat dalam suatu sistem.

(10)

System

Gambar 3.2 Use-Case Diagram Pada Sistem

Dari use case diatas tampak bahwa actor di sini yang melakukan proses terlebih dahulu adalah sender. Sender akan melakukan pencarian file PDF (Portabel Document File )terlebih, lalu setelah itu melakukan proses enkripsi. Proses enkripsi yang dilakukan pertama adalah melakukan proses enkripsi dengan menggunakan algoritma Extended Polybius. Dimana pada tahap ini, user harus terlebih dulu melakukan proses penentuan bilangan prima yang dilakukan dengan metode Extended Polybius. Proses tersebut berfungsi untuk menentukan kunci public

dan private, kemudian kunci public akan diberikan kepada receiver. Sedangkan kunci private

(11)

3.2.2, Tabel Dokumentasi Naratif

Pada tabel 3.1 dibawah ini disajikan tabel dokumentasi naratif untuk use case diagram.

Table 3.1. Dokumentasi naratif program enkripsi dan dekripsi Algoritma Exetended Polybius

dan Rabin Cryptosystem

Nama use case Program enkripsi

Actor Pengenkripsi dan pendekripsi filePDF

Deskripsi Use case merupakan dekripsi dari sebuah interaksi – interaksi yang dilakukan satu atau lebih aktor

Pre-condition Data atau informasi yang yang dikirim berupa PDF

Typical cuourse of kunci public dan private

Langkah ke-5: Sender

Post kondition Data atau informasi yang dikirim si sender kepada receiver

sampai tanpa dikatehui oleh orang lain

(12)

penyajian tabel diatas dapat diketahui bagaimana cara penggunaan program dan langkah-langkah dalam menggunakan program.

Pada use case dapat di lihat beberapa aksi yang dilakukan oleh aktor, yaitu bangkitkan kunci, enkripsi dan dekripsi. Untuk menjelaskan kertiga proses dapat digambarkan dengan

diagram activity dari setiap proses. Untuk menjelaskan proses bangkitkan kunci, maka berikut akan dibuatkan dokumentasi naratif untuk use case bangkitkan kunci:

Table 3.2. Proses pembangkitan Kunci Nama use case pembangkitkan kunci

Aktor Sender

Deskripsi use case

Use case mendekripsikan bagaimana sender menggunakan sistem untuk membangkitkan sebuah kunci private dan public

algoritma Extended Polybius dan Algoritma kunci publik

Rabin Cryptosystem

Pre-condition Penerima belum memiliki kunci private dan public

Typical course of

(13)

Alternative course Aksi aktor Respons sistem

- -

Post kondition Kunci telah dibangkitkan dan di simpan di sistem

Table diatas menjelaskan action yang dilakukan sender dan sistem pada suatu pembangkitan kunci pada algoritma Extended Polybius Square dan Rabin Cryptosystem.

Berikut akan dijabarkan dokumentasi naratif untuk use case proses enkripsi Extended Polybius Square dan Rabin Cryptosystem pada tabel 3.3.

Tabel 3.3. Proses Enkripsi Extended Polybius Square dan Rabin Cryptosystem

Nama use case Eknkripsi

Aktor Sender

Dekripsi Use case ini berfungsi untuk melakukan enkripsi dengan

algoritma Extended Polybius, kemuadian hasil enkripsi tersebut akan dijadikan kunci untuk algoritma RABIN Cryptosystem Pre-condition Data dalam bentuk PDF

Aksi aktor Respons sistem

Alternative course Aksi aktor Respons system

- -

Post condition

Data telah di enkripsi, dimana ciphertext hasil enkripsi disimpan didalam bentuk .erv. Dimana document dengan ekstensi .erv

(14)

Berikut akan dijabarkan dokumentasi naratif untuk use case proses dekripsi Extended Polybius Square dan Rabin Cryptosystem

Tabel 3.4. Proses dekripsi Extended Polybius Square dan Rabin Cryptosystem

Nama use case Dekripsi

Aktor Recevier

Dekripsi Use case ini berfungsi untuk melakukan dekripsi dengan algoritma Extended Polybius, kemuadian hasil enkripsi tersebut akan dijadikan kunci untuk algoritma Rabin Cryptosystem Pre-condition Data dalam bentuk .erv

Aksi aktor Respons sistem

Alternative course Aksi aktor Respons system

- -

Post condition Data telah di dekripsi dimana plaintext hasil dekripsi disimpan

kembali kedalam bentuk PDF

(15)

3.3 . Proses sistem dengan Sequence diagrams

Sequence diagram adalah suatu diagram yang mengambarkan interaksi antara actor dan sistem pada use case scenario diagram ini sangat membantu melihat pesan hight level yang masuk dan keluar dari sistem (Bentley, Whitten, 2007). Berikut adalah sequence diagram sistem yang akan digambarkan pada gambar 3.3

Gambar 3.3. Sequence Diagram Pada Proses Enkripsi Algoritma Extended Polybius Square

dan Rabin Cryptosystem

Gambar 3.4 Sequence Diagram Pada Proses Enkripsi Algoritma Extended Polybius Square

dan Rabin Cryptosystem

3.4 Proses sistem dengan Activity Diagrams

(16)

diagram aktivitas ini dijelaskan proses kerja dari sistem enkripsi dan dekripsi yang dilakukan oleh pengirim dan penerima sms yang dienkripsidan didekripsi.

Node bulat bewarna hitam ditengah menunjukkan mulai dan proses akhir pesan. Sistem ini dibagi menjadi dua bagian yang terpisah untuk menunjukkan atau menyederhanakan proses-proses yang terjadi pada user maupun pada sistem. Berikut merupakan activity diagram

dalam penelitian ini yang ditunjukkan pada gambar 3.5 dibawah ini:

3.4.1 Activity Diagram Proses Enkripsi PDF(Portabel Document File)

Activity diagram ( diagram aktifitas ) merupakan sebuah diagram yang berfungsi untuk menggambarkan alur proses secara grafis dari suatu sistem yang akan dibangun. Activity

diagram dari sistem yang akan dibangun dapat dilihat pada gambar 3.2.

Gambar 3.5. Activity Diagram Proses Enkripsi Rabin Cryptosystem

Sender System

Memilih File PDF Membaca bit file PDF

Menentkan bilangan prima

Menentukan dan menampilkan nilai n

Melakukan Enkripsi

Menyimpan Hasil Enkripsi Melakukan proses

enkripsi

(17)

Berdasarkan Gambar 3.6 untuk melakukan enkripsi PDF (Portabel Document File) , hal yang pertama dilakukan adalah mencari filePDF yang ingin di enkripsi. Setelah itu sistem akan mencarinya didalam dokumen. Setelah itu, sistem akan mengirimkan dan menampilkannya ke dalam aplikasi yang sedang digunakan oleh sender. Setelah itu sender

akan memerintahkan sistem untuk melakukan proses enkripsi dengan menentukan kunci publik secara random. Kemudian sistem akan melakukan proses enkripsi. Setelah itu sistem akan mengirimkan kembali pesan hasil enkripsi kepada sender dan menyimpannya kedalam bentuk dokumen berbeda. Lalu setelah itu sender dapat mengirimkan PDF hasil enkripsi tersebut kepada recevier.

3.4.2 Activity Diagram Proses Dekripsi PDF(Portabel Document File)

(18)

Gambar 3.6 Activity Diagram Proses Dekripsi Algoritma Extended Polybius dan Rabin

Cryptosystem

Berdasarkan Gambar 3.3 dapat di lihat bahwa untuk melakukan proses dekripsi PDF

dengan menggunakan algoritma Rabin Cryptosystem dan Extended Polybius , terlebih dahulu kita harus mencari data file PDF (Portabel Document File) yang telah dienkripsi dalam bentuk

.erv. Setelah itu masukan kunci publik yang dikirimkan user kepada kita. Setelah itu sistem akan melakukan proses dekripsi. Kemudian sistem akan mengirimkan kembali PDF (Portabel Document File) hasil enkripsi kedalam bentuk PDF (Portabel Document File) yang seutuhnya yang pada akhirnya dapat dibaca oleh pihak penerima.

3.5. Perancangan Sistem

3.5..1 Pembuatan Algoritma Program

Pembuatan algoritma program adalah proses penerjemahan langkah-langkah algoritma Rabin Cryprosystem, dan algoritma Extended Polybius Square ke dalam sebuah bahasa pemograman. Tahap-tahap yang dilalui dalam pembuatan algoritma program yaitu:

1. Pembuatan alur proses sistem secara umum.

2. Pembuatan alur proses enkripsidan dekripsi dengan menggunakan algoritma Rabin Cryptosystem dan algoritma Extended Polybius Square ke dalam bahasa pemrograman

Visual Basic Net.

3. Pembuatan alur proses enkripsi dan dekripsikunci dengan menggunakan algoritma

RABIN Cryptosystem dan penerapan algoritma Extended Polybius Square ke dalam bahasa pemrograman Visual Basic Net.

3.5.2 Alur Proses Sistem Secara Umum

(19)

Gambar 3.7 Flowchart Sistem Secara Umum

3.5.3.Alur Proses Enkripsi dan Dekripsi pada algoritma Extended Polybius Square

Enkripsi pada algoritma Extended Polybius Square menerapkan proses enkripsi secara substitusi Proses enkripsi Extended Polybius Square dapat dijelaskan sebagai berikut :

1. Masukan file PDF(Portabel Document File) yang akan di enkripsi .

(20)

Tabel 3.5. Karakter ASCII dalam Tabel Extended Polybius Square

Gambar 3.8. Diagram Blok Proses Enkripsi / Dekripsi Algoritma Extended Polybius

Berikut merupakan psedeucode Proses enkripsi dan dekripsi yang dilakukan oleh algoritma Extended Polybius dalam proses pengamanan file PDF(Portabel Document File). Untuk melakukan enkripsi dan dekripsi plaintext Ekstended Polybius dapat dilakukan dengan langkah-langkah yang dilakukan dalam microsoft visual studio seperti berikut:

hexa = Microsoft.VisualBasic.Right("00" & Hex(Asc(data(i))).

ToString, 2) baris = Microsoft.VisualBasic.Right("00" & HexToDes(hexa.Chars(0)).

ToString, 2) kolom = Microsoft.VisualBasic.Right("00" & HexToDes(hexa.Chars(1)).

ToString, 2) nilai = baris & kolom pol = Val(nilai)

(21)

3.5.4.Alur Proses Enkripsi dan Dekripsi pada Rabin Cryptosystem

Alur proses pembangkitan pasangan kunci Rabin Cryptosystem pada aplikasi yang dirancang dapat dijelaskan pada flowchart seperti Gambar 3.8.

No

Yes

Gambar 3.9. Flowchart Pembangkitan Pasangan Kunci pada Rabin Cryptosystem

Proses enkripsi dan dekripsi dengan menggunakan Rabin Cryptosystem secara umum dapat dijelaskan dengan diagram blok seperti pada Gambar 3.9.

START

Acak p & q

p ≡ q ≡ 3 (mod n) p ≠ 1

Acak p & q

Kunci publik n dan kunci privat p & q

(22)

Gambar 3.10. Diagram Blok Proses Algoritma Rabin Cryptosystem

Proses selanjutnya adalah proses enkripsi. Langkah-langkah dari proses enkripsi adalah sebagai berikut :

1. Langkah pertama adalah menentukan kunci publik n dengan cara mengacak nilai p dan q

2. Masukkan text yang akan dienkripsi (plaintext).

3. Berkas yang akan dienkripsi diubah ke dalam bentuk desimal (integer). Berkas ini di simbolkan dengan m. Lalu ubahlah kedalam bentuk biner

4. Kuadratkan hasil biner dari nilai m.

5. Ubah kembali nilai m kuadrat menjadi bentuk desimal. 6. Hitung nilai K dan L

7. Lakukan proses enkripsi

8. Menyimpan ciphertext hasil enkripsi.

Alur proses enkripsi dengan menggunakan Algoritma Rabin Cryptosystem pada aplikasi yang dirancang dapat dijelaskan pada flowchart seperti pada Gambar 3.12.

(23)

Gambar 3.11. Flowchart Proses Enkripsi dengan Algoritma Rabin Cryptosystem Alur proses dekripsi dengan menggunakan algoritma RabinCryptosystem pada aplikasi yang dirancang dapat dijelaskan pada flowchart seperti pada Gambar 3.13.

3.5.5. Alur Proses Dekripsi Rabin Cryptosystem

Proses dekripsi dengan menggunakan algoritma Rabin Cryptosystem : 1. Masukan File yang akan di dekripsi

2. Cari nilai Mp dan Mq dengan bantuan algoritma Extended Euclidean

3. Masukkan kunci untuk dekripsi

4. Lakukan proses dekripsi dengan bantuan algoritma Chinese Remainder Theorem

5. Cari nilai R,S,T dan U

6. Ubah nilai R,S,T dan U dari bentuk desimal menjadi bentuk biner. 7. Bagi menjadi dua bilangan biner R,S,T dan U

(24)

c

Yes

Gambar 3.12 Flowchart Proses Dekripsi dengan Rabin Cryptosystem Start

Masukan kunvi privat

Masukan File PDF

Cari nilai yp dam yq dengan

Extended Euclidean

Mp= �+ / mod n Mq= �+ / mod n

r= (yp*p*mq+yq*q*mp) s= (yp*p*mq-yq*q*mp) t= -(yp*p*mq+yq*q*mp) u=- (yp*p*mq-yq*q*mp)

Ubah nilai r,s,t dan u ke bentuk biner

Bagi bil biner menjadi 2

Bagi 2 nilai r

Bagi 2 nilai s

Bagi 2 nilai t

Bagi 2 nilai u

Plaintext

Stop

(25)

3.6. Perancangan Antarmuka (Interface)

3.6.1. Rancangan Halaman Utama

Halaman utama adalah halaman yang akan ditampilkan ketika pertama kali aplikasi dijalankan. Halaman ini memiliki 4 (empat) buah tombol, yaitu Home, Encryption, Decryption

dan About. Rancangan tampilan halaman tersebut dapat dilihat pada Gambar 3.12.

\\

Gambar 3.13. Rancangan Antarmuka Halaman Utama

Keterangan:

1. Tombol Home untuk menampilkan halaman utama sistem

2. Tombol Encryption untuk menampilkan halaman proses enkripsi 3. Tombol Decryption untuk menampilkan halaman proses dekripsi 4. Tombol About untuk menampilkan informasi mengenai sistem

3.6.2. Rancangan Halaman Encryption

Rancangan halaman Encryption berguna untuk melakukan proses enkripsi. Didalam tampilan tersebut juga terdapat kolom untuk menentukan nilai kunci yang akan dipilih secara random. Rancangan tampilannya dapat dilihat pada Gambar 3.13

Home

Encrption

Decryptio n

(26)

Gambar 3.14. Rancangan Halaman Enkripsi

Keterangan:

1. Text boxp untuk menampilkan nilai p. 2. Text boxq untuk menampilkan nilai q

3. Text boxn untuk menampilakan nilai n

4. Tombol Random untuk menentukan nilai p dan q secara acak 5. Text box file path untuk menentukan di mana file di simpan

6. Text box Out Path untuk menentukan di mana file proses enkripsi akan di simpan. 7. Tombol Enkripsi berfungsi untuk melakukan ekseksi yakni mengenkripsi pesan 8. Tombol Close berfungsi untuk menutup keluar aplikasi dan kembali ke menu

3.6.3. Rancangan Halaman Dekripsi

Rancangan halaman menu Decryption berfungsi untuk menampilkan kunci Privat Rabin yang digunakan penerima untuk melakukan proses dekripsi kunci. Tampilan halaman menu ini dapat di lihat pada Gambar 3.14.

Crypto SMS(9)

Text Box (1)

Text Box (3)

(2)

Check Key (4) P

q

n

File path

Out path

Enkripsi Close

(27)

Gambar 3.15. Rancangan Halaman Dekripsi

Keterangan:

1. Text box n untuk menginputkan nilai n yang menjadi kunci 2. Text box p untuk menampilkan nilai p setelah n di proses 3. Text box q untuk menampilkan nilai p setelah n di proses 4. Text box Yp untuk menampilkan nilai p setelah n di proses 5. Text box Yq untuk menampilkan nilai p setelah n di proses 6. Text box file path untuk menentukan di mana file di simpan

7. Text box out path untuk menentukan di mana file dekripsi akan di simpan 8. Tombol dekripsiuntuk mengeksekusi proses dekripsi

9. Tombol Close untuk menutup halaman dekripsi dan kembali ke menu utama

n P

q

Yp

Yq

Proses

File Path

Out Path

(28)

BAB 4

IMPLEMENTASI SISTEM

4.1. Implementasi Sistem

Setelah melakukan analisis dan perancangan seperti yang telah di jabarkan pada bab 3. Pada bab ini penulis akan memaparkan bagaimana implementasi dari sistem yang di lakukan pada algoritma kunci publik Rabin Cryptosystem dan Extended Polyibius Square yang di bangun menggunakan bahasa pemrograman VB.Net.

Proses implementasia sistem ini di bagi menjadi 4 tampilan utama (form) yaitu form home(beranda) untuk halaman utama, encryption form untuk menu enkripsi, decryption form

untuk menu dekripsi, dan About form untuk menampilkan profil dari aplikasi.

4.1.1 Form Home

Form Home merupakan form aplikasi yang pertama kali muncul pada saat aplikasi di jalankan. Form ini terdiri dari 4 Button, yaitu Home Button , Encryption Button, dan

Decryption Button dan About Button. Halaman utama pada aplikasi dapat di lihat pada Gambar 4.1

(29)

4.4.2 Encryption Form (Form Enkripsi)

Pada Encryption form merupakan form yang di gunakan untuk melakukan proses enkripsi. Pada form ini disediakan interface untuk menginput nilai p dan q yang nantinya akan diacak secara random dengan menggunakan tombol yang sudah di sediakan. Serta TextBox untuk menampilkan hasil perhitungan nilai p dan q yang telah di ketahui. Pada form ini juga terdapat

TextBox untuk menampilkan data di mana file PDF yang ingin di enkripsi di letakkan dan juga untuk menampilkan di mana data enkripsi akan di simpan. Tampilan untuk form enkripsi

dapat di lihat pada gambar 4.2.

Gambar 4.2. Tampilan Form Enkripsi

4.1.3 Decryption Form (Form Dekripsi)

(30)

Gambar 4.3. Tampilan Form Dekripsi

4.1.4 About Form

About form merupakan form yang di gunakan untuk menampilkan profil mengenai sistem yang berjalan. Tampilan untuk About form dapat di lihat pada Gambar 4.4

(31)

4.2. Pengujian Sistem

Pengujian sistem merupakan tahap paling penting. Pada tahap ini sistem akan di uji apakah sistem telah berjalan sesuai dengan fungsi-fungsi yang sebelumnya d itentukan pada tahap analisis dan perancangan sistem yang dijabarkan dalam bab 3.Tahap Pengujian sistem hanya terdiri dari 2 proses utama yaitu pengujian enkripsi dan pengujian dekripsi

4.2.1 Pengujian Proses Enkripsi

Tahap awal untuk melakukan proses enkripsi dapat dijabarkan melalui pengujian pertama yang langkah – langkahnya dijabarkan seperti dibawah ini :

1. Input nilai p dan q yang dilakukan secara acak dengan cara menekan tombol

random.

2. Pada TextBox file tentukan dimana file PDF yang ingin di enkripsi berada yang dapat ditunjukan pada gambar 4.5

(32)

Gambar 4.6. Tampilan Isi PDF(Portabel Document File) Yang Akan Di Enkripsi

3. Pada Outpath Path tentukan di mana file enkripsi nantinya akan di simpan.

Gambar 4.7. Tampilan Proses Enkripsi

(33)

Gambar 4.8. Tampilan Menyatakan Proses Enkripsi Telah Berhasil

(34)

Gambar 4.10. File Hasil Enkripsi

Berikut ini akan ditampilkan data hasil enkripsi yang di buka dalam notepad

Gambar 4.11. Data Hasil Proses Enkripsi

(35)

69 141 190 141 64 163 16 179 163 165 71 141 163 26 163 49 165 141 190 163 163 58 69 163

26 163 64 58 48 58 190 4 58 210 177 190 163

Dalam pengujian 1 ini, Lamanya waktu yang digunakan oleh sistem dalam melakukan proses enkripsi file PDF dengan menggunakan algoritma Rabin Cryptosystem diatas sebesar 1,4727195 second . Di mana hasil proses enkripsi tersebut dapat dilihat dalam gambar 4.9

4.2.2. Pengujian Proses Dekripsi

Tahap awal untuk melakukan proses dekripsi dapat dijabarkan melalui langkah – langkah berikut ini :

1. Input nilai n yang merupakan kunci privat

2. Pada TextBox file tentukan dimana file hasil proses enkripsi berada. Sepeti yang akan dijelaskan dalam gambar 4.12

Gambar 4.12. Tampilan File Enkripsi Di simpan

(36)

Gambar 4.13. Tampilan Running Time Dekripsi

4. Pada gambar 4.14. menunjukan dimana letak File hasil dekripsi di simpan

Gambar 4.14. Tampilan Dekripsi

(37)

didalam gambar 4.15. Di mana dalam PDF hasil dekripsi tersebut isi ciphertext kembali kebentuk plaintext awal

Gambar 4.15. Tampilan PDF Hasil Proses Dekripsi

Setelah di dapat hasil running time untuk proses enkripsi dan dekripsi file PDF (Portabel Document File) pada sistem. Penulis melakukan beberapa pengujian lanjutan untuk beberapa file PFD (Portabel Document File) lainnya dengan syarat panjang karakter dan kunci proses enkripsi dan dekripsi untuk tiap tiap file PDF berbeda – beda guna untuk dapat menghitung running time dan kompleksitas dari sistem. Pengujian tersebut akan di jabarkan di bawah ini.

 Pengujian 2

Pengujian 2 ini dilakukan oleh penulis dengan file PD (Portabel ocument File)F dengan panjang karakter sepanjang 75 karakter. Dimana isi file PDF (Portabel Document File) untuk pengujian 2 dapat dilihat pada gambar 4.16.

(38)

dijabarkan sebelumnya. Perbedaan pengujian 2 ini dengan pengujian sebelumnya ialah kunci untuk proses enkripsi dan dekripsi yang digunakan. Untuk pengujian 2 ini kita menggunakan Key = 319

Setelah melakukan proses enkripsi seperti yang dapat dilihat pada gambar 4.17 di bawan ini, maka hasil perhitungan waktu running time yang didapat untuk proses enkripsi file PDF dengan panjang karakter 75 dan kunci sebesar 319 . Dimana waktu yang didapat dalam proses enkripsi pada pengujian 2 ini adalah sebesar 1,5092924 sec

Gambar 4.17. Tampilan Running Time Enkripsi Pengujian 2

File hasil enkripsi pada pengujian 2 ini juga di simpan dalam bentuk ekstensi

file yang sama yakni .erv. Di mana hasil enkrip pengujian 2 ini jika di buka di dalam

Notepad yang dapat dilihat pada gambar 4.18 , di mana data keseluruhannya menjadi

257 4 262 254 289 174 125 202 86 202 267 125 20 236 121 86 313 23 4 165 20 23 86

295 4 262 254 289 174 125 202 286 86 295 20 180 20 86 180 20 202 20 236 93 254 20

86 179 121 236 125 295 20 23 20 93 86 20 262 313 4 236 174 165 179 20 86 202 174

(39)

Gambar 4.18. Isi File Enkripsi Dalam Notepad

Selanjutnya dengan panjang karakter dan nilai kunci yang sama penguji akan melakukan pengujian untuk proses dekripsi pada file pengujian 2 di mana proses dekripsi tersebut dapat dilihat pada gambar 4.19 . Waktu yang di dapat dalam proses dekripsi adalah sebesar 0,2222070 sec

(40)

Namun hasil dekripsi yang didapat dalam proses pengujian ini tidak seperti hasil dekripsi pengujian 1. Di mana dalam pengujian pertama hasil ciphertext enkripsi yang telah melakukan proses dekripsi tidak kembali ke bentuk plaintexts awal. Di mana dapat dilihat pada gambar 4.20

Gambar 4.20. Tampilan PDF Hasil Dekripsi Pengujian 2

 Pengujian 3

Pengujian 3 ini dilakukan oleh penulis dengan file PDF (Portabel Document File)

dengan panjang karakter sepanjang 89 karakter. Dimana isi file PDF untuk pengujian 2 dapat dilihat pada gambar 4.21

Gambar 4.21. Tampilan Isi PDF Pengujian 3

(41)

Setelah melakukan proses enkripsi seperti yang dapat dilihat pada gambar 4.22 di bawan ini, maka hasil perhitungan waktu running time yang didapat untuk proses enkripsi file PDF(Portabel Document File) dengan panjang karakter 89 karakter dan kunci sebesar 418 . Dimana waktu yang didapat dalam proses enkripsi pada pengujian 2 ini adalah sebesar 1,9870205 sec

Gambar 4.22. Tampilan Running Time Enkripsi Pengujian 3

File hasil enkripsi pada pengujian 3 ini juga di simpan dalam bentuk ekstensi

file yang sama yakni .erv. Di mana hasil enkrip pengujian 3 ini jika di buka di dalam

Notepad yang dapat dilihat pada gambar 4.23 , di mana data keseluruhannya menjadi

12 469 400 363 218 400 218 4 263 407 160 407 263 407 380 469 81 160 169 469 195

95 218 160 218 4 363 480 195 263 380 81 218 160 169 114 400 10 263 160 16 114 38

4 263 169 160 406 456 218 100 300 160 104 195 27 16 380 480 407 27 407 380 469 81

160 404 218 4 218 81 160 81 469 4 218 169 114 169 218 400 160 40 469 400 169

(42)

Gambar 4.23. Isi File Enkripsi Dalam Notepad

Selanjutnya dengan panjang karakter dan nilai kunci yang sama penguji akan melakukan pengujian untuk proses dekripsi pada file pengujian 3 di mana proses dekripsi tersebut dapat dilihat pada gambar 4.23 . Waktu yang di dapat dalam proses dekripsi adalah sebesar 0,2067661 sec. Hasil isi PDF yang di dekripsi pada pengujian 3 juga sama seperti hasil dekripsi PDF dalam pengujian 2. Dimana isi file dekripsi tidak sama seperti hasil ciphertex awal

Gambar 4.24. Tampilan Running Time Dekripsi Pengujian 3

 Pengujian 4

Pengujian 4 ini dilakukan oleh penulis dengan file PDF (Portabel Document File)

(43)

Gambar 4.25. Isi File PDF Pengujian 4

Proses enkripsi dan dekripsi yang dilakukan pada pengujian 4 ini sama seperti proses enkripsi dan dekripsi yang dilakukan pada proses pengujian 1,2 dan 3 yang telah dijabarkan sebelumnya. Perbedaan pengujian 3 ini dengan pengujian sebelumnya ialah kunci untuk proses enkripsi dan dekripsi yang digunakan. Untuk pengujian 3 ini kita menggunakan Key = 565

Setelah melakukan proses enkripsi seperti yang dapat dilihat pada gambar 4.26 di bawan ini, maka hasil perhitungan waktu running time yang didapat untuk proses enkripsi file PDF (Portabel Document File) dengan panjang karakter 94 karakter dan kunci sebesar 565 . Di mana waktu yang didapat dalam proses enkripsi pada pengujian 2 ini adalah sebesar 1,9870205 sec

(44)

File hasil enkripsi pada pengujian 4 ini juga di simpan dalam bentuk ekstensi

file yang sama yakni .erv. Di mana hasil enkrip pengujian 4 ini jika di buka di dalam

Notepad yang dapat dilihat pada gambar 4.27 , di mana data keseluruhannya menjadi

439 135 50 365 395 240 450 395 225 460 395 465 135 225 100 439 474 225 390 135

210 235 115 210 225 330 135 210 235 235 100 210 115 50 115 210 225 115 465 235

105 365 395 550 330 115 225 1 115 380 395 210 225 341 365 145 240 550 105 450

145 450 550 135 330 225 390 395 115 550 115 450 225 450 135 380 135 450 115 365

225 85 375 211 461 461 461 461 141 141 470 554 225 450 135 95 105 210 390 225

Gambar 4.27. File Enkripsi Dalam Notepad

(45)

Gambar 4.28. Tampilan Running Time Dekripsi Pengujian 4

 Pengujian 5

Pengujian 5 ini dilakukan oleh penulis dengan file PDF dengan panjang karakter sepanjang 110 karakter. Dimana isi file PDF untuk pengujian 5 dapat dilihat pada gambar 4.29

Gambar 4.29. Isi PDF Pengujian 5

(46)

Setelah melakukan proses enkripsi seperti yang dapat dilihat pada gambar 4.30 di bawan ini, maka hasil perhitungan waktu running time yang didapat untuk proses enkripsi file PDF (Portabel Document File) dengan panjang karakter 110 karakter dan kunci sebesar 703 . Dimana waktu yang didapat dalam proses enkripsi pada pengujian 5 ini adalah sebesar 1,8783611 sec

Gambar 4.30. Tampilan Running Time Enkripsi Pengujian 5

File hasil enkripsi pada pengujian 5 ini juga di simpan dalam bentuk ekstensi

file yang sama yakni .erv. Di mana hasil enkrip pengujian 4 ini jika di buka di dalam

Notepad yang dapat dilihat pada gambar 4.31 , di mana data keseluruhannya menjadi

234 589 617 511 400 669 650 115 144 511 234 323 234 700 617 511 400 144 511 234

44 617 511 400 400 669 511 144 465 144 511 234 144 263 400 258 343 115 343 44

144 234 665 144 112 115 511 234 437 343 397 275 343 258 0 397 0 343 617 44 234

397 144 511 400 234 511 144 511 343 115 234 266 144 0 115 263 511 397 144 234

144 465 144 511 234 77 700 115 263 115 266 144 343 234 700 144 263 144 44 234

400 144 44 112 144 343 234 275 617 511 400 669 650 115 144 511 234 342 182 551

(47)

Gambar 4.31. Tampilan File Enkripsi Dalam Notepad

Selanjutnya dengan panjang karakter dan nilai kunci yang sama penguji akan melakukan pengujian untuk proses dekripsi pada file pengujian 5 di mana proses dekripsi tersebut dapat dilihat pada gambar 4.32 . Waktu yang di dapat dalam proses dekripsi adalah sebesar 0,2057372ssec. Hasil isi PDF (Portabel Document File) yang di dekripsi pada pengujian 4 juga sama seperti hasil dekripsi PDF (Portabel Document File) dalam pengujian 2. Dimana isi file dekripsi tidak sama seperti hasil ciphertext

awal

(48)

Agar dapat melihat hasil pengujian secara sistematis penulis akan menjabarkan data proses pengujian enktipsi dan dekripsi dalam tabel yang dapat dilihat pada tabel 4.1 Pengujian Enkripsi dan tabel 4.2 Pengujian dekripsi.

Tabel 4.1 Tabel Pengujian Enkripsi

Sehingga nilai r untuk tiap tiap proses pengujian enkripsi dan dekripsi file akan di dapat:

 Menghitung Nilai r dalam pengujian 1 Untuk Panjang karakter 35

 Menghitung Nilai r dalam pengujian 2 Untuk Panjang karakter 75 Besar Kunci 319

(49)

=0,2351097

 Menghitung Nilai r dalam pengujian 3 Untuk Panjang karakter 89

 Menghitung Nilai r dalam pengujian 4 Untuk Panjang karakter 94

 Menghitung Nilai r dalam pengujian 5 Untuk Panjang karakter 110

Selanjutnya penulis akan melakukan pengujian untuk file PDF (Portabel Document File) pengujian 1 dengan menggunakan kunci dari tiap tiap proses pengujian lainnya, guna menadapat nilai running time rata – rata proses enkripsi dan dekripsi file.

(50)

gambar tersebut dapat kita lihat waktu yang diperlukan untuk meng-enkripsi file dengan karakter sepanjang 35 karakter dengan menggunakan kunci 253 adalah sebesar

1,4727195 Sec, Sedangkan untuk mendekripsikannya memerlukan waktu sebesar

0,222356 Sec.

 Tes 2

Untuk tes ke 2 ini penulis menggunakan file pengujian pertama dengan panjang karakter 35 yang akan di enkripsi dan di dekripsi dengan menggunakan kunci sebesar Key =319. Sehingga didapat untuk proses enkripsi waktu yang diperlukan adalah sebesar 1,5615581 Sec dan untuk proses dekripsi sebesar 0,5477955 Sec. Proses dapat dilihat pada gambar 4.33 dan gambar 4.34

(51)

Gambar 4.34. Proses Dekripsi Tes 2

 Tes 3

Untuk tes ke 3 ini penulis menggunakan file pengujian pertama dengan panjang karakter 35 yang akan di enkripsi dan di dekripsi dengan menggunakan kunci sebesar

Key =418. Sehingga didapat untuk proses enkripsi waktu yang diperlukan adalah sebesar 1,7805866 Sec dan untuk proses dekripsi sebesar 0,3061011 Sec. Proses dapat dilihat pada gambar 4.35 dan gambar 4.36

(52)

Gambar 4.36. Proses Dekripsi Tes 3

 Tes 4

Untuk tes ke 4 ini penulis menggunakan file pengujian pertama dengan panjang karakter 35 yang akan di enkripsi dan di dekripsi dengan menggunakan kunci sebesar

Key =565. Sehingga didapat untuk proses enkripsi waktu yang diperlukan adalah sebesar 1,6188829 Sec dan untuk proses dekripsi sebesar 0,3208408 Sec. Proses dapat dilihat pada gambar 4.37 dan gambar 4.39

(53)

Gambar 4.38. Proses Dekripsi Tes 4

 Tes 5

Untuk tes ke 5 ini penulis menggunakan file pengujian pertama dengan panjang karakter 35 yang akan di enkripsi dan di dekripsi dengan menggunakan kunci sebesar

Key =703. Sehingga didapat untuk proses enkripsi waktu yang diperlukan adalah sebesar 1,6913996 Sec dan untuk proses dekripsi sebesar 0,3040689 Sec. Proses dapat dilihat pada gambar 4.39 dan gambar 4.40

(54)

Gambar 4.40. Proses Dekripsi Tes 5

Di mana data keseluruhan tes yang di lakukan pada file dengan panjang karakter 35 dengan 5 buah kunci yang berbeda – beda di dokumentasikan di dalam tabel 4.3 di bawah ini

Tabel 4.3. Running Time Enkripsi Dekripsi

Tes Key Lama Waktu

Enkripsi

Lama Waktu Dekripsi

Tes 1 253 1,4727195 Sec 0,222365 Sec

Tes 2 319 1,5615581 Sec 0,5477955 Sec

Tes 3 481 1,7805866 Sec 0,3061011 Sec

Tes 4 565 1,6188829 Sec 0,3208408 Sec

Tes 5 703 1,6913996 Sec 0,3040689 Sec

(55)

Gambar 4.41 Grafik Enkripsi

Gambar 4.42. Grafik Dekripsi

(56)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

1. Pada sistem ini terutama pada proses dekripsi dengan algoritma kunci publik Rabin Cryptosystem, terdapat anomali. Yaitu untuk bilangan kelipatan 3 yakni (0,3,6,9). Pada bilangan tersebut terdapat dua hasil yang memenuhi syarat dekripsi. Namun salah satu hasil bukan merupakan hasil yang sebenarnya, namun merupakan hasil yang mendekati. Sehingga sistem ini nantinya hanya memilih hasil yang pertama kali di dapat yang bernilai benar

2. Hasil output dekripsi yang diperoleh untuk nilai kunci yang di input secara random masih memiliki beberapa kekurangan yang diakibatkan karena inconsistency dari nilai niai R,S,T dan U yang di dapat saat proses Chinese Remainder Theorem

3. Besar (KiloByte) KB hasil proses dekripsi berbeda dari besar KB file PDF awal. Besar

KB PDF hasil dekripsi sama besar dengan KB file enkripsi yang berekstensi .erv.

5.2.Saran

(57)

LANDASAN TEORI

2.1. Kriptografi

Kriptografi memiliki sejarah yang sangat panjang di mana kriptografi telah ditemukan sejak 3600 tahun yang lalu di lihat dari sudah di temukannya simbol - simbol yang di ukir pada lempeng tanah liat (clay disk) yang disebut dengan phaistos. Meskipun begitu awal mula kriptografi tidak hanya berawal dari bangsa Yunani, namun juga dari bangsa Mesir kuno. Di buktikan dengan di temukannya teks kuno yang di tuliskan oleh Firaun Amanemth II pada tahun 1900 SM. Di mana pesan itu di tuliskan dalam huruf hieroglip (hieroglyphic).(Mollin, 2005). Hieroglyphic merupakan bentuk tulisan dari zaman Mesir kuno yang berupa gambar maupun simbol – simbol yang merupakan sebuah pesan. (Fischer, 1999)

(58)

2.2. Tujuan Kriptografi

Tujuan dari kriptografi yang juga merupakan aspek penting dalam proses keamanan data dan informasi adalah sebagai berikut: (Scheiner, 1996).

1. Authentication (Autentikasi)

Berfungsi untuk memberikan kepastian terhadap identitas – identitas yang terlibat,

meyakinkan ke aslian data, sumber data orang yang mengakses dan server yang digunakan.

2. Confidentiality (Kerahasiaan)

Di gunakan untuk menjaga informasi dari semua pihak kecuali pihak yang memiliki otoritas terhadap informasi.

3. Data Integrity (Integritas Data)

Di gunakan untuk memastikan agar informasi yang di kirimkan tidak mengalami modifikasi maupun manipulasi dari pihak yang tidak bersangkutan selama pengiriman.

4. Non-Repudiation (Nipernyangkalan)

Berfungsi untuk menjaga semua entitas – entitas yang saling terhubung sehingga tidak terjadi penyangkalan data yang dikirimkan ataupun yang diterima

2.3. Sistem Kriptografi

Sisem kriptografi klasik umumnya menggunakan metode subtitusi atau transposisi dan telah digunakan jauh sebelum komputer di temukan. Terdapat 5 komponen utama dalam sistem kriptografi klasik, yaitu (Wandani, 1012):

1. Plaintext

Teks asli, dapat berupa pesan atau data sebagai input algoritma enkripsi 2. Kunci Rahasia

Kunci rahasia disebut sebagai penentu output dari algoritma enkripsi. Antar entitas harus saling mengetahui kunci ini agar dapat berkomunikasi.

3. Ciphertext

Hasil proses algoritma enkripsi di mana teks asli dianggap telah tersembunyi. 4. Algoritma Enkripsi

Algoritma enkripsi mengubah teks asli menjadi ciphertext dengan parameter masukan, yaitu teks asli kunci rahasia.

5. Algoritma Dekripsi

(59)

Enkripsi adalah suatu proses yang melakukan perubahan kode dari bisa dimengerti (plaintext) menjadi kode yang tidak bisa di mengerti (ciphertext). Proses pembaikannya plaintext dari ciphertext disebut dekripsi. Secara umum operasi enkripsi dan dekripsi secara matematis dapat digambarkan.

Pembacaan rumus tersebut adalah proses enkripsi E dengan kunci K akan di lakukan pengolahan pesan m menjadi pesan C, dan C adalah ciphertext atau pesan hasil enkripsi yang di harapkan berbeda dan tidak mampu menyikap informasi aslinya dari pesan M.

Proses pembalikannya yaitu proses dekripsi. Pada proses dekripsi dengan kunci K, pesan C akan disandikan kembali menjadi pesan semula yaitu M sehingga di peroleh kembali pesan aslinya. Yang menjadi penting dalam proses enkripsi-dekripsi tidak hanya algoritma yang di gunakan tetapi juga kunci enkripsi. Kunci merupakan kata kunci yang digunakan dalam proses penyandian. Untuk itu walaupun algoritma enkripsi dan dekripsi di ketahui oleh publik, kunci K harus di rahasiakan.

2.4. Kriptosistem

Kriptosistem (cryptosystem atau Cryptographic system) adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi penyandian tertentu disebut satu set kunci. Proses enkripsi atau dekripsi diatur oleh satu atau beberapa kunci kriptorafi.

(60)
(61)

Gambar 2.2. Proses Enkripsi Dan Dekripsi Asymetric Cryptosystem

2.4.3. Kriptosistem Hibrid (Hybrid Cryptosystem)

Kriptosistem hibrid (Hybrid cryptosystem) merupakan suatu sistem kriptografi yang menggabungkan sistem kriptografi simetri dan sistem keriptografi asimetri (Azizah, 2013) sehingga di dapatlah sebuah kriptosistem dengan fungsi algoritma yang lebih kompleks.

2.5. Teknik Dasar Kriptografi 2.5.1 Teknik Subtitusi

Teknik subtitusi adalah suatu teknik kriptografi di mana pesan yang telah di tulis akan di ganti suatu kode dengan kode yang lain, dengan menggunakan tabel subtitusi. Dapat di tampilkan dalam tabel 2.1.

Tabel 2.1. Teknik subtitusi

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 J X E Q S A M H Z C T L O V F B Y U D W I K G P R N

(62)

2.5.2. Teknik Blocking

Teknik blocking yaitu membagi pesan plaintext kedalam blok-blok pesan yang kemudian akan di enkripsi secara independen. Misalkan kalimat “SECRET MESSAGE” akan di bagi kedalam blok-blok seperti tabel 2.2.

Tabel 2.2. Teknik Blocking

S T S

E A

C M G

R E E

E S

Selajutnya teknik dapat di enkripsi per-blok, misalkan untuk proses pengacakan sederhana dengan pembacaaan yang terbalik yaitu karena proses penyimpanan pada blok dilakukan per kolom, maka proses enkripsi akan dilakukan dengan cara menaruh kalimat “GNIKCOLB KINKET” pada blok-blok pesan berbaris dan membaca dengan per-kolom dan menjadi kalimat “TEKNIK BLOCKING” kembali.

2.5.3. Teknik permutasi

Teknik permutasi sering juga disebut transposisi. Teknik ini memindahkan atau merotasikan karakter dengan aturan tertentu, prinsipnya adalah berlawanan tetap tapi identitasnya yang diacak. Sebelum dilakukakn permutasi, umumnya plaintext terlebih dahulu di bagi menjadi blok-blok dengan panjang yang sama. Untuk contoh di atas, plaintext dibagi menjadi blok terdiri dari 5 karakter, dengan aturan permutasi berikut:

0 1 2 3 4 5 6 7 8 9

9 3 4 1 2 7 8 5 6 0

(63)

Misalkan kalimat “PERTEMUAN RAHASIA” di enkripsi menjadi “NREETAUMP HARAAIS” dengan cara membaginya kalimat kedalam blok – blok dan melakukan proses permutasi seperti pada gambar di atas dengan teknik pengacakan. Proses dekripsi dilakukan serupa denga membagi kedalam 5 blok pula dan membalik permutasinya.

Gambar 2.4. Teknik Permutasi (Munir, 2008).

2.5.4. Teknik Ekspansi

Teknik akan menambahkan beberapa byte kata kedalam plaintext dengan aturan tertentu. Proses penambahan beberapa byte kata ini diharapkan dapat menyembunyikan informasi dapat plaintext. Salah satu contoh penggunaan teknik ini adalah dengan menukar huruf awal dan akhir kata yang diberi awalan “an” proses enkripsi dengan cara ekspansi terhadap plaintext terjadi sebagai berikut:

P E R T E M U A N R A H A S I A

N R E E T A U M P H A R A A I S

8 A N P E R T E M U A N A N R A H A S I A A N

8 A N N R E E T A U M P A N H A R A A I S A N

(64)

Ciphertextnya adalah “8AN NREETAUMPAN HARAAISAN”. Aturan ekspansi dapat dibuat lebih kompleks dan terkadang teknik ekspansi dapat di gabungkan dengan teknik lainnya.

2.5.5. Teknik Pemampatan (Compaction)

Mengurangi panjang pesan atau jumlah bloknya adalah cara lain untuk menyembunyikan isi pesan. Misalkan untuk plaintext “PERTEMUAN RAHASIA” setiap kata ke dua akan di hilangkan dan di sertakan pada akhir kalimat yang sebelumnya di beri tanda “ ”. Proses yang terjadi untuk plaintext tersebut adalah:

Gambar 2.6. Teknik Pemampatan.

Aturan penghilangan karakter dan karakter khusus dan berfungsi sebagai pemisah menjadi dasar untuk proses dekripsi ciphertext menjadi plaintext kembali. Dengan menggunakan kelima menjadi teknik kriptografi diatas, dapat di ciptakan teknik kriptografi yang amat banyak walaupun sekilas terlihat sederhanana, kombinasi teknik dasar kriptografi dapat menghasilkan teknik kriptografi turunan yang cukup kompleks, dan bebrapa teknik dasar kriptografi masih di gunakan dalam kriptografi modern.

2.6. Algoritma Euclid dan Extended Euclid

(65)

I : b = 0 GCD(a,0) = a II : B 0 GCD (a,b) = (b, a mod b)

Algoritma Euclid dapat dikembangkan dan pengembangan dari algoritma Euclid tersebut disebut dengan algoritma Extended Euclid. Algoritma Extended Euclid ini sendiri berfungsi untuk menemukan dua nilai integer x dan y yang unik selain nilai GCD (Greatest Common Divisior) (a,b) sehingga memenuhi relasi (Lipschutz & Lipson, 2007).

a*x +b*y =GCD(a,b)

2.7. Algoritma Extended Polybius Square

Polybius square (kotak polybius) pada dasarnya merupakan algoritma simetris yang di kerjakan secara substitusi. Polybius square merupakan sebuah tabel yang berfungsi untuk membantu dalam proses enkripsi maupun dekripsi pesan.

Pada umumnya Polybius Square menggunakan tabel dengan ukuran 5 x 5 yang di isi oleh 26 huruf alphabetik, dari a hingga z, namun untuk huruf I dan J biasanya di satukan di dalam satu tabel. Polybius square di temukan pertama kali oleh Polybius yang merupakan seorang sejarahwan Yunani pada tahun 200 – 118 SM.

(66)

Tabel 2.3 . Tabel Extended Polybius Square 15 x 15

(67)

1.3 Pengenkripsian plaintext : I Plaintext awal : I

Dengan m : 0409

: 110011001

: 110011001110011001 : 209817

1.4 Pengenkripsian plaintext : T Plaintext awal : T

Dengan m : 0504

: 111111000 : 111111000 : 258552

1.5 Pengenkripsian plaintext : R Plaintext awal : R

Dengan m : 0502

: 111110110 : 111110110 : 257526

1.6 Pengenkripsian plaintext : A Plaintext awal : A

Dengan m : 0401

: 110010001

: 110010001110010001 : 205713

(68)

Tabel 2.4 Hasil Perhitungan Plaintext “CHITRA”

206739 209304 209817 258552 257526 205713

2.8. Algoritma Rabin Cryptosystem

Algoritma kriptografi Rabin Cryptosystem pertama kali di perkenalkan pada tahun 1979 oleh Michael O Rabin. Algoritma Rabin Cryptosystem pada dasarnya hampir sama dengan algoritma Rivest Shamir Adleman (RSA), hanya saja komputasinya lebih sederhana di bandingkan dengan Rivest Ahamir Adleman (RSA). Algoritma Rabin Cryptosystem merupakan algoritma kriptografi dengan metode kriptografi asimetris pertama di mana untuk mendapatkan plaintext dari ciphertext yang ada sama sulitnya dengan proses pemfaktoran.(Damarjati,2002)

2.8.1. Proses Pembangitan Kunci.

Pembangkitan kunci pada algoritma Rabin Cryptosystem, sama seperti pada sistem kriptografi asimetri lainnya. algoritma Rabin Cryptosystem juga menggunakan sistem kunci publik dan sistem kunci privat. Kunci publik digunakan pada proses enkripsi oleh penerima pesan dan bersifat rahasia. Algoritma pembangkitan kuncinya adalah sebagai berikut :

1. Pilih dua buah bilangan prima besar secara sembarang dan yang saling berbeda (p dan

q).

2. Untuk mempermudah komputasi dari akar kuadrat modulo p dan q, kita bisa lakukan dengan memilih

p ≡ q ≡ 3 (mod) 4 p ≠ q

Contoh 2: penulis ingin menentukan nilai p = 11. Lalu lakukan pengecekan apakah 11

merupakan bilangan prima dengan cara.

p ≠ q

p mod 4 = 3

Sehingga

(69)

Contoh 3 : penulis ingin menentukan nilai q = 23. Lalu penulis melakukan pengecekan apakah 23 merupakan bilangn prima y ang dimaksud dengan cara.

q mod 4 = 3

Sehingga

23 mod 4 = 3

3. Hitung n= p.q. n adalah kunci publik, bilangan prima p dan q adalah kunci privat. Untuk mengenkripsi hanya membutuhkan kunci publik n, sedangkan untuk dekripsi dibutuhkan bilangan p dan q sebagai kunci privat.

Contoh 3. Penulis menentukan nilai n. Di mana nilai n tersebut akan di dapat dari proses perkalian antara dua bilangan prima, yakni nilai p dan q.

n = p . q

n = 11 . 23

n = 253

2.8.2. Metode Enkripsi

Algoritma Rabin Cryptosystem merupakan algoritma kriptografi kunci publik maka enkripsi di lakukan hanya dengan menggunakan kunci publik yang dapat di ketahui oleh semua orang. Namun proses dekripsinya hanya dapat di lakukan dengan menggunakan kunci privat yang hanya dapat dilakukan oleh orang yang bersangkutan. Untuk proses enkripsi pada algoritma kunci publik Rabin Cryptosystem dapat dilakukan dengan rumus berikut (Schneier, 1996):

C = m² mod n

Dengan keterangan:

C = Ciphertext

m = enkripsi polybius

n = Kunci publik

Setelah itu hitung nilai K yang merupakan nilai kongruen hasil nilai desimal plaintext

m dengan menggunakan rumus:

(70)

Contoh 1. Perhitungan manual proses enkripsi dengan plaintext awal “CHITRA” dengan menggunakan algoritma Rabin Cryptosystem .

(71)

57121 mod 253

Proses dekripsi pada algoritma Rabin Cryptosystem di lakukan dengan menggunakan rumus yang sederhana. Proses dekripsi pada algoritma Rabin Cryptosystem menggunakan kunci

privat p dan q. Selama penerima pesan mengetahui p dan q, penerima pesan dapat menyelesaikan dua kekongruenan menggunakan Chinese Remainder Teorema (CRT)

(72)

1. Tentukan nilai dan yang merupakan pembagi GCD (Greatest Common Divisior) dari p dan q dengan menggunakan algoritma Extended Euclidean. Karena bilangan prima GCD (Greatest Common Divisior) adalah 1 maka dapat kita tulis sebagai

*p + *q = 1

2. Hitung nilai akar kuadrat dari ciphertext terhadap nilai p dan q dengan menggunakan rumus

= mod p = mod q

Dengan nilai merupakan nilai akar kuadrat dari ciphertext terhadap nilai p. Dan merupakan nilai akar kuadrat dari ciphertext terhadap nilai q.

3. Hitung nilai r,s,t dan u dengan menggunakan Chinese Remainder Theorem (CRT)

5. Ubahlah nilai desimal R, S, T, dan U ke dalam bentuk biner. Kemudian nilai biner R, S, T dan U di bagi menjadi 2 bagian. Bandingkan kedua bagian tersebut. Jika kedua bagian tersebut menghasilkan bentuk biner yang sama, maka di dapat hasil dekripsi chipertext dengan mengubah bentuk biner salah satu bagian yang telah di bagi menjadi 2 bagian yang sama.

(73)

2.9. Chinese Reminder Theorem

Chinese Reminders Theorem (CRT) atau yang disebut juga dengan Teorema sisa China sudah ada sekitar abad ke 3 – 5 masehi. Teorema ini diperkenalkan oleh seorang matematikawan China yang bernama Sun Zi. Teorema ini pertama kali di tulis dalam sebuah buku yang berjudul Qin Juishan yang di terbitkan pada tahun 1247, di mana dalam buku tersebut di perkenalkan metode mencari solusi sistem linear kongruen.

Berikut adalah bunyi Chinese Reminder Theorem (CRT): berikan bilangan bulat positif

yang semuanya saling relatif prima dan bilangan bulat maka sistem linear kongruennya

....

Contoh Chinese Remainder Theorem 1:

Setelah di ketahui nilai dan maka tentukan kunci dekripsi Rabin Cryptosystem yang benar dengan menggunakan banuan metode Chinese Remainder Theorem (CRT). Di mana nantinya pada metode ini akan di temukan 4 kemungkinan plaintext hasil dekripsi algoritma Rabin Cryptosystem yakni nilai (r, s, t, u)

Setelah itu hitung nilai R,S,T dan U dengan menggunakan nilai r,s,t dan u yang di dapat dalam proses sebelumnya.

Contoh 1. Perhitungan manual proses dekripsi dengan plaintext awal “CHITRA”

1.1Dekripsi plaintext awal : C o Hitung nilai dengan cara:

(74)

o Hitung nilai dengan cara : = mod q

= mod 23  34012224 mod 23  8

(75)

 206762

1.2 Dekripsi plaintext awal : H o Hitung nilai dengan cara:

= mod p

(76)

 180 o Hitung nilai dengan cara:

= mod p

o Hitung nilai Chinesse Remainder Theorem(CRT) dengan r = ( * p * + * q * ) mod n

(77)
(78)

1.4Dekripsi plaintext awal : T o Hitung nilai dengan cara:

= mod p

(79)

 258437

1.5 Dekripsi plaintext awal : R o Hitung nilai dengan cara:

= mod p

o Hitung nilai Chinesse Remainder Theorem (CRT) dengan r = ( * p * + * q * ) mod n

 ( -2 * 11* 18 + 1 * 23 * 5 ) mod 253  (-396 + 115 ) mod 253

(80)

 (-396 – 115 ) mod 253 o Hitung nilai dengan cara:

(81)

 9

(82)

T = ( K * n) + t

Maka dari hasil proses perhitungan metode Chinese Remainder Theorem (CRT) maka di dapatkan nilai dekripsi RABIN cryptosystem yang sebenarnya yakni untuk plainiteks “CHITRA” adalah 206739, 209304, 209817, 258552,257526, 205713. nilai. Di mana nilai biner dari nilai tersebut sama dengan nilai kunci enkripsi pada algoritma Extended Polybius Square.

Namun untuk nilai m ( 0000,0003,0006 dan 009 ) terdapat anomali dalam perhitungan algortima dimana perhitungan untuk masing – masing nilai m tersebut akan di jabarkan di dalam contoh enkrips di bawah ini.

Contoh enkripsi 2:

(83)

C = mod n

C mod 253

C 225mod 253

C 225

2. Dekripsi

(84)

= 3810 mod 253 seperti contoh enkripsi 1. Oleh karena itu untuk kedua nilai tersebut pada contoh 2 yang akan dimaskan akan sama dengan contoh enkripsi 1.

.1. Enkripsi

o Hitung nilai dengan cara:

(85)

o Perhitungan Chinese Remainder Theorem (CRT)

Dimana didalam contoh 4, penulis akan menghitung nilai m yang bernilai 6. Sedangkan

(86)

contoh enkripsi 1. Oleh karena itu untuk kedua nilai tersebut pada contoh 2 yang akan dimaskan akan sama dengan contoh enkripsi 1.

.1. Enkripsi

o Nilai N : 253

o m enkripsi Extended Polybius Square: Dengan m : 6

: 110 : 110110 : 54

o Enkripsi Rabin Cryptosystem:

C = mod n

C  mod 253 C  2916mod 253 C  133

(87)

BAB 1 PENDAHULUAN

1.1 LatarBelakang

Di Era globalisasi saat ini, kemajuan teknologi informasi dan komunikasi telah berkembang pesat. Kemajuan teknologi informasi dan komunikasi ini juga memberikan pengaruh yang besar bagi kehidupan manusia. Perkembangan teknologi juga memungkinkan setiap orang untuk saling bertukar data, informasi, atau pesan kepada orang lain tanpa batasan jarak dan waktu.

Pada saat ini telah banyak fasilitas yang dapat digunakan untuk melakukan pertukaran data dan informasi. Pertukaran informasi dapat dilakukan dengan cara mengirimkan pesan berupa pesan teks, baik dalam bentuk Document, PDF(Portable Document File) ataupun gambar. Terjaminnya kerahasiaan data dalam pengiriman pesan tersebut merupakan salah satu hal yang perlu diperhatikan. Karena tidak tertutup kemungkinan terjadinya proses pertukaran informasi yang bersifat rahasia dalam data tersebut. Sehingga mungkin saja terjadi duplikasi data karena kurangnya keamanan data pada pesan yang dikirimkan, maupun tersebar serta terjadi plagiatisme terhadap isi data yang akhirnya dapat merugikan pihak pengirim ataupun penerima. Sehingga untuk itu dirancanglah sebuah aplikasi yang menerapkan algoritma kriptografi yang berfungsi untuk membantu mengamankan file data tersebut sebelum nantinya akan disebarluaskan atau dikirimkan kepada seseorang. Algoritma kriptografi yang di gunakan diantaranya adalah algoritma kunci publik Rabin Cryptosystem dan algoritma Extended Polybius Square.

Kriptografi adalah suatu ilmu dan seni yang berfungsi untuk menjaga kerahasiaan suatu pesan dengan cara menyandikannya kedalam bentuk pesan yang tidak dapat diartikan lagi maknanya. Kriptografi telah digunakan sejak berabad – abad yang lalu. Yang dikenal dengan kriptografi klasik. Dalam ilmu kriptografi, data yang akan dirahasiakan disebut plaintext. Data atau pesan hasil penyandian disebut

(88)

dekripsi. Algoritma kriptografi (ciphers) adalah fungsi-fungsi matematika yang digunakan untuk melakukan enkripsi dan dekripsi. Dalam kriptografi di perlukan kunci yaitu kode untuk melakukan enkripsi dan dekripsi.

1.2. Rumusan Masalah

Rumusan masalah dalam penelitian ini adalah bagaimana membuat sebuah aplikasi yang nantinya dapat membantu seseorang atau beberapa pihak dalam pengamanan data khususnya PDF(Portable Document File) dengan menggunakan algoritma Rabin Cryptosystem dan algoritma Extended Polybius Square

1.3 Batasan Masalah

Batasan masalah dalam penelitian ini adalah:

1. Algoritma yang digunakan adalah algoritma kunci publik RabinCryptosystem

dan algoritma Extended Polybius Square

2. File yang digunakan berupa file dalam bentuk PDF (Portabel Document File). 3. Bahasa Pemograman yang digunakan Visual Basic.Net

4. Proses enkripsi dan dekripsi hanya membaca bit dari text.

1.4. Tujuan Penelitian

Tujuan dari penelitian ini antara lain adalah Menganalis sistem kerja algoritma kunci publik Rabin Cryptosystem dalam melakukan proses enkripsi file PDF (Portabel Document File) dan menggabungkannya dengan algoritma Extended Polybius Square dalam proses enkripsi dan deksripsi.

1.5. Manfaat Penelitian

Penelitian ini diharapkan dapat menghasilkan sebuah aplikasi yang dapat digunakan untuk proses pengamanan data file PDF (Portabel Document File) sehingga bermanfaat bagi pengguna yang ingin menjaga kerahasiaan dan keamanan terhadap

(89)

1.6. Metodologi Penelitian

Adapun metode yang digunakan penulis dalam penelitian ini adalah sebagai berikut : 1. Studi Kepustakaan

Pada tahap ini, dilakukan peninjauan terhadap buku-buku, artikel-artikel, maupun hasil penelitian yang membahas tentang enkripsi dengan algoritma kunci publik Rabin Cyptosystem dan algoritma Extended Polybius Square

serta bahasa pemrograman Visual Basic.Net.

2. Analisis dan Perancangan Sistem

Tahap ini digunakan untuk mengolah data dari hasil studi literatur dan kemudian melakukan analisis dan perancangan menggunakan algoritma Kunci publik Rabin Cryptosystem dan algoritma Extended Polybius Square sehingga menjadi suatu aplikasi yang terstruktur dan jelas..

3. ImplementasiSistem

Algoritma kunci publik Rabin Cryptosystem dan algoritma Extended Polybius Square masing-masing diimplementasikan menggunakan metode enkripsi

hybrid dalam pembuatan suatu aplikasi dengan menggunakan Bahasa Pemrograman Visual Basic. Net.

4. Pengujian

Menguji apakah aplikasi yang dibuat telah berjaan sesuai keinginan dan apakah aplikasi itu nantunya dapat membantu untuk mengamankan data PDF (Portabel Document File) sehingga tidak dapat di copy.

5. Dokumentasi

Metode ini berisi laporan dan kesimpulan akhir dari hasil analisa dan pengujian dalam bentuk skripsi.

1.7. Sistematika Penulisan

(90)

Bab ini berisi latar belakang masalah, rumusan masalah, batasan masalah, tinjauan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan skripsi.

BAB 2: LANDASAN TEORI

Bab ini berisi teori-teori yang berkaitan dengan kriptografi, algoritma kunci publik

RabinCryptosystem dan algoritma Extended Polybius Square.

BAB 3 : ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang proses pembuatan algoritma pemrograman, Use Case Scenario,

Flowchart Sistem, Flowchart algoritma, rancangan aplikasi dan pembuatan User Interface aplikasi.

BAB 4 : IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi ulasan dan pengujian terhadap program yang telah di implementasikan.

BAB 5: KESIMPULAN DAN SARAN

Gambar

Gambar 4.4. Tampilan About Form
Gambar 4.5. Tampilan Letak  File
Gambar 4.6. Tampilan Isi PDF(Portabel Document File) Yang Akan Di Enkripsi
Gambar 4.8.  Tampilan Menyatakan Proses Enkripsi Telah Berhasil
+7

Referensi

Dokumen terkait

FRINNA SHINTA 500644607 Magister Manajemen MM PENGARUH PELATIHAN, INTERAK.SI SOSIAL, DAN MOTIVASI KERJA TERHADAP KINERJA PENYULUH MELALUI KOMPETENSI Studi pada Kantor

a) Prediksi ( prediction) : dalam fase ini, dilakukan kegiatan mitigasi dan kesiapsiagaan melalui langkah-langkah struktural dan non-struktural. Langkah struktural

Opini diberikan apabila laporan yang disediakan oleh perusahaan telah sesuai dengan standar yang berlaku (dalam hal ini IFRS/International

Berdasarkan hasil penelitian ini dapat disimpulkan bahwa peran guru BK dalam mengembangkan Self Control siswa di MTs Alwasliyah Bandar Khalifah adalah dengan pemberian

Kelompok Kerja Pengadaan Jasa Konsultansi Pekerjaan Jalan dan Jembatan Provinsi Jawa Tengah pada Dinas Bina Marga Provinsi Jawa Tengah Dana APBD Tahun Anggaran 2014 yang

[r]

Jumlah Diskon diambil dari Tabel Kelas sesuai Kode Tiket dikali Harga..

Berdasarkan kesimpulan di atas, perlu kiranya diketahui beberapa saran sebagai berikut: (1) Sebagai pengambil kebijakan perlu kiranya mengapresiasi guru- guru