PROGRAM KELUAR
Public Class Form1
Private Sub CaesarChiperToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
CaesarChiperToolStripMenuItem.Click
Caesar.Show()
End Sub
Private Sub VernamChiper_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles VernamChiper.Click
Vernam.Show()
End Sub
Private Sub VigenereChiper_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles VigenereChiper.Click
Vigenere.Show()
End Sub
Private Sub DesChiper_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles DesChiperr.Click
RC4.Show()
End Sub
Private Sub GronsfeldChiper_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles GronsfeldChiper.Click
DesChiper.Show()
End Sub
Private Sub KeluarToolStripMenuItem1_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
KeluarToolStripMenuItem1.Click
Dim i As MsgBoxResult
i = MsgBox("Apa
anda ingin keluar?", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "Perhatian")
If i =
MsgBoxResult.Yes Then
Close()
End If
End Sub
End Class
Public Class Caesar
Private Sub Caesar_Load(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
plaintext.Text = ""
chipertext.Text = ""
End Sub
Private Sub enkripsi_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles enkripsi.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 hapus_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles hapus.Click
plaintext.Text = ""
chipertext.Text = ""
End Sub
Private Sub keluar_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles keluar.Click
End
End Sub
End Class
Public Class Vernam
Private Sub Vernam_Load(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
plaintext.Text = ""
kunci.Text = ""
chipertext.Text = ""
End Sub
Private Sub enkripsi_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles enkripsi.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 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 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 hapus_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles hapus.Click
plaintext.Text = ""
kunci.Text = ""
chipertext.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
Public Class Vigenere
Private Sub enkripsi_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles enkripsi.Click
chipertext.Text =
Eenkripsi(plaintext.Text, kunci.Text)
End Sub
Function
Eenkripsi(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
Eenkripsi = sPlain
End Function
Private Sub hapus_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles hapus.Click
plaintext.Text = ""
kunci.Text = ""
chipertext.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
ENKRIPSI
Public Class RC4
Private Sub RC4_Load(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
plaintext.Text = ""
kunci.Text = ""
chipertext.Text = ""
End Sub
Private Function AutokeyEncipher(ByVal
strPlaintext As String,
ByRef strKey As
String) As String
Dim i As Long
Dim j As Long
Dim c1 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 hapus_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles hapus.Click
plaintext.Text = ""
kunci.Text = ""
chipertext.Text = ""
End Sub
Private Sub keluar_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles keluar.Click
Me.Close()
End Sub
Private Sub enkripsi_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles enkripsi.Click
chipertext.Text =
AutokeyEncipher(plaintext.Text, kunci.Text)
End Sub
Private Sub deskripsi_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles deskripsi.Click
End Sub
End Class