# What is the comparison between Stream Cipher and Block Cipher in information security?

## Stream Cipher

A stream cipher is one that encrypts a digital data flow one bit or one byte at a time. Stream Cipher generally encrypts one byte of the message at that moment rather than using blocks.

For example, classical stream ciphers are the auto crucial Vigenère cipher and the Vernam cipher. In the conceptual case, a one-time pad version of the Vernam cipher can be used, in which the key stream is considering the plaintext bit stream.

If the cryptographic key stream is arbitrary, therefore this cipher is unbreakable by some different means other than realizing the key stream. However, the key stream should be provided to both users in advance through some independent and secure channel.

This recommend insurmountable logistical issues if the intended data traffic is very high. The bit-stream generator should be performed as an algorithmic process, so that the cryptographic bit flow can be created by both users.

In this method, the bit-stream generator is a key-controlled algorithm and should make a bit stream that is cryptographically powerful. Now, the two users required only share the generating key, and each can create the key stream.

## Block Cipher

A block cipher is one in which a block of plaintext is considered as a whole and used to create a cipher text block of same length. Generally, a block size of 64 or 128 bits is used. Block Cipher takes a message and divide it into a fixed size of blocks and change one block of the message at an instant.

A block cipher works on a plaintext block of n bits to create a cipher text block of n bits. There are possible several plaintext blocks and, for the encryption to be changeable (i.e., for decryption to be possible), each should create a unique cipher text block. Such transformation is also known as reversible, or non-singular.

Block ciphers are based on mathematical objects known as Pseudo Random Permutations (PRP). They are invertible functions that create as input an n-bit value m and a secret key k, and output an n-bit value c.

A PRP is treated secure if, fixed with a key k, the resulting function is identical from a random bijective function on n-bit values. Block ciphers perform a secure PRP.

They are made of an encryption function that is capable to encrypt a plaintext block into a ciphertext block using a secret key. A decryption function that implements the inverse operation and fetch the plaintext block from the ciphertext.

The main difference between stream and block ciphers based on the size of the information that are handled in each encryption. Stream ciphers encrypt one bit at a time from a bitstream and this results in the encrypted message having a bit-to-bit agreement with the plaintext message.