Stream Cipher Juni 19, 2008
Posted by cryptobounce in Kriptografi.Tags: Kriptografi Simetrik
trackback
Ok, karena sebelumnya telah dijelaskan tentang block cipher. Maka, pada kesempatan kali ini saya akan menjelaskan mengenai stream cipher…
Langsung aj ya…:-)
Stream Cipher merupakan algoritma kriptografi simetrik yang mengenkripsi plaintext 1 bit/byte per satuan waktu. Pada umumnya, fungsi yang digunakan untuk enkripsi pada stream cipher adalah XOR. Bit plaintext di-XOR dengan rangkaian kunci yang dihasilkan oleh pseudorandom key generator. Karena fungsi yang digunakan untuk enkripsi hanyalah XOR, maka kekuatan dari stream cipher ini terletak pada rangkaian kunci yang digunakan untuk enkripsi.
Rangkaian kunci yang digunakan pada stream cipher bersifat pseudorandom. Artinya rangkaian kunci bersifat semi acak, bit selanjutnya pada rangkaian kunci ini tidak dapat diprediksikan tanpa mengetahui kunci input yang digunakan oleh pseudorandom key generator.
Stream cipher hapir sama dengan seperti one time pad. Perbedaan antara keduanya adalah pada stream cipher rangkaian kunci yang digunakan bersifat pseudorandom (semi acak) sedangkan rangkaian kunci yang digunakan pada one time pad bersifat trully random (benar-benar acak).
Stream cipher terdiri dari 2 macam, yaitu:
- Synchronous Stream cipher
Merupakan algoritma stream cipher dimana rangkaian kunci yang digunakan untuk enkripsi dihasilkan secara independen terhadap plaintext dan ciphertext. Artinya Dalam menggenerate rangkaian kunci, hanya dipengaruhi oleh kunci input pada pseudorandom key generator dan tidak dipengaruhi oleh plaintext dan ciphertext.
- Asynchronous Stream Cipher
Merupakan algoritma stream cipher dimana rangkaian kunci yang digunakan untuk enkripsi, dihasilkan oleh pseudorandom key generator akan dipengaruhi oleh ciphertext sebelumnya. Artinya, dalam menghasilkan rangkaian kunci, pseudorandom key generator tidak hanya membutuhkan masukan berupa kunci input, tetapi juga sejumlah bit dari ciphertext yang dihasilkan sebelumnya.
Mendesain suatu algoritma stream cipher bukanlah hal yang mudah, karena perlu memperhatikan beberapa hal sebagai berikut:
- Rangkaian kunci yang digunakan untuk proses enkripsi sebaiknya memiliki periode yang panjang, atau bila perlu, panjang periode lebih besar dibandingkan panjang plaintext.
- Sebaiknya rangkaian kunci yang dihasilkan oleh pseudorandom key generator sebisa mungkin memiliki kriteria/sifat yang hampir mendekati trully random. Misalnya jum;lah bit 1 dan 0 hampir sama.
- Kunci input yang digunakan oleh Pseudorandom key generator sebaiknya memiliki panjang bit >128. Hal ini dimaksudkan untuk menghindari brute force attack.
So, udah siap untuk mendesain algoritma stream cipher???
Komentar»
No comments yet — be the first.