Implementasi Algoritma Kunci Public Rabin Cryptosystem dan Extended Polybius Square Dalam Pengamanan PDF
Listing Program
Form Enkripsi
Imports System.IO
Public Class frmEnkripsi Public k() As Integer
Dim prima() As Integer
Dim p, q, n As Integer
Sub convertChar() End Sub
Private Sub BtnEnkripsi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnEnkripsi.Click
Dim watch As New System.Diagnostics.Stopwatch watch.Start()
p = Val(TxtP.Text) q = Val(txtQ.Text) n = Val(txtN.Text)
Dim filePath1 As String = txtNamaFile.Text
Dim data() As Char = ReadFilePDF(filePath1).ToCharArray MsgBox(ReadFilePDF(filePath1) & "data Leng" & data.Length) '
Dim pol, dataDesimal, moduloN() As Integer
Dim i As Integer = 0 Dim Bytess() As Byte
Dim hexa, nilai, baris, kolom, biner, biner2 As String
For i = 0 To data.Length - 1 Step 1 ReDim Preserve Bytess(i)
Bytess(i) = Asc(data(i))
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) 'MsgBox(pol.ToString)
biner = dec2bin(pol.ToString) biner2 = biner & biner
dataDesimal = bin2dec(biner2) ReDim Preserve k(i)
k(i) = (dataDesimal - (dataDesimal Mod n)) / n ReDim Preserve moduloN(i)
(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()
LblRT.Text = watch.Elapsed.TotalSeconds.ToString() & " s" End Sub
Private Sub TxtOutputPath_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles TxtOutputPath.DoubleClick Dim SFD As New SaveFileDialog
SFD.Filter = "ERC (*.erc*)|*.erc"
If SFD.ShowDialog = Windows.Forms.DialogResult.OK Then
TxtOutputPath.Text = SFD.FileName End If
End Sub
Private Sub txtNamaFile_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles txtNamaFile.DoubleClick Dim OFD As New OpenFileDialog
OFD.Filter = "PDF (*.pdf*)|*.pdf"
If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
txtNamaFile.Text = OFD.FileName End If
End Sub
Private Sub BtnCLose_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnCLose.Click Me.Dispose()
End Sub
Private Sub btnRandom_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnRandom.Click generateBilanganPrima()
Dim rnd As New Random p = 0
q = 0 While p = q
p = prima(rnd.Next(0, 30)) q = prima(rnd.Next(0, 30)) End While
n = p * q TxtP.Text = p txtQ.Text = q txtN.Text = n End Sub
Sub generateBilanganPrima() Dim i, j, bil As Integer
Dim stat As Boolean
i = 0 j = 0 bil = 3
ReDim Preserve prima(i) prima(i) = 2
While i < 30 stat = True
For j = 0 To i
If bil Mod prima(j) = 0 Then
(3)
End If
Next
If stat = True Then
i = i + 1
ReDim Preserve prima(i) prima(i) = bil
'MsgBox(prima(i))
End If
bil = bil + 1 End While
ListBox1.DataSource = prima End Sub
Private Sub frmEnkripsi_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load End Sub
End Class
Form Dekripsi
Imports System.IO
Imports iTextSharp.text.pdf
Imports iTextSharp.text
Imports System.Text
Public Class frmDekrip
Dim fs As System.IO.FileStream Public prima() As Integer
Dim k() As Double
Dim p, q, n As Integer
s Dim data(), asli() As Byte
Dim pol(), dataDesimal(), moduloN() As Long
Dim hexa, nilai, baris, kolom, biner(), biner2() As String
Private Sub txtNamaFile_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles txtNamaFile.DoubleClick Dim OFD As New OpenFileDialog
OFD.Filter = "ERC (*.erc*)|*.erc"
If OFD.ShowDialog = Windows.Forms.DialogResult.OK Then
txtNamaFile.Text = OFD.FileName End If
End Sub
Sub WritePdf(ByVal HasilText As String, ByVal fileSave As String) Dim doc As New Document(i
(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
Schneier, Bruce. 1996. Applied Cryptography, Second Edition. Protocol, Algorithm and Source Code in C (CLOTH). E-Book. Jhon Willey & Sons, Inc
(6)
Wandani, Henny., Budiman, Muhammad Andri., Sharif, Amer. Implementasi Sistem Steganografi End of Files (EOF) dan Rabin Public Key Cryptosystem. Jurnal. Universitas Sumatera Utara
(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
Langkah pertama yang dilakukan dalam tahap analisis sistem yakni mengidetifikasi masalah. Masalah didefinisikan sebagai suatu kesenjangan ataupun suatu penyimpangan yang mungkin terjadi dan diharapkan akan memukuji pemecahannya.Seluruh masalah yang akan timbul dapat digambarkan dengan menggunakan diagram Ishikawa yang akan di gambarkan di bawah ini pada gambar 3.1.
(8)
Implementation Algorithm Extended PolybiusSquare and Rabin Cryptosystem
Man Power Method
Material Machines
Extended Euclidean for generator prime number Extended Polybius Algorithm and Rabin Crptosystem Algorithm Computer VB Net Sending PDF File Sending cipherfile
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.
c. Sistem juga harus dapat melakukan proses enkripsi dan dekripsi file PDF dengan proses waktu yang relatif singkat. (Portabel Document File)
(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
Sender
Recevier Search Data PDF
«uses»
Enkripsi PDF «uses»
«uses» «uses»
Enkripsi PDF Dengan Extended Poybius
Enkripsi PDF Dengan Rabin Cryptosystem «uses» Membuka PDF Enkripsi «uses» Dekripsi Cipherteks
Dengan Rabin Cryptosystem «uses» Chinese Remainder Theorem «uses» Dekripsi Kunci Extended Polybius
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
hanya diketaui antara pengirim dan penerima saja, dan tidak boleh diketahi oleh orang lain. Setelah pengirim mendapatkan kunci public, kemudian sender melakukan proses enkripsi dengan menggunakan algoritma kunci publik Rabin Cryptosystem. Setelah data di enkripsi maka pengirim dapat mengirimkan dengan aman melaui transfer data. Dan penerima akan mendekripsikan dengan mengetahui kunci private yang diberiakan oleh si sender.
(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 event
Aksi actor Respons sistem
Langkah ke-1: Sender
akan menjalankan program
Langkah ke-2: Sistem akan memuat modul-modul pada menu utama
Langkah ke-3: Sender
akan membangkitkan kunci dari menu utama
Langkah ke-4: sistem kemudian membangkitkan kunci public dan private
Langkah ke-5: Sender
akan menyimpan kunci, kemudian membagikan kunci public kepada
receiver
Langkah ke 6: Actor kemudian menjalankan program dan melakukan proses enkripsi dan memberikan kepada receiver
dengan memberitahukan kunci
private.
Alternative curse
Aksi actor Respons sistem
Memberikan kunci hybrid
Jika kunci hybrid belum berjalan maka kembali ke enkripsi semula
Post kondition Data atau informasi yang dikirim si sender kepada receiver
sampai tanpa dikatehui oleh orang lain
Pada tabel yang diatas menjelaskan use case program enkripsi dan deksripsi algoritma
(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 event
Aksi Aktor Respon sistem Langkah 1: Sender
menentukan kunci dengan menekan tombol random
Langkah 2: sistem akan menentukan dua bilangan prima secara random
Langkah 3: Sender
menyetujui bilangan prima yang telah ditentukan
Langkah 4: sistem akan
membangkitkan sebuah kunci private
dan public.
Langkah 5: ketika kunci dibangkitkan makan kunci
Extended Polybius Square di jadikan kunci di algoritma
Rabin Cryptosystem
Langkah 6: kunci akan di simpan di dalam sistem
(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
Typical course of event
Langkah 1: pengirim melakukan input data PDF
Langkah 1: Sistem akan melakukan proses enkripsi
-
Langkah 2: Sistem akan menampilkan
ciphertext
-
langkah 3: sistem akan menyimpan
ciphertext kedalam bentuk .erc
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
tersebut tidak dapat dibuka secara langsung. Namun apabila dibuka dengan notepad hanya berupa angka.
(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
Typical course of event
Langkah 1: pengirim melakukan input data .erv
Langkah 1: Sistem akan melakukan proses dekripsi
-
Langkah 2: Sistem akan menghitung metode Chinese Remainder Theorem
-
langkah 3: sistem akan menampilkan hasil dekripsi dan menyimpan
plaintext dekripsi kedalam bentuk
Alternative course Aksi aktor Respons system
- -
Post condition Data telah di dekripsi dimana plaintext hasil dekripsi disimpan
kembali kedalam bentuk PDF
Dengan memperhatikan tabel diatas dapat diketahui action yang dilakukan recevier dan proses yang terjadi proses dnkripsi.
(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
Activity diagram merupakan suatu diagram yang digunakan untuk menggambarkan aliran proses usaha secara grafis, langkah-langkah dari suatu use-case atau logika dari suatu tingkah laku objek dan metode dari suatu sistem yang akan dibangun (Bentley &Whitten, 2007). Dalam
(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
Menampilkan Hasil 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)
Sender System
Input Kunci
Mengembalikan dan menyimpan plaintext dekripsi
ke bentuk PDF
Menentukan hasil dekipsi extended polybius dari
nilai (r,s,t,u) Menghitung Chinese Remainder Theorem Menentukan nilai yp
yq serta Mp dan Mq
Menentukan nilai p dan q
Menampilkan plaintext hasil
(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
Alur proses pembangkitan pasangan kunci Rabin Cryptosystem pada aplikasi yang dirancang dapat dijelaskan pada flowchart seperti Gambar 7 berikut ini:
(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 .
2. Baca setiap bit yang ada didalam file PDF seperti yang tertera pada tabel 3.7 dan cocokan tiap bit karakter yang terbaca dengan semua karakter ASCII yang tersusun secara khusus pada tabel Extended Polybius Square 15 x 15. Lalu terjemahkan kedalam bentuk biner.
(20)
Tabel 3.5. Karakter ASCII dalam Tabel Extended Polybius Square
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
00 NULL SQH SIX ETX EOS ENQ ACK BEL BS HT LF VT FF CR SO SI
01 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
02 Space ! " # $ % & ' ( ) * + , - . /
03 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
04 @ A B C D E F G H I J K L M N O
05 P Q R S T U V W X Y Z [ \ ] ^ _
06 ` a b c d e f g h i j k l m n o
07 p q r s t u v w x y z { | } ~ Del
08 € ü ‚ ƒ „ … ˆ ‰ Š Œ Ž Å
09 É • – — ˜ ™ š œ ž Ÿ
10 ¡ ¢ £ ¤ ¥ ¦ ¨ © ª « ¬ ® ¯
11 ° ± ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
12 À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
13 Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
14 å æ ç ë ï
15 ð ñ ÷ ø ü ý þ ÿ
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)
Isi PDF (plaintext) Isi PDF yang di sandikan
(Ciphertext) Proses enkripsi
denganalgoritma Extended Polybius
Proses dekripsi Algoritma Extended
(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.
Isi PDF (Plaintext)
Tersandi (Ciphertext) Proses enkripsi
Dengan Algoritma RABIN Cryptosystem
Proses dekripsi Dari Algoritma RABIN
Cryptosystem
Biner Proses Enkripsi
(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
8. Ubah kembali nilai biner tersebut menjadi niai desimal 9. Cocokan dengan key Extended Polybius.
(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)
Pada Decryption form merupakan form yang di gunakan untuk melakukan proses dekripsi. Pada Form ini di sediakan interface untuk menginput nilai n yang nantinya menampilkan nilai proses Yp dan Yq, serta p dan q. Pada form ini juga terdapat TextBox untuk menampilkan data di mana file hasil enkripsi berada serta menampilkan di mana nantinya data file PDF(Portabel Document Fil hasil dari proses dekripsi akan di simpan. Tampilan untuk form dekripsi dapat di lihat pada gambar 4.3.
(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
Gambar 4.5. Tampilan Letak File Yang Akan Di Enkripsi Dimana Isi file PDF yang akan di enkripsi tersebut akan dipaparkan dalam gambar 4.6 Dengan ekstensi file Nama.PDF dengan panjang karakter adalah 35 karakter.
(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
4. Muncul tampilan pemberitahuan (Message box) seperti yang dijabarkan dalam gambar 4.8 , yang memberitahukan bahwa File hasil enripsi telah berhasil di enkripsi dan di simpan
(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
Pada gambar 4.10 diatas merupakan printscreen tampilan hasil enkripsi dari algoritma Rabin yang dibuka didalam aplikasi Notepad yang dapat dilihat dalam gambar 4.11, dengan menggunakan kunci 253 Dengan file teks asli yang dapat dilihat pada gambar 4.6. Hasil proses enkripsi tersebut menghasilkan ciphertext.
(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
Dalam pengujian 1 ini, Lamanya waktu yang digunakan oleh sistem dalam melakukan proses Dekripsi file PDF (Portabel Document File) dengan menggunakan algoritma Rabin Cryptosystem diatas sebesar 0,2223356 second . Di mana hasil proses enkripsi tersebut dapat dilihat dalam gambar 4.13. Di mana file PDF (Portabel Document File) hasil dekripsi disimpan dapat dilihat dalam gambar 4.14. Dan Isi file hasil proses dekripsi dapat dilihat
(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.
Gambar 4.16. Tampilan Isi PDF Pengujian 2
(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 179 121 165 236 174 202 86
(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
Proses enkripsi dan dekripsi yang dilakukan pada pengujian 3 ini sama seperti proses enkripsi dan dekripsi yang dilakukan pada proses pengujian 1 dan 2 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 = 418
(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 195263 16 407 263 160
(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)
dengan panjang karakter sepanjang 94 karakter. Dimana isi file PDF (Portabel Document File) untuk pengujian 3 dapat dilihat pada gambar 4.25
(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
Selanjutnya dengan panjang karakter dan nilai kunci yang sama penguji akan melakukan pengujian untuk proses dekripsi pada file pengujian 4 di mana proses dekripsi tersebut dapat dilihat pada gambar 4.28 . Waktu yang di dapat dalam proses dekripsi adalah sebesar 0,2056643sec. Hasil isi PDF yang di dekripsi pada pengujian 4 juga sama seperti hasil dekripsi PDF dalam pengujian 2. Dimana isi file dekripsi tidak sama seperti hasil ciphertxts awal
(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
Proses enkripsi dan dekripsi yang dilakukan pada pengujian 5 ini sama seperti proses enkripsi dan dekripsi yang dilakukan pada proses pengujian 1,2,3 dan 4 yang telah dijabarkan sebelumnya. Perbedaan pengujian 5 ini dengan pengujian sebelumnya ialah kunci untuk proses enkripsi dan dekripsi yang digunakan. Untuk pengujian 3 ini kita menggunakan Key = 703
(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 95 234 77 234
(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
Pengujian Panjang Karakter Plaintext
Besar Kunci Yang Digunakan
Lama Waktu Yang Diperlukan / Sec
1 35 253 1,4727195 Sec
2 75 319 1,5092924 Sec
3 89 418 1,9870205 Sec
4 94 565 1,7130624 Sec
5 110 703 1,8786115 Sec
Tabel 4.2 Tabel Pengujian Dekripsi
Pengujian Panjang Karakter Plaintext
Besar Kunci Yang Digunakan
Lama Waktu Ynag Diperlukan / Sec
1 35 253 0,2223650 Sec
2 75 319 0,2222079 Sec
3 89 481 0,2067661 Sec
4 94 565 0,2056643 Sec
5 110 703 0,2057372 Sec
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 Besar Kunci 253
Maka di dapat r =
=0,1383399
Menghitung Nilai r dalam pengujian 2 Untuk Panjang karakter 75 Besar Kunci 319
Maka di dapat r =
(49)
=0,2351097
Menghitung Nilai r dalam pengujian 3 Untuk Panjang karakter 89 Besar Kunci 481
Maka di dapat r =
=0,185031185
Menghitung Nilai r dalam pengujian 4 Untuk Panjang karakter 94 Besar Kunci 565
Maka di dapat r =
=0,1663717
Menghitung Nilai r dalam pengujian 5 Untuk Panjang karakter 110 Besar Kunci 703
Maka di dapat r =
=0,1564732
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.
Tes 1
(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
Dari data yang di dapat dalam tabel 4.3 di atas, maka dapat kita buat skema grafik untuk menggambarkan secara spesifik laju kecepatan yang dibutuhkan oleh sistem untuk melakukan proses enkripsi dan dekripsi untuk masing – masing kunci yang berbeda. Grafik kecepatan proses tersebut dapat dilihat dalam gambar 4.41 Grafik Proses Enkripsi dan Gambar 4.42 Grafik Proses Dekripsi
(55)
Gambar 4.41 Grafik Enkripsi
Gambar 4.42. Grafik Dekripsi
Dari diagram diatas dapat diketaui bahwa dalam pengujian enkripsi dan dekripsi, semakin panjang karakter plaintex dan semakin besar key maka waktu yang dibutuhkan semakin lama. Meskipun ada juga percobaan yang memerlukan waktu yang sedikit lebih lama dari pada percobaan lainnya. Kemungkinan ini disebabkan oleh beberapa faktor baik faktor internal maupun eksternal
(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
Penelitian terhadap algoritma kunci publik Rabin Cryptosystem akan dapat diteruskan oleh peneliti lainnya. Karena berdasarkan hasil penelitian ini, dalam masa pengerjaan sistem maupun perhitungan secara manual, algoritma kunci publik Rabin Cryptosystem ini masih memiliki banyak kendala terutama dalam hasil nilai kunci p dan q. Dimana bilangan prima p dan q yang digunakan untuk mendapatkan nilai n masih berupa bilangan puluhan (dua digit).
(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)
Kriptografi adalah ilmu atau seni yang bertujuan untuk menjaga kerahasiaan suatu pesan yang berisikan suatu informasi dan mengubahnya kedalam bentuk yang sulit di pahami maknanya. Kriptografi berasal dari bahasa Yunani yakni kryptos yang berarti tersembunyi dan graphein yang berarti tulisan (Mollin, 2007). Sehingga Kriptografi (cryptograph) dapat di artikan dengan ilmu yang mempelajari suatu sistem penyandian untuk menjamin kerahasiaan dan keamanan data. Orang yang melakukan disebut cryptographer.
(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
Algoritma dekripsi mengubah ciphertext menjadi teks asli dengan parameter masukan, yaitu ciphertext dan kunci rahasia.
(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.
EK (M) = C (Proses Enkripsi) DK (C) = M (Proses Dekripsi)
Dengan Keterangan:
M = Pesan yang dirahasiakan C = Plaintext
D = Dekripsi
E = Mekanisme enkripsi
K = Simbol kuci yang digunakan.
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.
Suatu cryptosystem terdiri dari sebuah algoritma, seluruh kemungkinan plaintext, ciphertext dan kunci-kunci. Secara umum cryptosystem dapat digolongkan menjadi dua buah
(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
Tabel subtitusi dilakukan secara acak, dengan cara tuliskan dan susun tabel alphabet di mulai dari huruf A hingga Z. Lalu buat kembali tabel alphabet kedua tuliskan alphabet itu kembali secara acak. Dalam contoh diatas dapat dilihat Huruf A pada tabel alphabet pertama diganti dengan huruf J pada tabel alphabet kedua, dan huruf B di ganti dengan huruf X begitu seterusnya. Misalkan kata “ SECRET MESSAGE” akan di enkripsi dengan teknik subtitusi dengan tabel diatas menjadi “ DSEUSW OSDDJMS”. Untuk memperoleh kata “SECRET MESSAGE” kembali maka di lakukan pula melihat tabel subtitusi diatas.
(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
Salah satu cara untuk menentukan GCD (Greatest Common Divisior) dua bilangan integer a dan b ialah dengan menggunakan algoritma Euclid. Algoritma Euclid merupakan algoritma rekursif yang terdapat dua kasus:
P E R T E MU A N R A H A S I A
P R E U N R H S A
P R E U N R H S A E T M A A A I
(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.
Pada penulisan skripsi ini penulis menggunakan Extended Polybius Square dimana Extended Polybius Square sendiri merupakan perpanjangan dari Polybius square dengan ukuran matriks 15 x 15 (Tabu S Kondo., Leonard J Mselle, 2013). Dimana tabel itu berisi semua karakter yang terdapat di dalam table ASCII (American Standard Code for Information Interchange). Di mana nantinya semua karakter yang terdapat dalam tabel ASCII (American Standard Code for Information Interchange), diisi ke dalam table Extended Polybius 15 x 15 dan disusun sedemikian rupa agar menambah sedikit tingkat kesulitan.
(66)
Tabel 2.3 . Tabel Extended Polybius Square 15 x 15
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
00 NULL SQH SIX ETX EOS ENQ ACK BEL BS HT LF VT FF CR SO SI
01 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
02 Space ! " # $ % & ' ( ) * + , - . /
03 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
04 @ A B C D E F G H I J K L M N O
05 P Q R S T U V W X Y Z [ \ ] ^ _
06 ` a b c d e f g h i j k l m n o
07 p q r s t u v w x y z { | } ~ Del
08 € ü ‚ ƒ „ … ˆ ‰ Š Œ Ž Å
09 É • – — ˜ ™ š œ ž Ÿ
10 ¡ ¢ £ ¤ ¥ ¦ ¨ © ª « ¬ ® ¯
11 ° ± ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
12 À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
13 Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
14 å æ ç ë ï
15 ð ñ ÷ ø ü ý þ ÿ
Contoh 1. Perhitungan manual proses enkripsi dengan plaintext awal “CHITRA” dengan menggunakan Extended Polybius Square.
1.1 Pengenkripsian plainteks : C Plaintext awal : C
Dengan m : 0403
: 110010011
: 11001001111001001 : 206739
1.2 Pengenkripsian plaintext : H Plaintext awal : H
Dengan m : 0408
: 110011000
: 110011000110011000 : 209304
(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
Dari hasil perhitungan contoh 1 di atas maka di dapat hasil enkripsi untuk plaintext “CHITRA” pada Extended Polybius Square adalah :
(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 11 mod 4 = 3
(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:
(1)
viii
AN IMPLEMENTATION OF RABIN PUBLIC KEY ALGORITHM AND EXTENDED POLYBIUS SQUARE IN PDF CONFIDENTIALY
ABSTRACT
The development of technology has allowed everyone to perform mutual data information exchange without any limitation of time and distance. The information exchange can be done in various ways, one of which is the exchange of data in the form of a PDF (Portable Document Format) file. Not closing the possibility of data leakage during the process of information exchange is performed. Ensuring the confidentiality of the data submitted PDF (Portable Document Format) files is something that must be kept. In the process of securing PDF (Portable Document Format) files by using algorithms Rabin Cryptosystem and Extended Polybius Square. In this study, two algorithms combine. Encryption and decryption only read bits of text according to ASCII (American Standard Code for Information Interchange) value. Pictures and graphs contained within the PDF (Portable Document Format) file does not participate in form processed. Output of decryption process by using the two algorithms have the anomaly. The results obtained for the output decryption key value in the random input still has some shortcomings caused inconsistency of the value of R, S, T, and U were obtained when the Chinese Remainer Theorem
Keywords: Cryptography, Data Security, Rabin Cryptosystem, Extended Polybius
(2)
Halaman
Persetujuan iii
Pernyataan iv Penghargaan v Abstrak vii
Abstract viii Daftar Isi ix Daftar Tabel xi Daftar Gambar xii BAB 1 Pendahuluan 1.1 Latar Belakang 1
1.2RumusanMasalah 2
1.3BatasanMasalah 2
1.4TujuanPenelitian 3
1.5ManfaatPenelitian 3
1.6MetodologiPenelitian 3
1.7SistematikaPenulisan 4
BAB 2 Landasan Teori 2.1 Kriptografi 5 2.2 Tujuan Kriptografi 6 2.3 Sistem Kriptografi 6
2.4Kriptosistem 7 2.4.1 Kriptosistem Simetris 8 2.4.2 Kriptosistem Asimetris 8 2.4.3 Kriptosistem Hybrid (Hybrid Cryptosystem) 9 2.5.Teknik Dasar Kriptografi 9 2.5.1 Teknik Substitusi 9 2.5.2 Teknik Blocking 10 2.5.3 Teknik Permutasi 10 2.5.4 Teknik Ekspansi 12 2.5.5 Teknik Pemampatan 12 2.6 Algoritma Extended Euclid 13
2.7 Algoritma Extended Polybius Square 14
2.8 Algoritma Rabin Cryptosytem 17
2.8.1 Proses Pembangkitan Kunci 17 2.8.2 Metode Enkripsi 18 2.8.3 Metode Dekripsi 21 2.9 Chinese Remainder Theorem 22
(3)
6
BAB 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 41
3.1.1AnalisisMasalah 41 3.1.2AnalisisKebutuhan
42
3.1.2.1 Kebutuhan Fungsional 42
3.1.2.2. Kebutuhan Non Fungsional 43
3.2 Analisa Proses 43 3.2.1 Use Case Diagram 44
3.2.2 Table Dokumentasi Narasi 45
3.3 ProsesSistemDenganSquanceDiagram 50 3.4 Proses Sistem Dengan Activity Diagram 51
3.4.1 Activity Diagram Proses Enkripsi PDF 51
3.3.2 Activity Diagram Proses Dekripsi PDF 53
3.5 Perancangan Sistem 3.5.1 Pembuatan Algoritma Pemrograman 54
3.5.2 Alur Proses Sistem Secara Umum 54
3.5.3 Alur Enkripsi Dekripsi Pada Algoritma Extended Polybius Square 55
3.5.4 Alur Enkripsi Dekripsi Pada Algoritma Rabin Cryptosystem 57 3.5.5 Alur Proses Dekripsi Rabin Cryptosystem 59 3.6 Perancangan Antarmuka (Interface) 62
3.6.1 Rancangan Halaman Utama 62
3.6.2 Rancangan Halaman Encryption 62
3.6.3 Rancangan Halaman Decryption 63 BAB 4 Implementasi Dan Pengujian Sistem 4.1 Implementasi Sistem 65
4.1.1 Form Home 65
4.1.2 Encryption Form (Form Enkripsi ) 66
4.1.3 Decryption Form (Form Dekripsi) 66
4.1.4 About Form 67 4.2 Pengujian Sistem 4.2.1 Pengujian Proses Enkripsi 68
4.2.2 Pengujian Proses Dekripsi 72
Bab 5 Kesimpulan Dan Saran 5.1 Kesimpulan 94
5.2 Saran 94
(4)
DAFTAR TABEL
Halaman
Tabel 2.1 Teknik Substitusi 9
Tabel 2.2 Teknik Blocking 10
Tabel 2.3 Tabel Extended Polybius Square 15
Tabel 2.4 Hasil Perhitungan Plaintext CHITRA 17
Tabel 3.1 Dokumen Narasi Program Enkripsi dan Dekripsi Extended 45 Polybius Square dan Rabin Cryptosystem
Tabel 3.2 Proses Pembangkitan Kunci 46
Tabel 3.3 Proses Enkripsi Extended Polybius Square dan Rabin Cryptosystem 47 Tabel 3.4 Proses Dekripsi Extended Polybius Square dan Rabin Cryptosystem 48 Tabel 3.5 Karakter ASCII Yang Tersusun Dalam Tabel Extended 56 Polybius Square 15 X 15
Tabel 4.1 Tabel Pengujian Enkripsi 86
Tabel 4.2 Tabel Pengujian Dekripsi 86
(5)
8
DAFTAR TABEL
Halaman Gambar 2.1 Proses Enkripsi dan Dekripsi Symetric Cryptosystem 8 Gambar 2.2 Proses Enkripsi dan Dekripsi Asymetric Cryptosystem 9
Gambar 2.3 Teknik Permutasi (Munir,2008) 11
Gambar 2.4 Teknik Permutasi (Munir, 2008) 11
Gambar 2.5 Teknik Ekspansi (Munir, 2008) 12
Gambar 2.6 Teknik Pemampatan 13
Gambar 3.1 Diagram Ishkawa Pada Implementasi Algoritma Extended 42 Polybius Square Dan Rabin Cryptosystem
Gambar 3.2 Use Case Diagram Pada Sistem 44
Gambar 3.3 Sequance Diagram Pada Proses Enkripsi Algoritma 50 Extended Polybius Square dan Rabin Cryptosystem
Gambar 3.4 Sequance Diagram Pada Proses Dekripsi Algoritma 50 Extended Polybius Square dan Rabin Cryptosystem
Gambar 3.5 Activity Diagram Proses Enkripsi Algoritma Extended Polybius 52 Dan Rabin Cryptosystem
Gambar 3.6 Activity Diagram Proses Dekripsi Algoritma Extended Polybius 53 Dan Rabin Cryptosystem
Gambar 3.7 Flowchart Sistem Secara Umum 55
Gambar 3.8 Diagram Block Proses Enkripsi / Dekripsi Algoritma 56 Extended Polybius Square
Gambar 3.9 Flowchart Pembangkitan Pasangan Kunci Pada Rabin Cryptosystem 57 Gambar 3.10 Diagram Block Proses Algoritma Rabin Cryptosystem 58 Gambar 3.11 Flowchart Proses Enkripsi Dengan Algoritma Rabin Cryptosystem 59 Gambar 3.12 Flowchart Proses Dekripsi Dengan Algoritma Rabin Cryptosystem 61
Gambar 3.13 Rancangan Antar Muka Halaman Utama 62
Gambar 3.14 Rancangan Halaman Enkripsi 63
Gambar 3.15 Rancangan Halaman Dekripsi 64
Gambar 4.1 Tampilan Form Home 65
Gambar 4.2 Tampilan Form Enkripsi 66
Gambar 4.3 Tampilan Form Dekripsi 67
Gambar 4.4 Tampilan Form About 67
Gambar 4.5 Tampilan Letak File Yang Akan Di Enkripsi 68
Gambar 4.6 Tampilan Isi File PDF Yang Akan Di Enkripsi 69
Gambar 4.7 Tampilan Proses Enkripsi 69
Gambar 4.8 Tampilan Menyatakan Proses Enkripsi Telah Berhasil 70
Gambar 4.9 Tampilan Running Time Enkripsi 70
Gambar 4.10 File Hasil Enkripsi 71
Gambar 4.11 Data Hasil Proses Enkripsi 71
Gambar 4.12 Tampilan File Enkripsi Di Simpan 72
Gambar 4.13 Tampilan Running Time Dekripsi 73
Gambar 4.14 Tampilan Dekripsi 73
Gambar 4.15 Tampilan PDF Hasil Proses Dekripsi 74
(6)
Gambar 4.16 Tampilan Isi PDF Pengujian 2 74
Gambar 4.17 Tampilan Running Time Enkripsi Pengujian 2 75
Gambar 4.18 Isi File PDF Enkripsi Dalam Notepad 76
Gambar 4.19 Tampilan Running Time Dekripsi Pengujian 2 76
Gambar 4.20 Tampilan PDF Hasil Dekripsi Pengujian 2 77
Gambar 4.21 Tampilan isi PDF Pengujian 3 77
Gambar 4.22 Tampilan Running Time Enkripsi Pengujian 3 78
Gambar 4.23 Isi File Enkripsi Dalam Notepad 79
Gambar 4.24 Tampilan Tunning Time Dekripsi Pengujian 3 79
Gambar 4.25 Isi File PDF Pengujian 4 80
Gambar 4.26 Tampilan Running Time Enkripsi Pengujian 4 81
Gambar 4.27 File Enkripsi Dalam Notepad 82
Gambar 4.28 Tampilan Runnging Time Dekripsi Pengujian 4 82
Gambar 4.29 Isi PDF Pengujian 5 83
Gambar 4.30 Tampilan Running Time Enkripsi Pengujian 5 84
Gambar 4.31 Tampilan File Enkripsi Dalam Notepad 85
Gambar 4.32 Tampilan Running Time Dekripsi Pengujian 5 85
Gambar 4.33 Proses Enkripsi Tes 2 88
Gambar 4.34 Proses Dekripsi Tes 2 89
Gambar 4.35 Proses Enkripsi Tes 3 89
Gambar 4.36 Proses Dekripsi Tes 3 90
Gambar 4.37 Proses Enkripsi Tes 4 90
Gambar 4.38 Proses Dekripsi Tes 4 91
Gambar 4.39 Proses Enkripsi Tes 5 91
Gambar 4.40 Proses Dekripsi Tes 5 92
Gambar 4.41 Grafik Enkripsi 93