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

(1)

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

PDF

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)

PDF

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