You are on page 1of 8

KONSEP PEMBUATAN APLIKASI KRIPTOGRAFI GABUNGAN ANTARA ALGORITMA CAESAR CIPHER DAN ALGORITMA BASE64 DENGAN BAHASA PEMROGRAMAN C#

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

Contoh proses penggunaan Caesar Chiper : Pesan : ITATS

Dengan enkripsi menggunakan tabel di atas, pesan dienkripsi menjadi : Chiper : LWDWV

Penerima yang menerima chiper tersebut kemudian mendekripsi lagi pesan

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.

Berikut adalah tabel Index Base64

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.

Konsep tersebut secara umum digambarkan dengan bagan berikut :

Proses Enkripsi
Plainteks

Proses Dekripsi
Cipherteks

Enkripsi dengan algoritma caesar

Enkripsi dengan algoritma base64

Enkripsi dengan algoritma base64

Enkripsi dengan algoritma caesar

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

IF : I < Panjang Plainteks; i++

Konversi ASCII to Binary

Hitung Panjang Binary

Dapat di bagi 3 Byte

Tidak Ya Padding 3 Byte Tdk Tambahkan 2 Byte

Ya Buat pengelompokan masing2 : 6 bit

Konversi ke index base64 Desimal

Tampilkan Hasil Konversi

End

Comand Dekripsi

Berikut adalah User Interface :

Comand Enkripsi

Plainteks

Cipherteks

Comand Clear all

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

You might also like