Implementasi Algoritma XOR Chiper Untuk 256 Karakter ASCII Menggunakan Java
Table of Contents
Di artikel sebelumnya, saya pernah berjanji untuk membahas implementasi dari algoritma XOR Chiper menggunakan pemrograman tertentu. Pada kesempatan ini, janji itu benar-benar saya realisasikan. So, saya memberikan bukti, bukan janji doang lho ya. Pada implementasi XOR Chiper ini, saya menggunakan pemrograman java untuk mengkomputerisasikan perhitungan manual saya di artikel Enkripsi dan Deskripsi XOR Chiper untuk 256 Karakter 256 ASCII. Jika teman-teman belum tahu perhitungan manual XOR Chiper, mending baca dulu artikel sebelumnya. Saya tidak lagi membahasnya di sini.
Baik, sebelum masuk ke implementasi, secara garis besar urut-urutan metode yang digunakan adalah sebagai berikut:
Membuat plaintext - Yaitu teks asli yang ingin disampaikan kepada orang tertentu. Agar tidak diketahui orang lain. Plainteks harus di-chiper-kan, menggunakan algortima tertentu. Misalnya XOR Chiper. Sebagai batasan masalah, teks yang dibuat untuk plainteks mengacu pada 256 karakter ASCII. Jika belum tahu karakter ASCII, di artikel sebelumnya sudah saya bahas.
Plaintext to ASCII Code - Mengubah plaintext ke kode ASCII, tentu bersandar pada tabel yang berisikan daftar kode ASCII. Kode ASCII untuk 256 karakter berada dalam rentang 0 hingga 255.
ASCII to Binary - Mengubah Kode ASCII menjadi bentuk biner 8 bit. Mengapa 8 bit? Merujuk pada batas maksimum kode ASCII sebesar 255, akan diperoleh angka biner sebesar 1111 1111. Pada proses ini, setiap kode ASCII bakal diubah menjadi biner.
Encription Process - Proses perhitungan bilangan biner dari setiap karakter plaintext (sudah dalam bentuk biner 8 bit) dengan kunci enkripsi. Dalam program, kunci masih berupa desimal, namun dalam prosesnya, saya ubah menjadi biner 8 bit. Setelah dihitung menggunakan operator XOR, maka didapatkan hasil operasi berupa biner 8 bit. Lalu dikonversi kembali dalam bentuk kode ASCII, untuk kemudian difinalisasi menjadi huruf kembali. Akhirnya, didapatkan chipertext yang sama sekali berbeda dengan plaintext.
Proses diatas telah diterapkan dengan baik dalam program java berikut. Plaintext yang saya gunakan adalah "Awas Brooo", mampu membentuk chipertext "tBTF wGZZZ". Program dibawah ini juga menunjukkan alur tiap proses.
Enkripsi XOR Chiper |
Bagaimana untuk implementasi deskripsinya? Kurang lebih sama saja kok. Cuman, awalannya dimulai dari chipertext dan diakhiri dengan perolehan plaintext yang harus sama dengan plaintext sebelum di-enkripsi. Jika programnya benar dan kuncinya sama. Proses deskripsi bakal menghasilkan plaintext yang diharapkan. Dibawah ini capture dari program deskripsi., InsyaAllah akurat.
Deskripsi XOR Chiper |
Baiklah teman-teman, demikian implementasi XOR Chiper untuk mengangani 256 Karakter ASCII menggunakan pemrograman java. Program ini sangat bisa dikembangkan untuk tugas akhir maupun skirpsi. Jika berminat silakan hubungi saya. Jika perlu, biar saya siapkan link download-nya. Semoga sukses.