Professional Documents
Culture Documents
Dalam tulisan ini penulis akan mejelaskan sebuah konsep kriptografi yang mengabungkan antara algoritma kriptografi klasik dan modern. Algoritma klasik yang penulis gunakan adalah Caesar cipher, sedangkan algoritma kriptorafi modernnya adalah Base64. 1. Caesar cipher Inti dari algoritma kriptografi ini adalah melakukan pergeseran terhadap semua karakter pada plainteks dengan nilai pergeseran yang sama. Adapun langkah-langkah yang dilakukan untuk membentuk chiperteks dengan Caesar Cipher adalah : 1. Menentukan besarnya pergeseran karakter yang digunakan dalam membentuk cipherteks ke plainteks. 2. Menukarkan karakter pada plainteks menjadi cipherteks dengan berdasarkan pada pergeseran yang telah ditentukan sebelumnya. Berikut adalah contoh penggunaan Caesar Cipher dengan besar pergeseran sebesar 3 karakter. Dengan nilai pergeseran tersebut, didapat tabel pergeseran nilai Caesar Cipher sebagai berikut :
Tabel Subtitusi : pi : 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 ci : 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
Dengan enkripsi menggunakan tabel di atas, pesan dienkripsi menjadi : Chiper : LWDWV
dengan menggunakan tabel yang sama menjadi : Pesan Hasil Dekripsi : ITATS
Bila setiap abjad pada plainteks dimisalkan sebagai angka dengan urutan A= 0, B=1, C=2, ...., dan Z=25, dan jumlah pergeseran sebagai key, maka didapat persamaan matematis dari algoritma Caesar Cipher yaitu : - Persamaan Enkripsi ci = E(pi) = (pi + k) mod 26 - Persamaan Dekripsi pi = D(ci) = (ci k) mod 26 dengan pi adalah karakter plainteks ke-i, ci adalah karakter chiperteks ke-i. Dan k adalah jumlah pergeseran Abjad. 2. Algoritma Base64 Algoritma Base64 merupakan algoritma yang menggunakan salah satu
konsep algoritma enkripsi modern yaitu algoritma Block Cipher yang yang berupa operasi pada mode bit namun algoritma Base64 ini lebih mudah dalam
pengimplementasiannya dari algoritma-algoritma yang lainnya. Base64 terhadap data adalah metoda yang untuk melakukan encoding (penyandian) format 6-bit character. Pada algoritma ini,
binary menjadi
rangkaian bit-bit plainteks dibagi menjadi blok-blok bit dengan panjang yang sama, biasanya 64 bit yang direpresentasikan dengan karakter ASCII. Base64 menggunakan karakter A Z, a z dan 0 9 untuk 62 nilai pertama, sedangkan 2 nilai terakhir digunakan symbol (+ dan /). Standar yang penulis gunakan adalah MIME (Multipurpose Internet Mail Extensions)/RFC 1521. RFC ini menegaskan sebuah standar untuk implementasi
Base64 terhadap data binary dan melampirkan sebuah karakter padding = jika terdapat kekurangan pada byte.
Di bawah ini merupakan sebuah contoh step by step mengkonversi kata aku. Plainteks : aku 1. 2. Rubah aku dalam bentuk desimal menjadi : 97, 107, 117 Konversikan dalam bentuk biner 8 bit, menjadi : 01100001 01101011 01110101 3. Dari baris biner tersebut, bentuk blok dengan panjang masing-masing blok adalah 6 bit Sehingga menjadi : 011000 010110 101101 110101 4. Konversikan tiap blok tersebut dalam bentuk desimal, menjadi : 24 22 45 53 5. Selanjutnya konversikan bentuk desimal tersebut ke dalam bentuk string dengan melihat tabel encode base 64. 6. Maka cipherteks dari plainteks aku adalah : Ywt1
Selanjutnya, jika string biner tidak tepat dibagi dalam 6-bit dan urutan biner tidak merupakan ukuran 3 byte, maka Base64 mengaturya dengan
menambahkan padding pada bit terakhir. Sebagai contoh kata ITATS, maka akan dipisah menjadi ITA dan TS+1byte.
Proses padding akan dilakukan apabila sekelompok karakter yang dimiliki tidak bernilai 3 Byte (24 bit). Padding dilakukan dengan menambahkan karakter =. Contoh penggunaan padding dapat dilihat pada tabel berikut.
Apabila terdapat singlebyte maka jumlah padding yang ditambahkan adalah 2 Byte yang bernilai 0. Sehingga memenuhi aturan 3 Byte (24 bit), seperti dapat dilihat pada tabel di bawah ini. Sedangkan pada tabel 4 jumlah byte padding yang ditambahkan adalah 1 Byte karena sebelumnya telah memiliki 2 Byte.
3. Konsep Pembuatan Aplikasi Berdasarkan dua algoritma kriptografi tersebut di atas, penulis membuat suatu rancangan aplikasi yang akan meng-enkripsi suatu teks dengan menggunakan suatu algoritma gabungan kedua algoritma tersebut.
Proses Enkripsi
Plainteks
Proses Dekripsi
Cipherteks
Chiper
Plainteks
Dalam Pembuatan Aplikasi ini, Kami menggunakan bahasa pemrograman Microsoft Visual C# 2008, karena dengan bahasa pemrograman ini kita dapat menggunakan librari criptografi yang telah ada di dalamnya. Sebelum melakukan peng-codingan pada program kami membuat flowchart yang akan menjadi konsep aplikasi ini. Adapun flowchart tersebut terdiri dari 2 proses, yakni Proses Enkripsi Dan Dekripsi. Berikut adalah gambar flowchart tersebut :
Flowchart Enkripsi
START
Input P I =0
C = (P + K) mod 256
End
Comand Dekripsi
Comand Enkripsi
Plainteks
Cipherteks
Kesimpulan : Aplikasi ini adalah aplikasi yang menggabungkan antara 2 metode kriptografi Modern dan Klasik. Metode kriptografi klasik yang kami gunakan adalah caesar cipher, sedangkan metode kriptografi modern yang kami gunakan adalah metode kriptografi Base64.
Refferensi :
1. http://www.di-mgt.com.au/encode_encrypt.html 2. Hayatun Nufus; Makalah PDF : Pembuatan aplikasi kriptografi algoritma Base64 menggunakan java jdk 1.6, Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma, 2009. 3. http://crowja.blogspot.com/2011/02/enkripsi-base64-pengertian-manfaat-dan.html di akses pada 3 Januari 2012 4. Wikipedia.com di akses 3 Januari 2012 5. Antonius; Modul Pembelajaran Matakuliah Computer Security System, ITATS, 2011 6. Erico Darmawan, Pemrograman Dasar C-Java-C#; Informatika, bandung, 2009 7. www.LookupTables.com