This week we are looking at Block cipher and stream cipher. We are asked to discuss the
difference between the two. To have a good discussion, I believe that we first need to be
clear on what each of the ciphers are.
A block cipher encrypts data in blocks using a deterministic algorithm and a symmetric
key. Block ciphers have the advantage of high diffusion and strong tamper resistance
without detection.
Stream cipher, on the other hand, is an encryption technique that works byte by byte to
transform plain text into code that's unreadable to anyone without the proper key. The
benefits of using stream cipher is speed, low complexity, ease of use.
Therefore we see a difference between a block cipher and a stream cipher where block
cipher converts the plain text into cipher text by taking plain text’s by blocks at a time.
While stream cipher Converts the plain text into cipher text by taking 1 byte of plain text
at a time.
It is more efficient to use block ciphers when the size of the data is known, an example of
this would be file encryption or knowing specific-sized for a database field.
Stream ciphers work well for large or small chunks of data and when speed is a concern.
Source:
Sohaila Omer Sharif and S. P. Mansoor, "Performance analysis of stream and block cipher
algorithms," 2010 3rd International Conference on Advanced Computer Theory and
Engineering (ICACTE), 2010, pp. V1-522-V1-525, Doi: 10.1109/ICACTE.2010.5578961.
https://techdifferences.com/difference-between-block-cipher-and-stream-cipher.html
https://www.hypr.com/black-cipher/
https://www.okta.com/identity-101/stream-cipher/#:~:text=A%20stream%20cipher%20is
%20an,both%20encrypts%20and%20decrypts%20messages.
https://www.linkedin.com/pulse/symmetric-block-cipher-versus-stream-darril-
gibson#:~:text=Block%20ciphers%20are%20more%20efficient,easier%20to%20crack
%20the%20encryption.
https://www.wolfssl.com/the-benefit-of-stream-ciphers/