A symmetric key form of encryption that transforms an unencrypted text into a block of enciphered data via a user-selected key. A block cipher applies the encryption algorithm and the key to an entire block of data (multiple bits), instead of one at a time. Another method of doing this is known as a stream cipher.

Block ciphers engage initialization vectors to ensure that if the same document is encrypted on the same day on the same computer, it will still produce a different ciphertext.

Individual bytes in a block are substituted by a substitution mapping called an S-box, and are then shifted around inside the block. Next, a mixing section performs matrix multiplication, before finally being XORed (added) with a sub-key.

The mixing section is the meatiest part of the cipher. It is heavily based on Balanced Block Mixing, which provides no encryption strength in itself, but leads the way for complex substitution tables, where the real strength of the encryption is found.

Some well known block ciphers: