![...](/f/5b09b2eb0a35975a0b45890c50860b28.jpg)
Cipher aliran sangat cocok untuk aplikasi perangkat keras waktu nyata.
Cipher adalah seperangkat aturan matematika, atau algoritma, yang digunakan untuk mengubah teks yang dapat dibaca, atau teks biasa, menjadi teks yang tidak dapat dibaca, atau teks sandi. Perbedaan prinsip antara stream cipher dan block cipher adalah bahwa stream cipher bekerja pada aliran teks, satu bit atau satu byte pada satu waktu, sedangkan block cipher bekerja pada blok teks.
Stream Cipher
Ide dasar dari stream cipher adalah untuk membagi teks menjadi blok-blok kecil, panjang satu bit atau satu byte, dan mengkodekan setiap blok tergantung pada banyak blok sebelumnya. Cipher aliran menggunakan kunci enkripsi yang berbeda -- nilai yang harus dimasukkan ke dalam algoritma -- untuk setiap bit atau byte, sehingga bit atau byte yang sama menghasilkan teks sandi yang berbeda setiap kali dienkripsi. Beberapa stream cipher menggunakan generator keystream, yang menghasilkan aliran bit secara acak, atau hampir acak. Cipher melakukan operasi Boolean, yang dikenal sebagai OR eksklusif, antara bit di keystream dan bit di plaintext untuk menghasilkan ciphertext.
Video Hari Ini
Blok Cipher
Ide dasar dari cipher blok adalah untuk membagi teks dalam blok yang relatif besar, biasanya panjang 64 atau 128 bit, dan mengkodekan 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 matematika lainnya dilakukan pada masing-masing memblokir. Algoritma yang kuat berarti bahwa merekayasa balik cipher, atau menentukan fungsi mana yang dilakukan pada setiap blok, dengan urutan yang hampir tidak mungkin.
Difusi dan Kebingungan
Block cipher menggunakan teknik yang dikenal sebagai kebingungan dan difusi untuk mengenkripsi plaintext menjadi ciphertext. Ide dibalik kebingungan adalah untuk membuat hubungan antara kunci enkripsi dan ciphertext serumit mungkin. Idealnya, setiap karakter dalam kunci enkripsi harus mempengaruhi setiap karakter dalam ciphertext. Sebaliknya, difusi menyebarkan pengaruh setiap karakter dalam plaintext ke beberapa karakter dalam ciphertext, membuat cipher kurang rentan terhadap serangan statistik.
Pro dan kontra
Fakta bahwa stream cipher mengenkripsi dan mendekripsi data satu per satu berarti bahwa mereka sangat cocok untuk aplikasi perangkat keras waktu nyata, seperti aplikasi audio dan video. Stream cipher lebih lemah dan kurang efisien daripada block cipher dalam hal aplikasi perangkat lunak dan lebih jarang digunakan di bidang itu. Block cipher lebih mudah diimplementasikan dalam perangkat lunak karena mereka mengenkripsi data dalam blok dengan panjang yang sudah digunakan perangkat lunak. Kunci enkripsi seringkali sama panjangnya dengan ukuran blok.