Apa perbedaan antara enkripsi aliran dan enkripsi blok?

Enkripsi aliran baik untuk aplikasi perangkat keras waktu nyata.

Enkripsi aliran

Ide dasar dari flow cipher adalah membagi teks menjadi blok kecil, satu bit atau satu byte panjang, dan kode setiap blok tergantung pada banyak blok sebelumnya. Enkripsi aliran menggunakan kunci pengkodean yang berbeda, nilai yang harus dimasukkan ke dalam algoritma, untuk setiap bit atau byte, sehingga menghasilkan teks terenkripsi yang berbeda setiap kali dikodekan. Beberapa stream cipher menggunakan generator aliran kunci, yang menghasilkan bitstream secara acak, atau hampir secara acak. Enkripsi melakukan operasi Boolean, yang dikenal sebagai OR eksklusif, antara bit dalam aliran kunci dan bit dalam teks biasa untuk menghasilkan teks terenkripsi.

Blokir enkripsi

Ide dasar dari blok cipher adalah membagi teks menjadi blok yang relatif panjang, biasanya 64 atau 128 bit, dan kode setiap blok secara terpisah. Kunci enkripsi yang sama digunakan untuk setiap blok dan itu adalah kunci enkripsi yang menentukan urutan di mana substitusi, transportasi dan fungsi-fungsi matematika lainnya dilakukan di setiap blok. Algoritme yang kuat berarti bahwa rekayasa terbalik dari sistem enkripsi, atau penentuan fungsi apa yang dilakukan di setiap blok, dalam urutan apa, hampir tidak mungkin.

Difusi dan kebingungan

Enkripsi blok menggunakan teknik yang dikenal sebagai kebingungan dan difusi untuk mengonversi teks biasa menjadi teks terenkripsi. Gagasan di balik kebingungan adalah untuk membuat hubungan antara kunci enkripsi dan teks sederhana serumit mungkin. Idealnya, setiap karakter kunci enkripsi harus memiliki pengaruh pada setiap karakter dari teks terenkripsi. Sebaliknya, difusi memperluas pengaruh masing-masing karakter dalam teks biasa atas beberapa karakter dalam ciphertext, membuat enkripsi kurang rentan terhadap serangan statistik.

Pro dan kontra

Fakta bahwa enkripsi aliran mengenkripsi dan mendekripsi informasi satu bit pada satu waktu berarti bahwa mereka sangat mudah beradaptasi dengan aplikasi perangkat keras real-time, seperti aplikasi audio dan video. Enkripsi aliran lebih lemah dan kurang efisien daripada enkripsi blok ketika datang ke aplikasi perangkat lunak dan digunakan lebih jarang di daerah itu. Enkripsi blok lebih mudah diterapkan dalam perangkat lunak karena mengenkripsi informasi dalam blues panjang yang sudah digunakan perangkat lunak. Kunci enkripsi sering memiliki panjang yang sama dengan ukuran blok.