Saturday, 5 December 2015

SMS Kriptografi dengan Algoritma Blowfish pada Android



Materi ini disampaikan sebagai tugas UAS pada perkuliahan di Jurusan Manajemen Informatika – Universitas Pendidikan Ganesha.


Secara default, SMS dikirim dalam bentuk plain text (meskipun di encoding/decoding dengan PDU) tanpa terenkripsi dari pengirim ke penerima SMS. Jika ada sniffing/penyadapan di jalur komunikasi, maka teks SMS akan sangat mudah dibaca oleh penyadap.





Tantangan anda adalah membuat aplikasi yang bisa mengenkripsi SMS yang akan dikirim, menjadi chipertext dengan algoritma kriptografi yang anda pilih sendiri. Sehingga Teks SMS yang lewat pada jalur komunikasi dan masuk ke operator seluler adalah dlm bentuk chipertext(susah ditebak isi SMSnya). Pada penerima SMS, dilakukan Deskripsi teks SMS yang berupa chipertext sehingga bisa dibaca secara normal oleh penerima SMS.








Berikut adalah contoh aplikasi SMS kriptografi dengan Algoritma Blowfish pada Android.


Apa itu algoritma Blowfish


[wikipedia] Blowfish merupakan algoritma kunci simetrik cipher blok yang dirancang pada tahun 1993 oleh Bruce Schneier untuk menggantikan DES. Pada saat itu banyak sekali rancangan algoritma yang ditawarkan, namun hampir semua terhalang oleh paten atau kerahasiaan pemerintah Amerika. Schneier menyatakan bahwa blowfish bebas paten dan akan berada pada domain publik. Dengan pernyataan Schneier tersebut blowfish telah mendapatkan tempat di dunia kriptografi, khususnya bagi masyarakat yang membutuhkan algoritma kriptografi yang cepat, kuat, dan tidak terhalang oleh lisensi.


Keberhasilan blowfish dalam menembus pasar telah terbukti dengan diadopsinya blowfish sebagai Open Cryptography Interface (OCI) pada kernel linux versi 2.5 keatas. Dengan diadopsinya blowfish, maka telah menyatakan bahwa dunia open source menganggap blowfish adalah salah satu algoritma yang terbaik. Kesuksesan blowfish mulai memudar setelah kehadiran algoritma-algoritma dengan ukuran blok yang lebih besar, seperti AES. AES sendiri memang dirancang untuk menggantikan DES. Sehingga secara keseluruhan AES lebih unggul dari DES dan juga blowfish.





selengkapnya tentang blowfish[official] : http://www.schneier.com/blowfish.html


Tampilan Menu Aplikasi SMS Kriptografi(Enkripsi dan Deskripsi) dengan algoritma Blowfish pada Android





Menu Kirim SMS. SMS yang dikirim akan di enkripsi dengan algoritma Blowfish dengan key yang sudah ditentukan





SMS diterima oleh handphone biasa tanpa aplikasi Deskriptor Algoritma Blowfish dalam bentuk chipertext (non human readable)





Teks SMS biasa bisa dibaca dengan aplikasi Android yang mendecrypt chiperttext menjadi plaintext





Source Code Algoritma Blowfish


Tertarik? Silakan download dibawah ini. Aplikasi ini jauh dari sempurna, karena tidak ada yang sempurna di dunia ini, mari sempurnakan yang ada


Source Code Blowfish


package com.rey1024.smskripto;

import android.util.Base64;

import javax.crypto.Cipher;

import javax.crypto.spec.SecretKeySpec;

public class Kripto {

public static String enkripsi(String pesan, String key){

try {

SecretKeySpec KS = new SecretKeySpec(key.getBytes(), "Blowfish");

Cipher cipher = Cipher.getInstance("Blowfish");

cipher.init(Cipher.ENCRYPT_MODE, KS);

byte[] encrypted = cipher.doFinal(pesan.getBytes());

return Base64.encodeToString(encrypted, Base64.NO_PADDING);

} catch (Exception e) {

return "ERROR:"+e.getMessage();

}

}

public static String deskripsi(String chiperText, String key){

try {

SecretKeySpec KS = new SecretKeySpec(key.getBytes(), "Blowfish");

Cipher cipher = Cipher.getInstance("Blowfish");

cipher.init(Cipher.DECRYPT_MODE, KS);

byte[] decrypted = cipher.doFinal(Base64.decode(chiperText, Base64.NO_PADDING));

return new String(decrypted);

} catch (Exception e) {

return "ERROR";

}

}

}


Download Source Code Lengkap : SMS Kriptografi(Enkripsi dan Deskripsi) dengan Blowfish Algorithm (3718)

No comments:

Post a Comment