Perbaikan DES yang telah ada

30 Sedemikian rumitnya perbaikan algoritma DES dengan pendekatan terakhir inilah kiranya yang membuat pendekatan ini belum pernah dilakukan hingga kini.

4.3. Perbaikan DES yang telah ada

Beberapa algoritma telah dibuat guna memperbaiki kinerja dan keamanan DES, dan beberapa algoritma itu di antaranya adalah 2DES, 3DES, NewDES, DES-G, dan DES-X. Kelak DES-Aku juga akan ikut dalam jajaran perbaikan algoritma DES ini. 2DES dan 3DES mengambil pendekatan memperpanjang kunci hingga beberapa kali lipatnya dengan maksud mengubah kunci yang panjang tadi ke dalam beberapa kunci yang pendek, hingga algoritma DES dilakukan beberapa periode secara simultan dimana penyandian DES pada periode ke-n akan menyandikan hasil penyandian dari proses penyandian DES di periode ke n-1. Hal ini dilakukan karena secara struktur, algoritma DES memang tidak dapat menerima aliran kunci di atas 56 bit, dengan demikian untuk mensimulasikan penggunaan kunci yang panjang, maka harus diperlakukan sebagai rentetan beberapa kunci yang pendek. Pendekatan yang dilakukan oleh 2DES dan 3DES tentu saja efektif untuk memperkuat algoritma DES secara linear, hingga secara teoritis kekuatan nDES akan meningkat n-kali, karena dilakukan sebanyak n-periode. Namun pendekatan ini memiliki kelemahan yang cukup besar, yaitu dari waktu eksekusi yang akan menjadi semakin lambat juga secara linear. Algoritma nDES akan menghasilkan waktu keterlambatan yang juga n-kali bila dibandingkan dengan waktu eksekusi algoritma DES biasa. Baik algoritma 2DES maupun 3DES telah mewarisi kekuatan DES yang memiliki stuktur algoritma yang lebih rumit dari DES, 2DES dan 3DES ternyata juga memiliki kompleksitas algoritma On, dengan waktu eksekusi berbanding lurus dengan besarnya plainteks yang disandikan. Hasil pengujian algoritma 2DES yang dilakukan oleh peneliti ketika menguji kecepatan algoritma 2DES terhadap beberapa plainteks yang berbeda ukuran, disajikan pada gambar berikut. 31 Waktu eksekusi 2DES terhadap ukuran plainteks 1 KB 3 KB 5 KB 7 KB 9 KB y = 5E-05x + 9E-05 R 2 = 0.9903 0.00005 0.0001 0.00015 0.0002 0.00025 0.0003 0.00035 0.0004 1 2 3 4 5 6 Gambar 8 Waktu eksekusi 2DES terhadap ukuran plainteks NewDES, GDES, dan DES-X adalah tiga buah algoritma yang juga dibuat dengan tujuan untuk memperbaiki kelemahan DES, namun semua itu telah terbukti kini secara definitif malah tidak lebih aman daripada algoritma DES yang asli. Namun demikian ide-ide yang dilahirkan oleh ketiga algoritma ini tetap dapat dihargai. NewDES menyoroti kelemahan DES dari sisi kompeksitas algoritma yang mengolah data biner, pengolahan seperti ini tentu saja sulit diaplikasikan di beberapa bahasa pemrograman, di samping akan meningkatkan kompleksitas algoritma. NewDES mencoba untuk mengubah struktur algoritma DES hingga akhirnya bekerja dengan mengolah data karakter dan membuatnya lebih sederhana hingga mudah diaplikasikan dalam bahasa pemrograman apapun, dan memberikan kompleksitas algoritma yang lebih sederhana. GDES mencoba untuk mengubah jaringan Feistel agar dapat mengolah pesan dengan ukuran blok yang lebih besar. Pada setiap ronde, fungsi DES diterapkan pada 32 bit subblok yang paling kanan. Hasilnya kemudian di-XOR- kan dengan bagian lainnya, dan di akhiri dengan pergeseran bit ke kanan sejauh 32 langkah. Algoritma turunan DES yang terakhir adalah DES-X, yang telah menyumbangkan ide penggunaan key whitening. Key whittening adalah suatu ide untuk menambah jumlah bit kunci dengan menggunakan kunci tambahan. Kunci tambahan disini tidak diikutkan dalam proses derifasi kunci, dan hanya digunakan 32 untuk melakukan operasi XOR tepat sebelum dan sesudah dilakukan penyandian pada setiap rondenya.

4.4. Desain DES-Aku