# Block Cipher: Encrypt and Decrypt Online

A block cipher is any method that applies a deterministic algorithm along with a symmetric key to encrypt a block of text, rather than encrypting one bit at a time as in stream ciphers.

A block cipher can also be defined as a method of encrypting text where a cryptographic key and algorithm are applied to a block of data, for example, 64 contiguous bits, at once as a group rather than to one bit at a time.

To put it simply, block ciphers are pseudorandom permutation (PRP) families that operate on fixed-size block of bits.

PRPs refer to functions that cannot be differentiated from completely random permutations and thus, are considered reliable until proven otherwise.

Normally the ciphertext from the previous encrypted block is applied to the next block in a sequence.

The reason for this is to ensure that identical blocks of text do not get encrypted the same way in a message. This makes it harder to decipher the ciphertext.

Also, an initialization vector derived from a random number generator is combined with the text in the first block and the key.

The reason for this is to prevent identical messages encrypted on the same day from producing identical ciphertext.

This ensures that all subsequent blocks result in ciphertext that doesn't match that of the first.