Pada algoritma RC6 operasi pada proses enkripsi telah dikembangkan seperti yang terlihat sebagai berikut.
B= B + S[0] D= D + S[1]
for i = 1 to r do
p = B x 2B+15 q = D x 2D+15
A = A ⊕pq + S[2i]
C = C ⊕q p + S[2i+1]
A,B,C,D = B,C,D,A A = A + S[2r + 2]
C = C + S[2r + 3] Pada kedua operasi enkripsi diatas terdapat beberapa perbedaan mendasar antara
algoritma RC5 dan algoritma RC6. Salah satu perbedaan yang paling mencolok adalah penambahan operasi primitif perkalian pada algoritma RC6 yang mana tidak
ditemukan pada algoritma RC5. Secara sederhana dapat dikatakan perbedaan yang besar pada operasi algoritma
RC5 dengan algoritma RC6 dipengaruhi oleh penggunaan jumlah register. Namun pada algoritma RC6 telah diterapkan transformasi secara menyeluruh pada ke-empat
register nya sehingga dapat mengatasi kelemahan yang dimiliki oleh algoritma RC5 dimana tidak seluruh bit dalam register yang berpengaruh dalam proses rotasi,
sehingga pola hasil enkripsi dapat dipetakan dengan analisis yang mendalam.
3.2.2. Modifikasi RC6 Pada Citra Digital
RC6 merupakan metode chipper blok yang menggunakan blok register sebanyak empat buah blok dengan ukuran masing-masing sebesar 32 bit. Dengan kata lain
setiap blok akan menyimpan empat karakter. Pada citra digital tiap pixel terdiri dari tiga komponen yaitu R, G, dan B. Jika tiga
komponen tersebut digabungkan dalam sebuah blok maka blok tersebut akan memiliki data dengan ukuran 24 bit atau tiga karakter. Secara default kekurangan bit pada tiap
Universitas Sumatera Utara
blok akan diisi oleh bit dari pixel berikutnya sehingga tiap blok akan memiliki ukuran yang sesuai yaitu 32 bit.
Permasalahan yang terjadi adalah jika jumlah pixel tidak sesuai dengan pembagian blok sehingga diperlukan adanya padding atau penambahan bit 0 pada blok register,
jika padding terjadi maka ukuran data hasil enkripsi akan berubah yang berpengaruh pada ukuran citra yang akan berubah dan akan menjadi sulit sekali dalam penyusunan
kembali data hasil enkripsi ke dalam bentuk citra. Untuk mengatasi permasalahan tersebut maka modifikasi algoritma RC6 dengan spesifikasi sebagai berikut.
1. Tiap blok register A, B, C, dan D memiliki ukuran 24bit.
A B C D
2. Nilai konstanta p dan q untuk expansi kunci menggunakan nilai berikut: konstanta Pw dan Qw standart:
Pw = b7e15163 Qw = 9e3779b9
Di modif menjadi: P
24
= b7e151 Q
24
= 9e3779 Dimana nilai konstanta Pw dan Qw standart memiliki nilai 32 bit, expansi kunci Pw
dan Qw standart memiliki 8 digit, pada tiap digit mengandung 4 pixel, jadi jumlah dari 8 digit dikali 4 pixel sama dengan 32 bit total dari expansi kunci.
Pada Pw dan Qw modif memiliki 24 bit karena ada 2 expansi kunci yang tidak digunakan artinya expansi kunci standart dikurangi dengan nilai 8 bit.
xx xx xx xx xx xx
xx xx xx xx xx xx
Universitas Sumatera Utara
Langkah-langkah untuk menyandikan citra dengan RC6 lebih jelasnya dapat dinyatakan dengan diagram seperti terlihat pada Gambar 3.5. berikut ini.
tidak
Gambar 3.5. Diagram Alir Proses Enkripsi Citra
ya Mulai
Input Citra
Baca Nilai Pixel Citra dan Konversikan ke
RGB
Konversi ke ASCII
Enkripsi dengan RC6
Konversikan ke Bentuk RGB Kembali
Ubah Nilai RGB ke bentuk Pixel Kembali
Data Terahir Citra
Simpan Citra Hasil
Selesai Input kunci
Universitas Sumatera Utara
Sedangkan langkah-langkah untuk mengembalikan citra ke bentuk asli deskripsi dengan RC6 dapat dilakukan sesuai dengan diagram seperti pada Gambar
3.6. berikut ini
tidak
Gambar 3.6. Diagram Alir Proses Deskripsi Citra
ya
Mulai
Input Citra Citra
Baca Nilai Pixel Citra dan Konversikan ke
RGB
Konversi ke ASCII
Deskripsi dengan RC6
Konversikan ke Bentuk RGB Kembali
Ubah Nilai RGB ke bentuk Pixel Kembali
Data Terahir Citra
Simpan Citra Hasil
Selesai
Input kunci
Universitas Sumatera Utara
BAB 4 HASIL DAN PEMBAHASAN