Sabtu, 18 Januari 2014

KRIPTOGRAFI

Pemrograman  Kriptografi ada 4 jenis yaitu :
1. Kriptografi Caesar Cipher
2. Kriptografi Vernam cipher
3. Kriptografi Gronsfeld
4. Kriptografi Vigenere

Nah pada postigan kali ini kita akan membahas ke empat Kriptografi tersebut dan kita akan mengetahui enkripsi dan dekripsi dan disini juga kita akan masukan ke empat jenis kriptografi tersebut ke dalam MenuStrip .

Sekarang kamu tambah kan form pada visual basic  menjadi 5 form dan design lah seperti form-form d bawah ini .

 

Setelah selesai  kamu ketik listing di bawah ini pada pada form di atas .

Public Class Form1

    Private Sub Btnenkripsi_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles Btnenkripsi.Click
        Dim x As String = ""
        Dim xkalimat As String = ""
        For i = 1 To Len(plain.text)
            x = Mid(Plain.Text, i, i)
            x = Chr(Asc(x) + 3)
            xkalimat = xkalimat + x
        Next
        Chiper.Text = xkalimat
    End Sub

    Private Sub Btndekrifsi_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles Btndekrifsi.Click
        Dim x As String = ""
        Dim xkalimat As String = ""
        For i = 1 To Len(Plain.Text)
            x = Mid(Plain.Text, i, i)
            x = Chr(Asc(x) - 3)
            xkalimat = xkalimat + x
        Next
        Chiper.Text = xkalimat
      
    End Sub
End Class

 

Nah pada form2 kita menggunakan MenuStrip setelah selesai kamu design form nya kamu tinggal ketik listing di bawah ini .


Public Class Form2

    Private Sub KrifToolStripMenuItem_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles KrifToolStripMenuItem.Click
        Form1.MdiParent = Me
        Form1.Show()
    End Sub

    Private Sub KriptografiVernamToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesKriptografiVernamToolStripMenuItem.Click
        Form3.MdiParent = Me
        Form3.Show()
    End Sub

    Private Sub KriftografiGrondfeldToolStripMenuItem_Click(ByVal senderAs System.Object, ByVal e As System.EventArgs) HandlesKriftografiGrondfeldToolStripMenuItem.Click
        Form4.MdiParent = Me
        Form4.Show()
    End Sub

    Private Sub KriftografiVigenereToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesKriftografiVigenereToolStripMenuItem.Click
        Form5.MdiParent = Me
        Form5.Show()

    End Sub

    Private Sub KeluarToolStripMenuItem_Click(ByVal sender AsSystem.Object, ByVal e As System.EventArgs) HandlesKeluarToolStripMenuItem.Click
        Close()
    End Sub
End Class 

   


sekarang kita masuk ke pada kriptografi vernam , listing program nya ada di bawah ini .

Public Class Form3

    Private Sub OneTimePad_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
        Plainteks.Text = ""
        Kunci.Text = ""
        Chiperteks.Text = ""
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button1.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 nEnec As Integer
        j = 0
        sKata = Plainteks.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
            nEnec = ((nKata + nKunci) Mod 26)
            sPlain = sPlain & Chr((nEnec) + 65)
        Next i
        Chiperteks.Text = sPlain
    End Sub

    Private Sub Plainteks_KeyPress(ByVal sender As ObjectByVal e AsSystem.Windows.Forms.KeyPressEventArgs) Handles Plainteks.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 ObjectByVal e AsSystem.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 Button2_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button2.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 nEnec As Integer
        j = 0
        sKata = Plainteks.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
            nEnec = ((nKata - nKunci) Mod 26)
            sPlain = sPlain & Chr((nEnec) + 65)
        Next i
        Chiperteks.Text = sPlain
    End Sub
end Class 
 
Disini kita masuk ke kriptogrfi  gronsfeld , listing program nya ada di bawah ini .

Public Class Form4
    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
        Plaintext.Text = ""
        Chipertext.Text = ""
    End Sub

    Private Sub Plaintext_KeyPress(ByVal sender As ObjectByVal e AsSystem.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 ObjectByVal e AsSystem.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 Button1_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button1.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 Button2_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button2.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
End Class



Kalau yang ini kita masuk ke kriptografi Vigenere , listing Program nya seperti berikut .
Public Class Form5

    Private Sub Form5_Load(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles MyBase.Load
        plaintext.Text = ""
        chipertext.Text = ""
        Kunci.Text = ""
    End Sub

    Private Sub btn_enkripsi_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles btn_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)) + 0
            nKunci = Asc(Mid(sKey, J, 1)) + 0
            nEnc = ((nKata + nKunci) Mod 256)
            sPlain = sPlain & Chr((nEnc))
        Next i
        chipertext.Text = sPlain
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button2.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)) + 0
            nKunci = Asc(Mid(sKey, J, 1)) + 0
            nEnc = ((nKata - nKunci) Mod 256)
            sPlain = sPlain & Chr((nEnc))
        Next i
        Chipertext.Text = sPlain
    End Sub
End Class

Berikut hasil Enkripsi dan diskripsi nya :