Symmetric algorithms are divided into two major categories:
- Stream ciphers: This algorithm encrypts individual bits at a time and therefore requires more processing power. It also requires a lot of randomness, as each bit is to be encrypted with a unique key stream. Stream ciphers are more suitable to be implemented at the hardware layer and are used to encrypt streaming communication, such as audio and video, as it can quickly encrypt and decrypt each bit. The ciphertext resulting from the use of this kind of algorithm is the same size as the original cleartext.
- Block ciphers: With this algorithm, the original message is divided into fixed-length blocks and padded (extended to fulfill the required length) in the ...