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