membuat aplikasi caesar cipher di eclipse
Selamat malam sobat semuanya, bagi sobat yang sedang belajar membuat aplikasi android terutama mengenai kriptografi, kali ini saya ingin membagikan sebuah aplikasi kriptografi beserta source codenya dengan menggunakan algoritma caesar cipher. Jika biasanya caesar cipher hanya menggunakan 26 karakter yaitu A-Z, pada aplikasi ini saya menggunakan 256 karakter dengan memanfatkan kode ASCII 256.
untuk tabel kode ASCII sobat bisa lihat DISINI
Aplikasi ini berfungsi untuk mengenkripsi pesan teks (plainteks) yang berupa alfabet, simbol dan karakter yang lainnya menjadi teks yang tidak beraturan (cipherteks) sehingga sulit untuk dibaca. Aplikasi ini juga bisa mendekripsikan (cipherteks) menjadi kata yang sebenarnya (plainteks).
bagi sobat yang belum memiliki eclipse dan SDK silahkan download terlebih dahulu melalui link dibawah ini:
tampilan aplikasi caesar cipher bisa sobat lihat pada gambar dibawah ini:
simulasi aplikasi kriptografi caesar cipher di android:
[jika sobat menggunakan hp dan gambar tidak bergerak, sobat bisa coba mengggunakan browser google chrome]
baca juga : penjelasan menifest.xml di android
Sebelum mendownload script untuk membuat aplikasi caesar cipher di eclipse sebaiknya sobat pelajari dan pahami dulu pengertian dari algoritma caesar cipher itu sendiri. sobat bisa mengambil teorinya dibawah ini, untuk referensi sumbernya sudah saya cntumkan.
baca juga : membuat button kirim di eclipse
Caesar Cipher
Substitusi chiper yang pertama dalam dunia persandian pada waktu pemerintahan Julius Caesar dikenal dengan Caesar Cipher, yakni mengganti posisi huruf awal dari alphabet (Ariyus, 2008) . Caesar Cipher dilakukan dengan cara penggeseran terhadap teks sebanyak kunci yang diberikan. Penggeseran kunci yang dilakukan tergantung pada keinginan si pengirim pesan.
Rumus Caesar Cipher:
Enkripsi : C = (P + K) mod (26)
Dekripsi : C = (P + K) mod (26)
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. Pada Caesar Cipher, tiap huruf disubtitusi dengan huruf ketiga berikutnya dari susunan alphabet yang sama. Dalam hal ini kuncinya adalah pergeseran huruf (yaitu 3). Susunan alphabet setelah digeser sejauh 3 huruf membentuk sebuah table substitusi sebagai berikut (Seftyanto, MegaApriani, & Haryanto, 2012) :
Alfabet Biasa: 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
Alfabet Sandi: 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
Untuk menyandikan sebuah pesan, cukup mencari setiap huruf yang hendak disandikan di alfabet biasa, lalu tuliskan huruf yang sesuai pada alfabet sandi. Untuk memecahkan sandi tersebut gunakan cara sebaliknya. Contoh penyandian sebuah pesan adalah sebagai berikut.
Teks Terang : JANGAN MENDEKATI BLOK D
Teks Sandi : MDQJD QPHQG HNDWL EORNG
Dengan mengkodekan setiap huruf alfabet dengan integer : ‘A’= 0 , ‘B’= 1,…, ‘Z’= 25, maka secara matematis pergeseran 3 huruf alfabetik ekivalen dengan melakukan operasi modulo terhadap plainteks P menjadi cipherteks C dengan persamaan:
C = E ( P ) = ( P + 3 ) mod 26
Karena ada 26 huruf didalam alphabet. Penerima pesan mengembalikan lagi cipherteks dengan operasi kebalikan, secara matematis dapat dinyatakan dengan persamaan:
P = D ( C ) = ( C - 3 ) mod 26
Dapat diperhatikan bahwa fungsi D adalah balikan (invers) dari fungsi E , yaitu:
D ( C ) = E-1 ( P )
Penggunaan dari Caesar Cipher ini dapat dimodifikasi dengan mengubah jumlah gesaran (bukan hanya 3) dan juga arah geseran. Jadi kita dapat menggunakan Caesar cipher dengan geser 7 ke kiri, misalnya. Hal ini dilakukan untuk lebih menyulitkan orang yang ingin menyadap pesan sebab dia harus mencoba semua kombinasi (26 kemungkinan geser).
Salah satu pengembangan dari Caesar Cipher adalah ROT13. Pada sistem ini sebuah huruf digantikan dengan huruf yang letaknya 13 posisi darinya. Sebagai contoh, huruf “A” digantikan dengan huruf “N”, huruf “B” digantikan dengan huruf “O”, dan seterusnya. Secara matematis, hal ini dapat dituliskan sebagai:
C = ROT13 (M)
Untuk mengembalikan kembali ke bentuk semulanya dilakukan proses enkripsi ROT13 dua kali.
M = ROT13 ( ROT13 (M))
Plainteks: A B C D E F G H I J K L M
Cipherteks: N O P Q R S T U V W X Y Z
ROT13 memang tidak didesain untuk keamanan tingkat tinggi. ROT13, misalnya digunakan untuk menyelubungi isi dari artikel (posting) di Usenet news yang berbau ofensif. Sehingga hanya orang yang betul-betul ingin membaca dapat melihat isinya. Contoh penggunaan lain adalah untuk menutupi jawaban dari sebuah teka teki (puzzle) atau jika kita ingin marah marah (memaki) akan tetapi ingin agar orang lain tidak tersinggung. (Orang yang ingin membaca makian kita harus melakukan konversi ROT13 sendiri.)
Keterangan:
C = Cipher Teks (pesan yang sudah di enkripsi)
P = Plain Teks ( pesan asli)
K = Kunci
Mod 26 = huruf alphabet yang terdiri dari 26 huruf
Nah setelah sobat pelajari dan pahami sobat bisa langsung mendownload project dari aplikasi caesar ciphernya dibawah ini:
disini ada dua project, bedanya ada yang key nya di inputkan menggunakan editteks, dan ada yang menggunakan numberpicker. silahkan sobat pilih mau menggunakan yang mana.
download project aplikasi caesar cipher key di ketikan pada editteks KLIK DISINI
download project aplikasi caesar cipher key menggunakan numberpicker KLIK DISINI
jika ingin menambahkan button untuk kirim baik melalui SMS, BBM, WA ataupun yang lainnya sobat bisa lihat caranya DISINI
Tutorial eclipse lainnya silahkan KLIK DISINI
Oke sobat, sekian dulu untuk pembahasan membuat aplikasi android caesar cipher di eclipse kali ini, semoga bisa membantu sobat yang sedang membutuhkan.
jangan lupa like dan follow blog ini. Terimakasih
Label:
android developer