Malam ini saya menginap lagi di ITSolution, malas pulang karena kalau begadang di rumah pasti jam 2 saya sudah teler. Alhasil gak mandi, bau badan udah kayak kambing, makin gak ada cewek yang mau dekat dengan saya :ngakaks:. Dari tadi siang saya coba-coba untuk membuat tugas machine learning, yang lumayan membuat saya putus asa. Dapat sedikit pencerahan yang cukup sippp di web resmi java, lumayan membuat saya lega+ada nafsu makan lagi :p. Setidaknya ada yang bisa saya tunjukkan ke pak dosen hari selasa besok. Setelah itu saya lanjutkan lagi ber-eclipse ria, masih penasaran dengan tugas kriptografi yang pengumpulannya masih lama. Niatnya biar bisa cepat saya selesaikan, supaya pas UAS nanti bisa santai di rumah + gak ada tanggungan lagi. Nah, kebetulan enkripsi yang saya coba tadi malam tentang AES (Advanced Encryption Standard). Saya coba untuk baca teorinya dan ternyata ruwet juga, ada istilah permutasi, SubBytes, ShiftRows, MixColumns, AddRoundKey, 128 bit, 192 bit, 256 bit, dan kawan-kawannya. Lumayan bikin puyeng ketika saya coba untuk mengimplementasikannya ke android dengan bahasa pemrograman java.
Akhirnya saya menyerah di tahap MixColumns, jadilah saya coba mencari referensi source code’nya di internet. Dan ketika itu pula saya baru tau, kalau di java sudah ada library enkripsi/kriptografi yang sudah lengkap, mulai dari AES, DES, RC4, RC5, dan kawan-kawannya. Beginilah nasib ketika dulu pas dapat mata kuliah java dari 21 kali pertemuan, dosennya cuma nongol selama 4 kali (kampus saya emang JOSSS Tenann…). Dari tutorial yang saya dapatkan di website luar, saya coba untuk mengimplementasikannya di android. Ternyata banyak yang perlu diubah, codingnya tidak instan seperti indomie yang sering saya makan. Karena banyak yang error, saya coba membuat sebuah class sederhana yang hanya tinggal memanfaatkan library cripto (Cipher, Keygenerator, SecretKey, spec.SecretKeySpec) milik java. Bingung memang, tapi syukurlah dokumentasi yang ada di website java sangat lengkap, jadinya sangat terbantu. Setelah jadi, saya coba panggil dari class main activity android dan selesailah tugas saya yang satu ini :D. Skrinsutnya seperti di bawah ini :
Codingnya yang susah sebanding dengan tingkat keamanan yang disajikan oleh enkripsi AES ini. Untuk berpindah ke blok cipher 128, 192, maupun 256 jika enkripsinya kita coding sendiri juga lumayan berat, karena perputaran alias perulangan yang dilakukan akan bertambah 2 kali lipat. Yaw mudah-mudahan saja tugas yang ini diterima oleh pak dosen ;), wong kemarin yang skripsi sama-sama pakai library enkripsi aja boleh masak ini gak boleh sih, kalau tidak diterima saya masih punya 2 cadangan lagi, yaitu Caesar Cipher dan RC4 yang coding manualnya sudah selesai saya kerjakan tadi siang :p. Ouw yaw, bagi rekan-rekan yang ingin mendonwload contohnya, di bawah ini sudah saya sediakan link downloadnya. Seperti biasa, saya taruh di Gudang Download, kalau mau download login dulu, kalau belum terdaftar silahkan daftar dulu. OK deh, sekian dulu postingan saya kali ini, semoga bermanfaat untuk kita semua.
Happy Blogging and Keep Coding
Cheerrrsss….!!!!
membantu banget loh AES androidnya. gan boleh liat yang RC4 ngga? Thanks 🙂
Gunanya Buat apa ini gan 🙂
trimakasih ya kawan 🙂 , bs mnt tolong posting tutorialnya ?
thank yu gan..
sangat membantu..
sorry boleh tnyak gan,.,.,.,,.ini source codennya g ada proses satu per satu dalam metode aes y gan,.,.seperti addround key mix column ,.,.,,.,.ini langsung di enkripsikan y gan dari eclipsnya,..,
bli boleh minta tutorial yg cesar cipher dan rc4.nya nggak, terimakasih
Mas mau tanya, AES yang anda buat apakah 256bit key size nya?dan apakah AES ini termasuk AES256-CBC juga mas?saya sedang ada tugas kuliah untuk membuat chatting sederhana menggunakan pengamanan AES 256 mas..
Terimakasih sebelumnya 🙂 mohon bantuan nya mas..
“saya sudah download file tersebut tp teradi erorr di file enkripsiactivity.java rata” hampir semua line yg erorr mas.. Mohon bantuannya 🙂
maaf mas tulisannya sih configure build path pada saat saya klik package nya..
Min, ini kok proses decrypt ga berjalan ya? bisanya cuman enkrip saja tp pada saar decrypt tidak terjadi apa”, mohon infonya min…
Terimakasih min..