Total Tayangan Halaman

Senin, 24 Desember 2012

Kriptografi




Kriptografi



Kriptografi adalah ilmu untuk menjaga keamanan pesan.
Keamanan pesan diperoleh dengan menyandikannya menjadi pesan yang tidak mempunyai makna.

Contoh :
BALOK                         menjadi            KBALO

Pesan yang dirahasiakan dinamakan plainteks (plaintext, artinya teks jelas yang dapat dimengerti)
sedangkan pesan hasil penyandian disebut cipherteks (ciphertext, artinya teks tersandi).

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption)
dan
membalikkan cipherteks menjadi plainteks disebut dekripsi (decryption)
1.       Notasi Matematika

Jika plainteks dilambangkan dengan P dan cipherteks dilambangkan dengan C, maka fungsi enkripsi E memetakan P ke C

            E(P) = C

Pada proses kebalikannya, fungsi dekripsi D memetakan C ke P
               
D(C) = P
Algoritma kriptografi atau cipher adalah fungsi matematika yang digunakan untuk enkripsi dan dekripsi.


Contoh :

Algoritma berupa mempertukarkan pada setiap kata karakter pertama dengan karakter kedua, karakter ketiga dengan karakter keempat dan seterusnya.

Contohnya :

                Plainteks                       :           STIKOMPOLTEKCIREBON
            Ciperteks                      :           TSKIMOOPTLKEICEROBN                                              



Contoh Sejarah :

Ada suatu kisah…..Di Jaman Pemerintahan Julius Caesar, teknik kriptografi yang digunakan yaitu Caesar Cipher.
Pada Caesar Cipher, tiap huruf disubsitusi dengan huruf ketiga berikutnya dari susunan alphabet.
Dalam hal ini, kuncinya adalah jumlah pergeseran huruf (yaitu 3). Susunan alphabet setelah digeser sejauh 3 huruf adalah :

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 disubsitusi dengan D
Huruf B pada plainteks disubstitusi dengan E
demikian seterusnya.

Dengan mengkodekan setiap huruf alphabet dengan integer : A = 0, B = 1, ……., Z = 25, maka secara matematika pergeseran 3 huruf alphabet ekivalen dengan melakukan operasi mod terhadap plainteks p menjadi cipherteks c dengan persamaan :

                E(P) = C  menjadi          à         E(P + 3) mod 26
è       E(15 + 3) mod 26
è       S



Contoh :
            AWAS KUCING GALAK

Disandikan dengan Caesar Cipher yaitu mengkodekan A = 0, B = 1, ……, Z = 25, maka cipherteks-N dapat dihitung :

E(P) = C  menjadi          à         (P + 3) mod 26

P1 = A = 0         à C1 = E(0) = (0 + 3) mod 26 = 3 = D
P2 = W = 22      à C2 = E(22) = (22 + 3) mod 26 = 25 = Z
P3 = A = 0         à C3 = E(0) = (0 + 3) mod 26 = 3 = D
P4 = S = 18       à C4 = E(18) = (18 + 3) mod 26 = 21 = V
dst……


Cipherteks-nya gimana …..?

Perhatikan pesan mengembalikan lagi cipherteks dengan operasi kebalikan yang secara matematis dapat dinyatakan dengan persamaan :

                D(C)  = P   menjadi        à         (C – 3) mod 26

2.       Algoritma Simetris Bujursangkar Vigenere

Simetris Bujursangkar Vigenere adalah suatu algoritma yang tergolong ke dalam algoritma subtitusi abjad majemuk. Ini artinya setiap huruf yang sama dalam plaintext tidak dipetakan. Melainkan disubtitusi oleh huruf yang berlainan bergantung dari kunci yang digunakan untuk melakukan enkripsi.

Algoritma ini ditemukan oleh diplomat sekaligus kriptologis dari Prancis, Blaise de Vigènere pada abad 16. Simetris Bujursangkar Vigenere dipublikasikan pada tahun 1856, tetapi algoritma ini baru dikenal luas 200 tahun kemudian.

Proses enkripsi dalam Simetris Bujursangkar Vigenere dilakukan dengan menggunakan bujursangkar vigenere. Bujursangkar vigenere berisi huruf-huruf abjad yang disusun sedemikian rupa. Kolom paling kiri menyatakan huruf-huruf kunci sedangkan baris paling atas menyatakan huruf-huruf plainteks.
Proses enkripsi dilakukan dengan cara menarik garis vertikal ke bawah dari huruf plaintext hingga berada pada baris dari huruf kunci. Selanjutnya huruf yang merupakan perpotongan antara huruf plainteks dan huruf kunci merupakan huruf cipherteks.

Sedangkan proses dekripsi dilakukan sebaliknya,yaitu dengan cara menarik garis horizontal dari kunci ke kanan hingga menemukan huruf yang sesuai dengan huruf ciperteks. Selanjutnya tariklah garis vertikal ke atas hingga sampai ke huruf plainteks.


Contoh :

Plainteks                       : T        U          G          A          S          T         
Kunci                : R        B          S          C          T          W        
Ciperteks                      : K        V          Y          C          L          P            


Pseudo-code untuk enkripsi :
            i ß 1
            While i <= 6
                        read alfabet[i]
                        konversi_alfabet ß (0+mathcon(alfabet[i])-1
                        read kunci[i]
                        konversi_kunci ß (0+mathcon(kunci[i])-1
                        ngitung = 25 – konversi_kunci

                        if konversi_alfabet < ngitung then
                          C ß mathcon(alfabet[i]) + konversi_kunci                    
                        else
                           C ß konversi_alfabet – ngitung
            End While



Bujursangkat Vigenere




Tidak ada komentar:

Posting Komentar