Caesar Chiper



Caesar Chiper
           
Pada Caesar Chiper, tiap huruf disubsitusikan dengan huruf ketiga berikutnya dari susunan alfabet yang sama. Dalam hal ini kuncinya adalah jumlah pergeseran huruf (yaitu 3). Susunan alfabet setelah digeser sejauh 3 huruf membentuk sebuah tabel subsitusi sebagai berikut:

Tabel subsitusi:

Plainteks:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Cipherteks:
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C


Jadi huruf A pada plainteks disubsitusikan dengan D, huruf B disubsitusikan dengan E, demikian seterusnya. Gambar diatas memperlihatkan Caesar wheel yang berfungsi sebagai subsitusi. Caesar wheel terdiri dua buah lempeng lingkaran besi. Lingkaran besi paling luar menyatakan huruf-huruf plainteks sedangkan lingkaran besi paling terdalam menyatakan huruf-huruf chiperteks. Lingkaran besi terdalam dapat diputar sejauh pergeseran yang diinginkan. Misalnya jika lingkaran besi terdalam digeser sejauh 3 huruf, maka susunan huruf-huruf dalam kedua lingkaran besi mempresentasikan tabel subsitusi di atas.

 Gambar Caesar Wheel
Dengan menggunakan caesar chiper, maka pesan
AWASI ASTERIX DAN TEMANYA OBELIX

Disandikan dengan caesar chiper menjadi
DZDVL DVWHUL[ GDQ WHPDQQ\D REHOL[

Dengan mengkodekan setiap huruf alfabet dengan integer:’A’=0, ’B’=1,..., ‘Z’=25, maka secara matematis pergeseran 3 huruf alfabet ekivalen dengan melakukan operasi modulo terhadap plainteks P menjadi chiperteks C dengan persamaan
            C = E(P) = (P+3) mod 26                                                                                            (1)
Karena ada 26 huruf di dalam alfabet. Penerima pesan mengembalikan lagi chiperteks dengan opreasi kebalikan, yang secara matematis dapat dinyatakan dengan persamaan
            P = D(P) = (C-3) mod 26                                                                                            (2)
Perhatikan bahwa fungsi D adalah balikan (inverse) dari fungsi E,
Chiperteks pada contoh 1 dapat juga dihitung dengan menggunakan persamaan 1 sebagai berikut:
            P1 = ‘A’ = 0    maka c1 = E(0) = (0+3) mod 26 = 3 =’D’
            P2 = ‘W’ = 22 maka c2 = E(22) = (22+3) mod 26 = 25 =’Z’
            P3 = ‘A’ = 0    maka c3 = E(0) = (0+3) mod 26 = 3 =’D’      
            P1 = ‘S’ = 18  maka c4 = E(18) = (18+3) mod 26 = 21 =’V’
            Dst..
Bila keseluruhan perhitungan diselesaikan, maka diperoleh chiperteksnya adalah
            DZDVL DVWHUL[ GDQ WHPDQQ\D REHOL[
Chiperteks tersebut dapat di kembalikan menjadi plainteks asal dengan persamaan 2 menjadi
            AWASI ASTERIX DAN TEMANNYA OBELIX
Dalam praktek, orang biasanya mengelompokkan chiperteks menjadi kelompok-kelompok yang terdiri dari beberapa huruf. Tujuannya agar kriptanalis menjadi lebih sukar. Kriptanalis mudah menerka jika kata-kata di dalam chiperteks sama panjangnya dengan kata-kata di dalam plainteksnya. Dengan mengelompokkan 4 huruf, maka chiperteks pada contoh 1 di atas menjadi :
            DZDV LDVW HUL[  GDQW HPDQ Q\DR EHOL [
Berikut contoh aplikasi Caesar Chiper menggunakan vb.net 


Ket :
  • Label1 = text : PLAINTEKS
  • Label2 = text : CHIPERTEKS
  • Botton1 = nama  : enkripsi
  • Botton2= nama : deskripsi
  • Textbox1 = nama : plainteks
  • Textbox2 = nama : chiperteks
Listing program
Public Class Form1

    Private Sub enkripsi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles enkripsi.Click
        Dim x As String = ""
        Dim xkalimat As String = ""
        For i = 1 To Len(plainteks.Text)
            x = Mid(plainteks.Text, i, i)
            x = Chr(Asc(x) + 3)
            xkalimat = xkalimat + x
        Next
        chiperteks.Text = xkalimat

    End Sub

    Private Sub dekripsi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dekripsi.Click
        Dim X As String = ""
        Dim XKALIMAT As String = ""
        For i = 1 To Len(chiperteks.Text)
            X = Mid(chiperteks.Text, i, i)
            X = Chr(Asc(X) - 3)
            XKALIMAT = XKALIMAT + X
        Next
        plainteks.Text = XKALIMAT

    End Sub
End Class

Hasil program


Demikian artikel saya tentang Caesar Chiper, semoga artikel di atas bermanfaat bagi teman sekalian...

Komentar

Postingan populer dari blog ini

Menghapus data Pada Listview

ENTAH SIAPA YANG TAHU??

PROGRAM PEMBAYARAN LISTRIK DENGAN VB NET