Aplikasi SMS Enkripsi dengan Metode AES-256 pada Android


Aplikasi ini saya buat karena ada kerjaan untuk membuat aplikasi SMS yang terenkripsi isi pesannya, jadi tampilan smsnya berupa kode-kode yang tak bisa diterjemahkan kecuali menggunakan aplikasi khusus untuk men-decrypt pesan tersebut.

Untuk metode enkripsinya saya menggunakan “AES-256 Encryption”, selengkapnya tentang metode ini bisa baca-baca di sini : http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

Sebelum membuat aplikasi ini, saya coba searching contoh aplikasi di google play store, kemudian menemukan “Masq” -> https://play.google.com/store/apps/details?id=com.rcythr.masq

kemudian saya install di HH saya, namun ada yang kurang, cuma bisa mengirim pesan yang terenkripsi saja, fitur untuk menampilkan pesan masuk dan terkirimnya belum jadi.

sang pembuat aplikasi tersebut kebetulan membagikan source code nya dan itu open source -> https://github.com/rcythr/Masq

kemudian saya coba sendiri kembangkan aplikasinya agar bisa tampil pesan masuk dan pesan terkirimnya.

Untuk mengembangkannya, saya menemukan source code tentang aplikasi sms di sini ->  http://www.c-sharpcorner.com/UploadFile/ef3808/simple-sms-application-in-android/

Kemudian saya coba untuk menggabungkan fitur inbox dan pesan terkirim tersebut ke aplikasi Masq

Alhamdulilah, setelah beberapa hari, aplikasi tersebut jadi.

Untuk source code full nya bisa di lihat di sini ->

https://github.com/herupurwito/Android_SMSEncryption

atau

https://www.dropbox.com/s/dnu8b05yxl6sa02/Android_SMSEncrypt.rar

untuk file APK-nya bisa didownload disini kalau mau langsung coba aplikasinya

Beberapa hasil screenshot aplikasi SMS Enkripsi yang sudah jadi

hasil_enkripsi

inbox

kirim_pesan

menu_utama

pengaturan

83 thoughts on “Aplikasi SMS Enkripsi dengan Metode AES-256 pada Android

  1. Saya sedang cuba tulis coding untuk SMS tapi saya guna Enkripsi RSA mehod anda boleh tolong

  2. Saya ingin membuat aplikasi ini. untuk membuat aplikasi ini menggunakan program/tools apa saja ya? terima kasih

  3. mas kalau mau ngejalanin aplikasi ini pake software apa ya ?
    pake J creator bisa gak ?

  4. gmna ya bro klo mo ganti algoritmanya, tinggal ganti ato gmna?
    saya pngen coba pake algoritma yg lain
    thanks bantuannya 😀

  5. mas kalo source code yang php ada gak…
    yang bagin mixcolomn lumayan menghambat heheh 😀

  6. gpp yawg gan referansi buat TA w neh..
    heuheu …
    rencana pake vigenere cipher neh …

  7. Bro klo jalanin pake eclipse gmn caranya ?
    q nyoba kok gagal trus?
    kasi tutorial dong

  8. itu yg dijalankan file .APK ya?
    td q cba instal di hp kok smsx g bs terkirim?

  9. klo ada lambang tanda seru (!) gtu knapa yah mas??

  10. bro kok q runing .sdk nya d anggap g ada ya bro, dmna ya mslhnya, bisa tolongin g bro?

  11. gan, aplikasi ini pake database gak?

  12. bikinnya gimana gan? mohon pencerahan..

  13. mas mau tanya ada referensi/ source code buat ekspansi key 128.. kalo bisa yang pakek php

  14. bro knp ya tiap kali d running sering force close klo mo buka pesannya

  15. gan kok ada salah satu file xml yg error ya? padahal sebelumnya udh bisa run

  16. Bro bs bntu ga?
    rubah dari sms ke email ?

    butuh pencerahaan…

  17. gan kl perhitungan manual metode aes agan paham gx? kalo paham ajarin saya donk 😥

  18. udah di donlod gan tapi kok ga’ bisa ngirim sms.?

  19. tampilan screenshot nya kok beda sama yang ku donlod..?
    mohon bantuannya gan.

  20. siang gan… mau tanya aku bikin aplikasi sms sederhana tapi ndak pake reply ataupun forward cuma baca sms dari inbox aja. tp kok gk mau keluar ya gan sms nya yg di inbox?

    script ane :
    public void onClick(View v) {
    // TODO Auto-generated method stub
    Listmsgs = getSMS();
    if(msgs.isEmpty())
    {
    msgs.add(“tidak ada sms”);
    }
    ArrayAdaptersmsAdapter = new
    ArrayAdapter(getBaseContext(),
    android.R.layout.simple_list_item_1,msgs);

    listSMS.setAdapter(smsAdapter);
    listSMS.setOnItemClickListener(new OnItemClickListener(){
    public void onItemClick(AdapterViewarg0, View arg1, int arg2, long rag3){
    Uri SMS_Uri = Uri.parse(“content://sms/inbox”);
    Cursor c = null;

    try
    {
    c = getApplicationContext().getContentResolver().query(SMS_Uri, null, null, null, null);
    }

    catch(Exception e)
    {
    e.printStackTrace();
    }

    try
    {
    for(boolean hasdata = c.moveToFirst();hasdata;hasdata=c.moveToNext()){
    String alamat_no = c.getString(c.getColumnIndexOrThrow(“address”));
    String isi_text = c.getString(c.getColumnIndexOrThrow(“body”));

    Intent trans = new Intent(bacaSMS.this,isiSMS.class);
    Bundle b = new Bundle();
    b.putString(“string_address”, alamat_no);
    b.putString(“string_isi”, isi_text);
    trans.putExtras(b);
    trans.putExtra(bacaSMS.class.getName(), alamat_no);
    trans.putExtra(bacaSMS.class.getName(), isi_text);
    startActivity(trans);
    }
    }
    catch(Exception e){
    e.printStackTrace();
    }
    c.close();
    }
    });

    }
    });
    }

    public ListgetSMS()
    {
    Listlist = new ArrayList();
    Uri uri = Uri.parse(“content://sms/inbox”);
    Cursor c= null;
    try {
    c = getApplicationContext().getContentResolver().query(uri, null, null, null, null);
    }
    catch(Exception e){
    e.printStackTrace();

    }
    try{
    for(boolean hasdata = c.moveToFirst(); hasdata; hasdata=c.moveToNext())
    {
    final String noHP= c.getString(c.getColumnIndex(“address”));
    final String msg = c.getString(c.getColumnIndexOrThrow(“body”));
    }}
    catch(Exception e){
    e.printStackTrace();
    }

    return list;
    }

    Mohon pencerahan gan… klo button ak klik yang keluar cuma kata “tida ada sms “.
    Makasi gan

  21. mas apk a koq gak bisa di download lagi ya??

  22. gan bisa ketmu ga,,?
    lg skripsi nihhh,, pengen buat aplikasi eskripsi sms ni..
    butuh refernsi gan..?
    kalu bisa kirim no agan lewat email saya yh,,
    ni emilnya,,
    soraya_irpan@yahoo.com
    maksih gan..

  23. mas kenpa ya source nya ga ad yg brubah tp pas tk buka inbox langsng error tp klo kirim sms bisa

  24. yang j2me gak ada ya mas?

  25. mas bagaimana ya cara merubah hasil enkripsi yang panjang menjadi pendek.soalnnya untuk sms khan jika text terlalu panjang maka pesan tidak akan terkirim semu,.,,.gimana mas ya cara konversinnya.

    makasi mas

  26. kalau misalkan hasil dari enkripsi aes di rubah menjadi pendek gi mana ya mas,,..,bisa ga???soalnnya buat REVISI TUGAS AKHIR tolong bantu ya mas,.,.,.MAKASIH

  27. Mas gimana membuat aplikasi untuk merubah Hexa menjadi Char ASCII begitupun sebaliknnya ,,.,.

    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;

    public class MainActivity extends Activity {
    Button kesring,kehexa;
    EditText pindastring,hexa;
    private String Skunci,Spesan,hasildekrip;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    kehexa =(Button)findViewById(R.id.btnhexa);
    kesring =(Button) findViewById(R.id.btnstring);
    pindastring=(EditText)findViewById(R.id.edString);
    hexa=(EditText)findViewById(R.id.edHexa);

    kehexa.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
    Spesan=pindastring.getText().toString();
    Skunci=convertHexToString(Spesan);
    hexa.setText(Skunci);

    }
    });
    }

    public String convertStringToHex(String str){

    char[] chars = str.toCharArray();

    StringBuffer hex = new StringBuffer();
    for(int i = 0; i < chars.length; i++){
    hex.append(Integer.toHexString((int)chars[i]));
    }

    return hex.toString();
    }

    public String convertHexToString(String hex){

    StringBuilder sb = new StringBuilder();
    StringBuilder temp = new StringBuilder();

    //49204c6f7665204a617661 split into two characters 49, 20, 4c…
    for( int i=0; i<hex.length()-1; i+=2 ){

    //grab the hex in pairs
    String output = hex.substring(i, (i + 2));
    //convert hex to decimal
    int decimal = Integer.parseInt(output, 16);
    //convert the decimal to character
    sb.append((char)decimal);

    temp.append(decimal);
    }
    System.out.println("Decimal : " + temp.toString());

    return sb.toString();
    }

    Ini script saya mas mana ya yang salah

  28. makasih mas sangat membantu sekali, tapi mas kalo mau diubah pake algoritma caesar chiper gimana caranya, mohon dibantu ? kalo bisa kirim penjelasannya ke email saya agung5517@gmail.com

  29. titip ninggalin jejak gan, mau minta nama Google+ nya mau ane follow

  30. mas, sudah saya import..tapi kok di eclipse saya, file Dialogs.java banyak yg error ya mas? itu kira-kira kenapa?

  31. Gan kalau menggunakan algoritma RSA bagian mana yang perlu di ganti gan…
    buat referensi TA saya gan…
    trimakasih sebelumnya…

  32. Kalau Algoritma Twofish Ada g mas???
    Mohon sharenya mas,
    saya lagi butuh, menggunakan bahasa java y mas,,,,
    Mohon bantuannya, Terimakasih mas…

  33. maaf gan oot saya ada masalah dengan aplikasi yang saya buat sama tentang sms kriptografi, masalahnya begini gan..
    1.pesan sudah terenkrip+sudah dikirim dan berhasil(via emulator eclipse)
    2.namun pada emulator eclipse penerima hasilnya beda dengan pesan yang dikirim.
    3.lewat HH lancar.
    itu kenapa ya gan. help me..

  34. gan kalau ini di lebih sederhanain gimana yah? pas login, soalnya ada yang ane hapus mlah jadi error semua, ane lg bikin TA tentang ini soalnya, bisa minta fbnya gak? thanx, tolong pencerahannya

  35. bang klw MMS gimana gan, tolong pencerahanx

  36. Bang ada, contoh dengan metode CBC Kriptograpi termodivikasi. ?

  37. gan..kalo semisal di tambahin metode vigenere cipher. itu dimasukin dmn gan algoritma dari vigenere nya. mohon pencerahan nya. makasih.

  38. mas ini kunci aes-256 yang dipakai statis atau dinamis ? kalau dinamis gimana ya gambarannya supaya si penerima bisa mendekripsi pesan sementara kunci simetris yang dipakai untuk mengenkripsi kan selalu berubah2 (kalau dinamis), tapi kalau statis kunci aes-256 nya disimpan diclass mana ya mas?

    Thanks 😀

  39. mas heru kalau mau ganti algoritma nya di mana nya ya mas?

  40. KK kan udah instal d hp gan . tp kok gak bisa nulis smsnya.. g mana yah KK pencerahan dong KK

  41. pagi gan,,, mau tanya ane bikin aplikasi sms enkripsi sederhana tapi ndak pake reply ataupun forward cuma baca sms dari inbox aja. tp kok gk mau keluar ya gan sms nya yg di inbox? supaya bisa ada pemberitahuan(notification) di inbox gimana ya caranya???
    saya pake j2me gan..mohon bantuannya ^_^

  42. bang apa sms yg terkirim langsung ter enkrip, dan kenapa kalo di balas ga masuk ke aplikasi nya ya bang ?
    mohon pencerahannya

  43. mas kalau algoritma aes ini digabung sama vigenere cipher drubahnya yg mana ya??mohon bantuannya 😦

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s