base 64 encryption decryption Tutorial PART 2
PREVIOUSLY !!!
Ini merupakan artikel kelanjutan dari artikel Base 64 encryption decryption tutorial sebelumnya. Pada artikel kali ini saya akan coba untuk memberikan satu buah contoh kasus sederhana dengan mengenkripsi satu buah kata menggunakan algoritma Transformasi base 64. Kata yang akan di enkripsi adalah kata “BASE64″.
Berikut ini merupakan beberapa tahapan-tahapan dalam proses enkripsi-dekripsi dengan metode algoritma transformasi base64 :
1. Ubah setiap Karakter ASCII yang telah di input menjadi bilangan decimal dengan menggunakan tabel ASCII yang akurat.
B A S E 6 4
66 65 83 69 54 52
2. Ubahlah setiap bilangan decimal yang telah di peroleh tadi menjadi bilangan biner dimana dari satu karakter ASCII akan diperoleh 8 bilangan
biner.
B A S E 6 4
66 65 83 69 54 52
01000010 01000001 01010011 01000101 00110110 00110100
3. Setelah terbentuk beberapa susunan 8 bit, dimana satu kumpulan 8 bit mewakili 1 karakter ASCII,langkah selanjutnya adalah mengekstrak atau memotong kumpulan-kumpulan 8 bit tersebut menjadi kumpulan-kumpulan biner 6 bit.
B A S E 6 4
66 65 83 69 54 52
01000010 01000001 01010011 01000101 00110110 00110100
010000 100100 000101 010011 010001 010011 011000 110100
4. Kemudian, seteh di dapatkan kumpulan-kumpulan biner 6 bit, nantinya satu kumpulan 6 bit tersebut akan mewakili satu karakter base 64,sebelumnya ubah dahulu kumpulan biner 6 bit tersebut menjadi Decimal 64 radix.
B A S E 6 4
66 65 83 69 54 52
01000010 01000001 01010011 01000101 00110110 00110100
010000 100100 000101 010011 010001 010011 011000 110100
16 36 5 19 17 19 24 52
5. Barulah dari decimal-decimal 64 radix kita akan ubah menjadi karakter base 64, untuk proses tersebut kita akan gunakan tabel 64 radix (dapat dilihat pada artikel sebelumnya “Link url artikel pertama”).
B A S E 6 4
66 65 83 69 54 52
01000010 01000001 01010011 01000101 00110110 00110100
010000 100100 000101 010011 010001 010011 011000 110100
16 36 5 19 17 19 24 52
Q k F T R T Y 0 (hasil enkripsi)
LALU, APA ITU “PADDING (=)” DI DALAM METODE TRANSFORMSI BASE 64 ???
Padding merupakan salah satu syarat yang harus di penuhi di dalam melakukan proses ekripsi dekripsi selama jika padding itu diperlukan atau padding lebih sering disebut sebagai penggenapan biner. Pertanyaannya, Kapan padding itu diperlukan ??
Padding di perlukan ketika susunan biner yang telah di ekstrak menjadi kumpulan 6 bit tidak memenuhi aturan 6 x 4 susunan. Dari contoh diatas dapat kita lihat..susunan biner 6 bit nya telah memenuhi aturan yaitu 6 x 4 (QkFT), 6 x 4 (RTY0),sehingga tidak di perlukan Padding pada contoh diatas…
Namun seandainya jika contoh kasus di atas diubah menjadi BASE64X maka hasilnya akan menjadi…
B A S E 6 4 X
66 65 83 69 54 52 88
01000010 01000001 01010011 01000101 00110110 00110100 01011000
010000 100100 000101 010011 010001 010011 011000 110100 010110 00
16 36 5 19 17 19 24 52 22 ?
Q k F T R T Y 0 W ?
jika dilihat susunan biner di atas ganjil 6 x 4, 6 x 4, 6 x 1, ????, Jadi peranan Padding disini adalah menggenapi susunan 6 bit yang ganjil tersebut, terdapat 2 aturan di dalam menggenapi susunan 6 bit tersebut, antara lain :
1. untuk bilangan yag belum mencapai 6 bit, tambahkan biner 0 hingga mencapai 6 bit kemudian barulah hitung decimal 64 radixnya.
2. setelah langkah pertama, tambahkan biner 1 sebanyak 6 bit-6 bit hingga terbentuk susunan 6 x 4 bit. Implementasinya antara lain :
B A S E 6 4 X
66 65 83 69 54 52 88
01000010 01000001 01010011 01000101 00110110 00110100 01011000
010000 100100 000101 010011 010001 010011 011000 110100 010110 000000 111111 111111
16 36 5 19 17 19 24 52 22 0 = =
Q k F T R T Y 0 W A = =
Jadi, susunan 6 bit di atas menjadi 6 x 4(QkFT), 6 x 4(RTY0), 6 x 4(WA==).
Popularity: 1% [?]



Comment by Mochamad Rasyid on 3 October 2009:
ooo….begitu…jadi nanti pada saat proses dekripsi, ketika karakter yang di deskripsikan itu berupa “=”, langsung di ilangin gitu aja ?
kira – kira, menurut kamu, lebih rumit algoritma yang mana, BASE64 ini atau RC4 ?
Comment by LEO SENJAYA CHANDRA on 5 October 2009:
sama dengan “=” itu merupakan salah satu bagian dari bilangan-bilangan 64 radix jadi ga bisa di hilangkan begitu saja,
sudah saya jelaskan sebelumnya, itu disebut sebagai padding atau fungsi yang digunakan sebagai penggenapan biner,,jadi itu harus ada jika memang di perlukan..coba deh baca lagi sekali lagi baik…
untuk RC4, saya juga belum tahu persis seperti apa…karena di penulisan saya,,saya khusus hanya membahas metode transformasi base 64 beserta implementasinya…tq ya commentny….
Comment by Kemerdekaan kreasi on 21 January 2010:
Slm hormat, ada contoh kode delphi pemakaian teknik enkripsi data menggunakan algoritma enkripsi PR dengan jenis enkripsi simetrik dengan tipe stream cipher, fungsi enkripsi telah dibuat dlm file librari dll,sehingga dapat digunakan oleh bahasa pemrograman lainnya yang dapat mengakses file dll, kode pemakaian fungsi enkripsi dapat dilihat di http://www.ciauldownload.blogspot.com pada bagian artikel, terima kasih