Rabu, 08 Januari 2014

Pemograman Kriptografi

Kali ini saya akan berbagi pemogram Kriptograpi Caesar Cipher,Vernam Chiper, Gronsfeld  dan Vigenere. Kriptograpi adalah ilmu dan seni untuk menjaga keamanan pesan yang dikirim dari suatu tempat ketempat lain . Karena banyak from maka saya menggunakan Menu Utama agar mempermudah melihat hasilnya. Langsung saja saya berikan:

  • Menu Utama
Tambahkan MenuStrip pada Form1 
Buat MenuStrip yang ada pada Form1 menjadi seperti diawah ini.
 
Listing Program
Public Class menu
    Private Sub AplikasiKriptograpiCaesarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AplikasiKriptograpiCaesarToolStripMenuItem.Click
        Caesar.Show()
    End Sub
    Private Sub EnkripsiKriptograpiVernamToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EnkripsiKriptograpiVernamToolStripMenuItem.Click
        Vernam.Show()
    End Sub
  
    Private Sub GrosnfeilToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GrosnfeilToolStripMenuItem.Click
        Gronsfeld.Show()
    End Sub
    Private Sub KriptografiVigenereToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KriptografiVigenereToolStripMenuItem.Click
        Vigenere.Show()
    End Sub
    Private Sub KeluarToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem1.Click
        End
    End Sub
    Private Sub KeluarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KeluarToolStripMenuItem.Click
        End
    End Sub
End Class
Hasil Program
 

  •  Program Caesar Cipher 
Design Form berikut ini:
  

Listing Program
Public Class Caesar
    Private Sub enkripsi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles enkripsi.Click
        Dim x As String = ""
        Dim kalimat As String = ""
        For i = 1 To Len(plain.Text)
            x = Mid(plain.Text, i, i)
            x = Chr(Asc(x) + 3)
            kalimat = kalimat + x
        Next
        chiper.Text = kalimat
    End Sub
    Private Sub dekripsi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dekripsi.Click
        Dim x As String = ""
        Dim kalimat As String = ""
        For i = 1 To Len(chiper.Text)
            x = Mid(chiper.Text, i, i)
            x = Chr(Asc(x) - 3)
            kalimat = kalimat + x
        Next
        plain.Text = kalimat
    End Sub
End Class
Hasil Program      
 
 
  • Vernam Chiper (One Time Pad)
Design Form berikut ini:
 

Listing Program
Public Class Vernam
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        plain.Text = ""
        kunci.Text = ""
        chiper.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 = plain.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
        chiper.Text = splain
    End Sub
    Private Sub plain_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles plain.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
End Class
Hasil Program 
 
  • Kriptografi Gronsfeld
Design Form Seperti  Kriptografi Vernam Chiper
Listing Program
Public Class Gronsfeld
    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        plain.Text = ""
        kunci.Text = ""
        chiper.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 = plain.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 = (Mid(skey, j, 1))
            nenc = ((nkata + nkunci) Mod 26)
            splain = splain & Chr((nenc) + 65)
        Next i
        chiper.Text = splain
    End Sub
    Private Sub plain_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles plain.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
End Class
Hasil Program    
 
  • Kriptografi Vigenere
Design Form Seperti  Kriptografi Vernam Chiper
Listing Program
Public Class Vigenere
    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 = plain.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))
            nKunci = Asc(Mid(sKey, j, 1))
            nEnc = ((nKata + nKunci) Mod 256)
            sPlain = sPlain & Chr((nEnc))
        Next i
        chiper.Text = sPlain
    End Sub
End Class
Hasil Program    
  
Semoga pemogram Kriptograpi Caesar Cipher,Vernam Chiper, Gronsfeld  dan Vigenere ini bermanfaat.

Tidak ada komentar:

Posting Komentar