Beberapa waktu lalu saya sudah sedikit “bercerita” tentang block cipher yah.. Beberapa waktu yang lalu juga saya liat ada yang mencoba cari tau tentang kriteria algoritma kriptografi yang baik.. Nah, saya mau membagi sedikit lagi ilmu saya..
Pada prinsipnya, block cipher itu:
- meng-enkripsi blok-blok yang berisi bit-bit data.
- Operasinya biasanya menggabungkan fungsi transposisi (tukar posisi) dan substitusi (penggantian). Hal ini dilakukan untuk memenuhi prinsip difusi (penyebaran bit-bit) dan peng-cover-an istilahnya sehingga bit-bit dari cipherteks yang dihasilkan benar-benar acak dan sulit untuk dianalisis.
- komputasi yang dilakukan terhadap blok-bloknya biasanya diulang berkali-kali, pengulangan ini disebut round. Setiap round menggunakan subkey (bit-bit kunci yang dihasilkan oleh pembangkit bilangan acak (RNG)) yang berbeda.
Secara garis besar yang bisa saya tangkap di kuliah saya, prinsip design algoritma block cipher yang baik itu menurut Shannon harus memenuhi prinsip confusi dan diffusi . Intinya kita menghilangkan hubungan statistik antara huruf-huruf pada cipherteks dan message (ini yang confusi) dan mengacak susunan pesan. Jadi pesannya gak bisa kebaca deh..
Selain itu, Lars Rmkilde Knudsen juga memeberikan prinsip design algoritma block cipher yang baik, yaitu:
- ukuran block dan kuncinya harus besar
- tahan terhadap berbagai attack (untuk pembahasan jenis2 attack yang mungkin pada cipherteks ntar dulu ya,, ntar InsyaAllah)
- kuncinya bagus,maksudnya saat digenerate bisa menghasilkan subkey yang benar2 acak
- relasi antara cipherteks dan message kompleks
Secara umum, arsitektur block cipher itu ada 3 klasifikasi, yaitu SPN (substitution Permutation Network, Feistel Network, dan others( maksudnya ada lagi yang lain ,tapi sifatnya lebih khusus dan jarang)
Apaan lagi tuh??? Mode belum, arsitektur belum, evaluasi design yang baik belum..
Wah pe-er saya ada banyak..
Lanjutin ntar lagi yah.. Sementara ini dulu yang bisa saya bagi.. Selamat belajar
