Kamis, 11 Januari 2018

Implementasi Kriptografi Menggunakan Algoritma Caesar Chiper dan Visual Basic .Net

Tidak ada komentar:
Pada dunia kriptografi terdapat jenis dan ragam algoritma yang dapat digunakan untuk mengenkripsi dan mendeskripsikan ulang data yang dianggap rahasia. Dalam kriptografi, sandi Caesar, atau sandi geser, kode Caesar atau Geseran Caesar adalah salah satu teknik enkripsi paling sederhana dan paling terkenal. Sandi ini termasuk sandi substitusi dimana setiap huruf pada teks terang (plaintext) digantikan oleh huruf lain yang memiliki selisih posisi tertentu dalam alfabet. Misalnya, jika menggunakan geseran 3, W akan menjadi Z, I menjadi L, dan K menjadi N sehingga teks terang "wiki" akan menjadi "ZLNL" pada teks tersandi. Nama Caesar diambil dari Julius Caesar, jenderal, konsul, dan diktator Romawi yang menggunakan sandi ini untuk berkomunikasi dengan para panglimanya.

Diatas mungkin sedikit penjelasan tentang algoritma Caesar Chiper. Kali ini saya akan membuat contoh penggunaan kriptografi menggunakan algoritma Caesar Chiper dan Visual Basic. Net. Buat sebuah project dengan nama CaesarChiper dan desai form menjadi seperti dibawah ini
Buat dua sebuah routin function yang masing - masing berfungsi untuk mengenkripsi dan mendeskripsikan teks.

a. Fungsi Enskripsi
     Public Function Encrypt(ByVal PlainText As String, ByVal Key As Integer) As String
        Dim PlainChar() As Char = PlainText.ToCharArray()
        Dim Ascii(PlainChar.Length) As Integer

        For Count As Integer = 0 To PlainChar.Length - 1
            Ascii(Count) = Asc(PlainChar(Count))
            If Ascii(Count) >= 65 And Ascii(Count) <= 90 Then
                Ascii(Count) = ((Ascii(Count) - 65 + Key) Mod 26) + 65
            ElseIf Ascii(Count) >= 97 And Ascii(Count) <= 122 Then
                Ascii(Count) = ((Ascii(Count) - 97 + Key) Mod 26) + 97
            End If
            PlainChar(Count) = Chr(Ascii(Count))
        Next

        Return PlainChar
    End Function

b. Fungsi Deskripsi
     Public Function Decrypt(ByVal CipherText As String, ByVal Key As Integer) As String
        Dim CipherChar() As Char = CipherText.ToCharArray()
        Dim Ascii(CipherChar.Length) As Integer

        For Count As Integer = 0 To CipherChar.Length - 1
            Ascii(Count) = Asc(CipherChar(Count))
            If Ascii(Count) >= 65 And Ascii(Count) <= 90 Then
                Ascii(Count) = ((Ascii(Count) - 65 - (Key Mod 26) + 26)) Mod 26 + 65
            ElseIf Ascii(Count) >= 97 And Ascii(Count) <= 122 Then
                Ascii(Count) = (((Ascii(Count) - 97 - (Key Mod 26) + 26)) Mod 26) + 97
            End If
            CipherChar(Count) = Chr(Ascii(Count))
        Next

        Return CipherChar
    End Function

Klik dua kali pada tombol Enkripsi lalu ketikkan kode berikut :
    Private Sub btnEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEncrypt.Click
        If txtTeks.Text.Trim = "" Or txtKey.Text.Trim = "" Then
            MessageBox.Show("Masukkan teks dan kunci untuk dienkripsi!", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Warning)
        Else
            Try
                txtHasil.Text = Encrypt(txtTeks.Text.Trim, txtKey.Text.Trim)
            Catch ex As Exception
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End If
    End Sub

Klik dua kali pada tombol Deskripsi lalu ketikkan kode berikut :
    Private Sub btnDecrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecrypt.Click
        If txtHasil.Text.Trim = "" Or txtKey.Text.Trim = "" Then
            MessageBox.Show("Masukkan teks dan kunci untuk dideskripsi!", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Warning)
        Else
            Try
                txtHasil.Text = Decrypt(txtTeks.Text.Trim, txtKey.Text.Trim)
            Catch ex As Exception
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End If
    End Sub

Jalankan program dan masukkan contoh kata maupun kalimat kedalam kotak teks. Isi dari kunci sebatas angka tidak bisa huruf maupun kombinasi angka dan huruf. Klik tombol Enkripsi maka hasilnya seperti berikut
Untuk mengembalikan teks hasil enkripsi tadi, salin teks dari kotak Hasil dan tempelkan ke kotak Teks kemudian klik tombol Deskripsi dan hasilnya bisa dilihat pada gambar berikut
Metode ini bisa diterapkan pada model enkripsi password login pada sistem anda. Namun algoritma ini masih sederhana sehingga perlu pengembangan lebih lanjut agar lebih sulit dipecahkan ketika ada pihak - pihak tidak bertanggung jawab yang ingin mendeskripsi password anda secara ilegal.
, ,

Tidak ada komentar:

Posting Komentar