It’s common to use encryption methods that best suit the task at hand. In this video, you’ll learn about the differences between stream ciphers and block ciphers.
<< Previous Video: Steganography Next: States of Data >>
We communicate across the network in different ways. And because of this, we use different types of encryption, depending on the type of communication we’re performing. If we’re streaming information across the network in real time, then we’ll need to encrypt this information using a stream cipher.
With a stream cipher, the encryption is done one bit or one byte at a time. This is encryption that is considered to be high speed and it can be done on hardware that doesn’t require a lot of complexity. We commonly use symmetric encryption for stream ciphers. We don’t usually use asymmetric encryption because of the overhead that’s required.
Because we’re sending such small pieces of information with a stream cipher, it would not be uncommon to send duplicates of information consecutively. In order to make the similar information appear very different once encrypted, we would usually combine it with an initialization vector. And this makes all of the traffic that’s being streamed look very different from one another.
Block ciphers are dealing with larger groups of information to encrypt, usually with 64-bit or 128-bit blocks. If the block is smaller than that, there will usually be a padding of information to bring it up to the minimum level. Each block is going to be encrypted and decrypted independently from the other blocks that we’re using.
Block ciphers commonly use symmetric encryption, which is very similar to the stream ciphers. And the type of encryption that’s occurring will depend on the cipher that you choose. There are different ciphers or different modes of operation that you could choose for block ciphers. And the type of block cipher mode for your data will depend on your specific requirements.