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

xi

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
Dim
Dim
Dim

pol, dataDesimal, moduloN() As Integer
i As Integer = 0
Bytess() As Byte
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)
moduloN(i) = modulo(dataDesimal, 2, n)
Next

Universitas Sumatera Utara

xi

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
stat = False

Universitas Sumatera Utara

xi


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
Imports

Imports
Imports

System.IO
iTextSharp.text.pdf
iTextSharp.text
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

Form Home

Universitas Sumatera Utara

xi

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
End Class

Universitas Sumatera Utara