Streaming Cipher vs Block Cipher | State Cipher vs Block Cipher
Dalam kriptografi, Stream cipher dan Block cipher adalah dua algoritma enkripsi / dekripsi yang termasuk dalam keluarga cipher kunci simetris. Biasanya cipher mengambil teks biasa sebagai input dan menghasilkan ciphertext sebagai output. Blok cipher mengenkripsi blok bit dengan panjang tetap menggunakan transformasi yang tidak bervariasi. Cipher stream mengenkripsi aliran bit dengan panjang yang bervariasi dan menggunakan transformasi yang berbeda pada setiap bit.
Apa itu Stream Cipher?
Cipher stream milik keluarga cipher kunci simetris. Stream cipher menggabungkan bit teks biasa dengan stream bit sandi pseudorandom dengan penggunaan operasi XOR (eksklusif-atau). Cipher stream mengenkripsi digit teks biasa satu per satu dengan berbagai transformasi untuk digit berturut-turut. Karena enkripsi setiap digit tergantung pada kondisi mesin cipher saat ini, stream cipher juga dikenal sebagai cipher negara. Biasanya, bit / gigitan tunggal digunakan sebagai digit tunggal. Untuk menghindari masalah keamanan, harus dipastikan bahwa kondisi awal yang sama tidak digunakan lebih dari sekali. Stream cipher yang paling banyak digunakan adalah RC4.
Apa itu Block Cipher?
Block cipher adalah cipher kunci simetris lainnya. Cipher blok beroperasi pada blok (kelompok bit) dengan panjang tetap. Blok cipher menggunakan transformasi tetap (tidak berubah) untuk semua digit di blok. Misalnya, ketika blok x-bit teks biasa (bersama dengan kunci rahasia) disediakan sebagai input ke mesin blok cipher, ia menghasilkan blok x-bit ciphertext yang sesuai. Transformasi aktual tergantung pada kunci rahasia. Demikian pula, algoritma dekripsi memulihkan blok x-bit asli dari plaintext menggunakan blok x-bit dari ciphertext dan kunci rahasia di atas sebagai input. Dalam hal pesan input terlalu panjang dibandingkan dengan ukuran blok, itu akan dipecah menjadi blok dan blok-blok ini (secara individual) akan dienkripsi menggunakan kunci yang sama. Namun, karena kunci yang sama digunakan, setiap urutan berulang dalam teks biasa menjadi urutan berulang yang sama dalam teks sandi, dan ini dapat menyebabkan masalah keamanan. Cipher blok yang populer adalah DES (Data Encryption Standard) dan AES (Advanced Encryption Standard).
Apa perbedaan antara Stream Cipher dan Block Cipher?
Meskipun baik stream cipher dan cipher blok milik keluarga cipher enkripsi simetris, ada beberapa perbedaan utama. Block cipher mengenkripsi blok bit panjang tetap, sementara stream cipher menggabungkan bit teks biasa dengan pseudorandom bit stream cipher menggunakan operasi XOR. Meskipun cipher blok menggunakan transformasi yang sama, cipher stream menggunakan berbagai transformasi berdasarkan kondisi engine. Streaming cipher biasanya mengeksekusi lebih cepat dari cipher blok. Dalam hal kompleksitas perangkat keras, stream cipher relatif kurang kompleks. Stream cipher adalah pilihan tipikal daripada cipher blok ketika teks biasa tersedia dalam jumlah yang bervariasi (misalnya koneksi wifi yang aman), karena cipher blok tidak dapat beroperasi secara langsung pada blok yang lebih pendek dari ukuran blok. Namun terkadang, perbedaan antara stream cipher dan cipher blok tidak terlalu jelas. Alasannya adalah bahwa, ketika menggunakan mode operasi tertentu, cipher blok dapat digunakan untuk bertindak sebagai stream cipher dengan memungkinkannya untuk mengenkripsi unit data terkecil yang tersedia.