Stream Cipher vs Block Cipher | State Cipher vs Block Cipher
Dalam kriptografi, cipher Stream dan cipher Blok adalah dua algoritma penyulitan / penyahsulitan yang tergolong dalam keluarga penyekat kunci simetri. Biasanya cipher mengambil teks biasa sebagai input dan menghasilkan ciphertext sebagai output. Block ciphers mengenkripsi blok bit panjang tetap menggunakan transformasi yang tidak berubah. Stream ciphers menyulitkan aliran bit dengan panjang yang berbeza dan menggunakan transformasi yang berbeza-beza pada setiap bit.
Apa itu Stream Cipher?
Stream ciphers tergolong dalam keluarga cipher kunci simetri. Stream ciphers menggabungkan bit teks biasa dengan aliran pseudorandom cipher bit dengan penggunaan operasi XOR (eksklusif-atau). Stream ciphers menyulitkan digit teks biasa satu demi satu dengan transformasi yang berbeza-beza untuk digit berturut-turut. Oleh kerana enkripsi setiap digit bergantung pada keadaan enjin cipher semasa, cipher aliran juga dikenali sebagai cipher keadaan. Biasanya, bit / gigitan tunggal digunakan sebagai satu digit. Untuk mengelakkan masalah keselamatan, pastikan keadaan permulaan yang sama tidak digunakan lebih dari sekali. Streaming cipher yang paling banyak digunakan adalah RC4.
Apa itu Block Cipher?
Blok blok adalah penyekat kunci simetri yang lain. Blok cipher beroperasi pada blok (kumpulan bit) dengan panjang tetap. Blok cipher menggunakan transformasi tetap (tidak berubah) untuk semua digit di blok tersebut. Contohnya, apabila teks biasa blok x-bit (bersama dengan kunci rahsia) disediakan sebagai input ke enjin blok cipher, ia menghasilkan blok ciphertext x-bit yang sesuai. Transformasi sebenarnya bergantung pada kunci rahsia. Begitu juga, algoritma penyahsulitan memperoleh semula blok x-bit biasa dari teks biasa menggunakan blok ciphertext x-bit dan kunci rahsia di atas sebagai input. Sekiranya mesej input terlalu panjang dibandingkan dengan ukuran blok, ia akan dipecah menjadi blok dan blok ini akan (secara individu) dienkripsi menggunakan kunci yang sama. Namun, kerana kunci yang sama digunakan,setiap urutan berulang dalam teks biasa menjadi urutan berulang yang sama dalam teks cipher, dan ini boleh menyebabkan masalah keselamatan. Penyekat blok yang popular ialah DES (Standard Encryption Data) dan AES (Advanced Encryption Standard).
Apakah perbezaan antara Stream Cipher dan Block Cipher?
Walaupun kedua-dua ciphers aliran dan ciphers blok tergolong dalam keluarga ciphers enkripsi simetri, terdapat beberapa perbezaan utama. Block ciphers menyulitkan blok bit tetap dengan bit, sementara stream ciphers menggabungkan bit teks biasa dengan aliran pseudorandom cipher bit menggunakan operasi XOR. Walaupun ciphers blok menggunakan transformasi yang sama, ciphers aliran menggunakan transformasi yang berbeza-beza berdasarkan keadaan enjin. Stream ciphers biasanya dijalankan lebih pantas daripada block ciphers. Dari segi kerumitan perkakasan, cipher aliran agak kurang kompleks. Stream ciphers adalah keutamaan khas daripada block ciphers ketika teks biasa tersedia dalam jumlah yang berbeza-beza (misalnya sambungan wifi yang selamat), kerana block ciphers tidak dapat beroperasi secara langsung pada blok yang lebih pendek dari ukuran blok. Tetapi kadangkala,perbezaan antara stream ciphers dan block ciphers tidak begitu jelas. Sebabnya ialah, ketika menggunakan mod operasi tertentu, block cipher dapat digunakan untuk bertindak sebagai stream cipher dengan membiarkannya mengenkripsi unit terkecil data yang ada.