Desain
menu awal program.
gambar1. Menu Utama
Berikut
ini adalah listing programnya :
Public Class
Form1
Private Sub
KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
KeluarToolStripMenuItem.Click
End
End Sub
Private Sub
CaesarChToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
CaesarChToolStripMenuItem.Click
caesar_chiper.Show()
End Sub
Private Sub
VernamChiperToolStripMenuItem_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles
VernamChiperToolStripMenuItem.Click
vernam_chiper.Show()
End Sub
Private Sub VigenereChiperToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
VigenereChiperToolStripMenuItem.Click
vigenere_chiper.Show()
End Sub
Private Sub
DesChiperToolStripMenuItem_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
DesChiperToolStripMenuItem.Click
des_chiper.Show()
End Sub
End Class
A A. Kriptografi Caesar
Chiper
Desain program
gambar2. Caesar Cipher
Berikut ini adalah listing
programnya :
Public Class
caesar_chiper
Private Sub
caesar_chiper_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
plaintext.Text
= ""
chipertext.Text
= ""
End Sub
Private Sub
btnenkripsi_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnenkripsi.Click
Dim jumlah As Double = Len(plaintext.Text)
Dim x As String
Dim xkalimat As String
Dim i As Double
Dim bil As Integer
For i = 1 To jumlah
x =
Mid(plaintext.Text, i, 1)
bil =
Asc(x) + 3
x =
Chr(bil)
xkalimat =
xkalimat + x
Next i
chipertext.Text
= xkalimat
End Sub
Private Sub btnhapus_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles btnhapus.Click
plaintext.Text
= ""
chipertext.Text
= ""
End Sub
Private Sub
btnkeluar_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs)
End
End Sub
Private Sub
btnkeluar_Click_1(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnkeluar.Click
Me.Close()
End Sub
End Class
A B. Kriptografi Vernam
Cipher
Desain awal program :
gambar3. Vernam Cipher
Berikut ini adalah listing
programnnya :
Public Class
vernam_chiper
Private Sub
vernam_chiper_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
plaintext.Text
= ""
kunci.Text = ""
chipertext.Text
= ""
End Sub
Private Sub
btnenkripsi_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnenkripsi.Click
Dim j As Integer
Dim jum As Integer
Dim sKey As String
Dim nKata As Integer
Dim nKunci As Integer
Dim sKata As String
Dim sPlain As String
Dim nEnc As Integer
j = 0
sKata =
plaintext.Text
jum =
Len(sKata)
sKey =
kunci.Text
For i = 1 To jum
If j = Len(sKey) Then
j = 1
Else
j = j +
1
End If
nKata =
Asc(Mid(sKata, i, 1)) - 65
nKunci =
Asc(Mid(sKey, j, 1)) - 65
nEnc =
((nKata + nKunci) Mod 26)
sPlain =
sPlain & Chr((nEnc) + 65)
Next i
chipertext.Text
= sPlain
End Sub
Private Sub
plaintext_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles
plaintext.KeyPress
e.KeyChar =
UCase(e.KeyChar)
Dim tombol As Integer = Asc(e.KeyChar)
If Not (((tombol
>= 65) And (tombol <= 90)) Or (tombol = 8)) Then
e.Handled =
True
End If
End Sub
Private Sub
kunci_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles
kunci.KeyPress
e.KeyChar =
UCase(e.KeyChar)
Dim tombol As Integer = Asc(e.KeyChar)
If Not (((tombol
>= 65) And (tombol <= 90)) Or (tombol = 8)) Then
e.Handled =
True
End If
End Sub
Private Sub
btnhapus_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnhapus.Click
plaintext.Text
= ""
kunci.Text = ""
chipertext.Text
= ""
End Sub
Private Sub
btnkeluar_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnkeluar.Click
Me.Close()
End Sub
End Class
A C. Kriptografi Vigenere Cipher
Desain program :
gambar4. Vigenere Cipher
Public Class
vigenere_chiper
Private Sub
btnenkripsi_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnenkripsi.Click
chipertext.Text
= Enkripsi(plaintext.Text, kunci.Text)
End Sub
Function Enkripsi(ByVal
Teks As String,
ByVal Kunci As String) As String
Dim j As Integer
Dim jum As Integer
Dim sKey As String
Dim nKata As Integer
Dim nKunci As Integer
Dim sKata As String
Dim sPlain As String
Dim nEnc As Integer
j = 0
jum = Len(Teks)
sPlain = ""
sKey = Kunci
sKata = Teks
For i = 1 To jum
If j = Len(sKey) Then
j = 1
Else
j = j +
1
End If
nKata =
Asc(Mid(sKata, i, 1))
nKunci =
Asc(Mid(sKey, j, 1))
nEnc =
((nKata + nKunci) Mod 256)
sPlain =
sPlain & Chr((nEnc))
Next i
Enkripsi =
sPlain
End Function
Private Sub
btnhapus_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnhapus.Click
plaintext.Text
= ""
kunci.Text = ""
chipertext.Text
= ""
End Sub
Private Sub
btnkeluar_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnkeluar.Click
Me.Close()
End Sub
Private Sub
vigenere_chiper_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
End Sub
End Class
D. Kriptografi Autokey
Desain awal :
gambar5. Autokey
Private Sub
autokey_chiper_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
plaintext.Text = ""
kunci.Text =
""
chipertext.Text = ""
End Sub
Private Function
btn_AutokeyEncipher(ByVal strPlaintext As String, ByRef strKey As String) As String
Dim i As Long
Dim j As Long
Dim c1 As Integer
Dim c2 As Integer
Dim strPlaintext2 As String
Dim strKey2 As String
Dim strCiphertext As String
Dim strCiphertext2 As
String
Dim diffKeyLen As Integer
Dim pAlphabet As Integer
Dim cAlphabet As Integer
Dim nShift As Integer
'1. Hilangkan semua karakter yang bukan alfabet dari
strPlaintext
' dan simpan sebagai strPlaintext2
strPlaintext2 = ""
For i = 1 To
strPlaintext.Length
c1 =
Asc(Mid(strPlaintext, i, 1))
If (c1 >= 65 And
c1 <= 90) Then
strPlaintext2 = strPlaintext2 & Chr(c1)
End If
Next i
'2. Hilangkan semua karakter yang bukan alfabet dari strKey
' dan simpan sebagai strKey2
strKey2 = ""
For i = 1 To
strKey.Length
c1 =
Asc(Mid(strKey, i, 1))
If (c1 >= 65 And
c1 <= 90) Then
strKey2 = strKey2 & Chr(c1)
End If
Next i
'3. Susun kunci baru strKey2 berdasarkan kunci awal strKey
kemudian
' ditambah plaintext
'perbedaan antara panjang plaintext dan kunci
diffKeyLen =
strPlaintext2.Length - strKey2.Length
For i = 1 To
diffKeyLen
'c1 = Asc(Mid(strPlaintext2, i, 1))
strKey2
= strKey2 & Mid(strPlaintext2, i, 1)
Next i
'4. Geser masing-masing huruf pada plaintext
' dengan huruf yang terkait pada key
strCiphertext = ""
For i = 1 To
strPlaintext2.Length
c1 =
Asc(Mid$(strPlaintext2, i, 1))
nShift =
Asc(Mid$(strKey2, i, 1)) - 65
If ((c1 >= 65) And
(c1 <= 90)) Then
pAlphabet = c1 - 65 ' get the alphabet
sequence
cAlphabet = (pAlphabet + nShift) Mod 26 ' shifted alphabet
c1 =
cAlphabet + 65 ' get character in 65 ... 90
End If
strCiphertext = strCiphertext & Chr(c1)
Next i
'5. Susun strCiphertext sesuai dengan urutan strPlaintext
strCiphertext2 = ""
strKey = ""
j = 1
For i = 1 To
strPlaintext.Length
c1 =
Asc(Mid$(strPlaintext, i, 1))
If ((c1 >= 65) And
(c1 <= 90)) Then
strCiphertext2 = strCiphertext2 & Mid(strCiphertext, j, 1)
strKey = strKey & Mid(strKey2, j, 1)
j =
j + 1
Else
strCiphertext2 = strCiphertext2 & Chr(c1)
strKey = strKey & " "
End If
Next i
Return strCiphertext2
End Function
Private Sub
btnkeluar_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnkeluar.Click
Me.Close()
End Sub
Private Sub
btnhapus_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnhapus.Click
plaintext.Text = ""
kunci.Text =
""
chipertext.Text = ""
End Sub
Private Sub
btnenkripsi_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btn_Encipher.Click
chipertext.Text
= AutokeyEncipher(plaintext.Text, kunci.Text)
End Sub
End Class
E.Kriptografi Des chiper
Desain awal
Public Class Des_chiper
Private Sub
Des_chiper_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
MyBase.Load
plain.Text =
""
chip.Text = ""
End Sub
Private Sub
deskripsi_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
deskripsi.Click
Dim x As String = ""
Dim xkalimat As String = ""
For i = 1 To
Len(chip.Text)
x =
Mid(chip.Text, i, i)
x =
Chr(Asc(x) - 3)
xkalimat
= xkalimat + x
Next
plain.Text =
xkalimat
End Sub
Private Sub
hapus_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
hapus.Click
plain.Text =
""
chip.Text = ""
End Sub
Private Sub
keluar_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
keluar.Click
Me.Close()
End Sub
End Class