Tulisan ini dibuat karena terinspirasi oleh munculnya iklan sebuah layanan tambahan yang diselenggarakan oleh salah satu operator seluler GSM di sebuah harian terkemuka di Indonesia. Aplikasi yang dipromosikan dalam media tersebut, membutuhkan aplikasi yang masing-masing harus diinstall di HP si pengirim dan si penerima SMS rahasia tersebut. Platform aplikasi yang dipakai di kedua sisi HP baik pengirim dan penerima adalah Java, atau lebih tepat lagi adalah J2ME MIDP 2.0 atau Java 2 MicroEdition Mobile Information Device Profile, yaitu sebuah platform/profil khusus pada perangkat ponsel yang menggunakan bahasa pemrograman Java sebagai bahasa untuk pembangunnya. Nah, pertanyaan paling manarik dari aplikasi ini tentu saja adalah bagaimana sebuah pesan SMS dengan format Teks (ASCII) dapat dienkripsi atau disandikan dengan tetap menggunakan maksimal 160 karakter seperti halnya sebuah SMS standar.
Cara kerja
Dalam sebuah aplikasi yang mengedepankan unsur keamanan, tentunya salah satu bagian tama yang akan diimplementasikan adalah metode enkripsi atau pengacakan terhadap pesan yang diketikkan. Konsepnya adalah bagaimana kemudian kode yang telah diacak tersebut dapat dibuka atau dibaca kembali hanya oleh pembaca tertentu yang memiliki kuncinya sesuai dengan keinginan sang pengirim.
Istilah untuk pengacak pesan ini adalah cipher, namuun beberapa lebih senang menyebut dengan ‘salt’, sedangkan pembukanya sering disebut dengan digest. Algoritma atau Metode enkripsi yang dapat digunakan pada aplikasi ponsel sangat dipengaruhi oleh kemampuan dan kecepatan pemrosesan dari handset yang bersangkutan, serta ukuran dari aplikasi yang dihasilkan setelah metode tersebut diterapkan. Pemilihan metode enkripsi mana yang digunakan sangatlah penting dan mempengaruhi berapa waktu rata-rata yang dibutuhkan untuk memproses pesan yang diketikkan untuk kemudian dikirimkan ke penerima yang dimaksud. Karena keterbatasan ponsellah yang membuat rata-rata metode enkripsi yang diterapkan masihlah cukup sederhana dibandingkan berbagai metode enkripsi yang banyak berkembang saat ini. Salah satu nya diterapkan dalam library atau pustaka Bouncy Castle. Dalam tabel 1, data yang ada ditentukan berdasarkan waktu pemrosesan rata-rata terhadap 100 karakter yang diketikkan secara acak. Hasil pengacakan terhadap sebuah pesan tersebut tidak lagi berupa pesan yang dapat dibaca atau diterjemahkan secara langsung oleh mata manusia yang membacanya Data yang diacak akan berupa data biner atauu dikenal dengan istilah data bit alias binary digit misalnya 010000100010001 dan sebagainya.
from Email my friend.
keren tulisannya.. :D
BalasHapusTrimakasih sobat... :D
Hapusingin tanya kegunaan kelas org.bouncycastle.mail.smime.SMIMEEnveloped seperti di contoh kode sumber ini boleh pak https://github.com/phax/as2-lib/blob/master/as2-lib/src/main/java/com/helger/as2lib/crypto/BCCryptoHelper.java#L359 ? terima kasih
BalasHapusmaaf... masih banyak kekurangan saya. dulu blm hatam bljr programing java nya sobat.. hehe
Hapus