Implementasi Stream Cipher
Pendahuluan
Berkembangnya teknologi komunikasi dan informasi telah memberikan kecepatan dan kemudahan bagi manusia dalam mengolah maupun bertukar informasi. Akan tetapi, seiring dengan hal tersebut berkembang pula ancaman β ancaman terhadap keamanan informasi terutama informasi yang bersifat rahasia. Salah satu teknik yang dapat dilakukan untuk mengamankan suatu informasi adalah dengan menggunakan kriptografi.
Secara umum kriptografi dapat diklasifikasikan menjadi dua, yaitu kriptografi kunci simetrik (symmetric key cryptography) yang berarti kunci yang digunakan untuk enkripsi sama dengan kunci yang digunakan untuk dekripsi, dan kriptografi kunci asimetrik (public key cryptography).
Secara umum, kriptografi kunci simetrik dibagi menjadi dua yaitu stream cipher dan block cipher. Pada stream cipher proses menyandi dilakukan terhadap karakter setiap teks terang per satuan waktu. Sedangkan pada block cipher proses menyandi dilakukan terhadap kelompok karakter teks terang atau dalam blok teks terang (Menezes et al. 1997).
Untuk mengimplementasikan algoritma kriptografi ke dalam suatu aplikasi, diperlukan beberapa tahapan evaluasi terhadap beberapa calon algoritma. Dari beberapa calon algoritma tersebut akan dipilih satu algoritma yang memenuhi standar evaluasi terbaik untuk diimplementasikan pada aplikasi yang diinginkan.
Implementasi Algoritma Stream Cipher
Jika algoritma stream cipher akan diimplementasikan pada suatu aplikasi tertentu, maka perlu dilakukan penyeleksian. Seleksi dilakukan untuk menentukan algoritma stream cipher yang akan diimplementasikan sesuai dengan environment dan requirement yang dibutuhkan oleh aplikasi tersebut.
Ada beberapa project dari organisasi tertentu yang melakukan evaluasi terhadap algoritma stream cipher dengan tujuan masing β masing. Beberapa project yang dimaksud antara lain:
NESSIE (New European Schemes for Signature,Integrity and Encryption)
Merupakan suatu research project yang dilaksanakan oleh information Societies Technology (IST). Project ini bertujuan untuk mencari suatu algoritma yang baik diterapkan pada berbagai environment serta baik secara keamanannya. Project ini mempunyai beberapa kriteria antara lain long-term security, market rrequirement, efisiensi dan fleksibilitas serta dapat diimplementasikan pada lingkungan yang spesifik.
Beberapa Evaluasi yang dilakukan oleh NESSIE
Security evaluation
Hasil yang diharapkan dari evaluasi ini adalah algoritma yang tahan terhadap kriptanalisa standar, lolos uji statistik dan perkiraan jangka waktu pengamanan yang diberikan.
Performance Evaluation
Merupakan bagian terpenting dalam menilai suatu algoritma: efisiensi adalah kriteria yang sangat penting dalam menentukan penerapan suatu algoritma.
Metodologi
Setiap kandidat dibagi menjadi tiga bagian yaitu setup, precomputation, algoritma utamanya. Kemudian masing β masing algoritma kandidat akan dites pada empat platform yang berbeda. Empat platform tersebut adalah smart cards, 32 βbit PCs, 64- bit machines dan Field Programmable Gate Arrays (FPGA).
Beberapa parameter yang digunakan sebagai alat ukur performance pada empat platform tadi antara lain RAM, kecepatam, code size, chip area dan power consumption.
Selain kedua evaluasi sebelumnya project ini juga mempertimbangkan resistansi implementasi yang dilakukan terhadap physical attack misalnya timing attack, fault analysis dan power analysis.
eSTREAM
Adalah project yang dilakukan oleh The European Network of Excellence for Cryptography (ECRYPT) dengan tujuan untuk mengidentifikasi algoritma stream cipher yang mungkin dapat diimplementasikan pada berbagai environment, tahan terhadap negative cryptological or technical issue serta algoritma yang prospek pengembangannya pada masa yang akan datang bagus.
Metodologi yang digunakan hampir sama dengan metodologi yang diterapkan oleh NESSIE.