## Block Symmetric Ciphers

Block ciphers work on larger fragments of data (called blocks) at a time, by encrypting data blocks one by one. During encryption input data are divided into blocks of fixed-length and each of them is processed by several functions with the secret key. Both lengths of data block and key, and the functions using in the process are determined by the algorithm. The inverse functions are used for decryption.

Block cipher algorithms are often able to combine data from different blocks in order to provide additional security (e.g. AES in CBC mode).

Block ciphers may be described as efficient and deterministic functions, which permute contents of all data blocks. They simply mix all the bits in each block. Permutation functions must be pseudorandom and the output should be indistinguishable from pure random data. To allow decryption, the inverse permutations must be used. The inverse permutations need also to be quite efficient.