Pengembangan RC5 - RC6

A,B,C,D = B,C,D,A A = A + S[2r + 2] C = C + S[2r + 3] 3. Algoritma Dekripsi, algoritma dekripsi merupakan algoritma yang digunakan untuk operasi dekripsi chipertext menjadi plaintext, berikut algoritma dekripsi. C = C – S[2r+3] A = A – S[2r+2] for i = r downto 1 do A,B,C,D = D,A,B,C p = D x 2D + 1 5 q = B x 2B + 1 5 C = C – S[2i + 1] q ⊕p A = A – S[2i] p ⊕q D = D – S[1] B = B – S[0]

3.2.1 Pengembangan RC5 - RC6

RC6 merupakan metode enkripsi baru yang menggunakan mode blok yang dasar operasinya merupakan pengembangan dari metode RC5. Perancangan metode RC6 didasari oleh pertimbangan dari metode RC5 yang merupakan kandidat yang sangat potensial untuk ditetapkan sebagai AES Advanced Encryption Standart. Untuk memenuhi persyaratan dan kebutuhan yang ditentukan oleh AES, maka metode RC5 dikembangkan menjadi RC6 untuk meningkatkan keamanan dan performa serta memenuhi persyaratan kebutuhan dari AES Ronald L. Rivest, 1998. Salah satu kebutuhan AES, sebuah metode enkripsi harus dapat menangani blok inputoutput dengan ukuran 128bit. Dikarenakan RC5 menggunakan dua buah blok register dalam operasi nya, maka tiap register akan memiliki ukuran 64bit. Namun arsitektur dan bahasa yang dispesifikasikan belum mendukung operasi 64bit dengan efektif dan efisien, oleh karena itulah RC5 kemudian dikembangkan menggunakan Universitas Sumatera Utara empat buah blok yang masing-masing memiliki ukuran 32bit yang kemudian muncullah metode RC6. a b Gambar 3.4. Perbandingan Operasi Algoritma RC5 a dan RC6 b Perbedaan operasi pada RC5 dan RC6 dapat dilihat pada Gambar 3.4 dimana penggunaan jumlah register pada RC5 hanya menggunakan dua register sedangkan pada RC6 menggunakan empat register. Penambahan jumlah register selain ditujukan untuk memenuhi kebutuhan dari AES juga meningkatkan tingkat kompleksitas pada hasil enkripsi sehingga tahan terhadap serangan kriptanalis. Pengembangan berikutnya dari algoritma RC5 dan RC6 adalah tahap operasi pada proses enkripsi dan dekripsi. Berikut algoritma enkripsi pada RC5. A = A + S[0] B = B + S[1] for i = 1 to r do A = A ⊕ B B + S[2i] B = B ⊕ A A + S[2i+1] Universitas Sumatera Utara 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