Listing Program MsgBox(ReadFilePDF(filePath1) & "data Leng" & data.Length) '
Dim pol, dataDesimal, moduloN() As Integer
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()
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
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
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
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.
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.
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
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
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
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
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
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
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
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)
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
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 .
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)
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
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.
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
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
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
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
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
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
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)
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
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
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
Gambar 4.8. Tampilan Menyatakan Proses Enkripsi Telah Berhasil
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
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
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
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.
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
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
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
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
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)
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
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
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
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
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
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
=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.
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
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
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
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
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
Gambar 4.41 Grafik Enkripsi
Gambar 4.42. Grafik Dekripsi
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
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)
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
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.
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
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
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
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
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.
Tabel 2.3 . Tabel Extended Polybius Square 15 x 15
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
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
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:
Contoh 1. Perhitungan manual proses enkripsi dengan plaintext awal “CHITRA” dengan menggunakan algoritma Rabin Cryptosystem .
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)
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.
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:
o Hitung nilai dengan cara : = mod q
= mod 23 34012224 mod 23 8
206762
1.2 Dekripsi plaintext awal : H o Hitung nilai dengan cara:
= mod p
180 o Hitung nilai dengan cara:
= mod p
o Hitung nilai Chinesse Remainder Theorem(CRT) dengan r = ( * p * + * q * ) mod n
1.4Dekripsi plaintext awal : T o Hitung nilai dengan cara:
= mod p
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
(-396 – 115 ) mod 253 o Hitung nilai dengan cara:
9
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:
C = mod n
C mod 253
C 225mod 253
C 225
2. Dekripsi
= 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:
o Perhitungan Chinese Remainder Theorem (CRT)
Dimana didalam contoh 4, penulis akan menghitung nilai m yang bernilai 6. Sedangkan
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
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
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
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
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