Block size (cryptography)

From Wikipedia, the free encyclopedia

In modern cryptography, symmetric key ciphers are generally divided into stream ciphers and block ciphers. Block ciphers operate on a fixed length string of bits. The length of this bit string is the block size. Both the input (plaintext) and output (ciphertext) are the same length; the output cannot be shorter than the input — this is logically required by the Pigeonhole principle and the fact that the cipher must be invertible — and it is simply undesirable for the output to be longer than the input.

Until the announcement of NIST's AES contest, the majority of block ciphers followed the example of the DES in using a block size of 64 bits (8 bytes). However the Birthday paradox tells us that after accumulating a number of blocks equal to the square root of the total number possible, there will be an approximately 50% chance of two or more being the same, which would start to leak information about the message contents. Thus even when used with a proper encryption mode, only 2^{32} \times 8 B = 32 GB of data can be safely sent under one key. In practice a greater margin of security is desired, restricting a single key to the encryption of much less data - say a few hundred megabytes. Once that seemed like a fair amount of data, but today it is easily exceeded. (If the cipher mode does not properly randomise the input, the limit is even worse).

Consequently AES candidates were required to support a block length of 128 bits (16 bytes). This should be acceptable for up to 2^{64} \times 16 B = 256 Exabytes of data, and should suffice for quite a few years to come. The winner of the AES contest, Rijndael, supports block sizes of 128, 192, and 256 bits, although the extra block sizes were not adopted by the AES standard.

A few block ciphers, such as RC5, support a variable block size. The Luby-Rackoff construction and the Outerbridge construction can both increase the effective block size of a cipher.

Joan Daemen's 3-Way and BaseKing have unusual block sizes of 96 and 192 bits, respectively.


Block ciphers
v  d  e
Algorithms: 3-Way | AES | Akelarre | Anubis | BaseKing | Blowfish | C2 | Camellia | CAST-128 | CAST-256 | CMEA | Cobra | Crab | CS-Cipher | DEAL | DES | DES-X | DFC | E2 | FEAL | FROG | G-DES | GOST | Grand Cru | Hasty Pudding Cipher | Hierocrypt | ICE | IDEA | IDEA NXT | Iraqi | KASUMI | KHAZAD | Khufu and Khafre | Libelle | LOKI89/91 | LOKI97 | Lucifer | MacGuffin | Madryga | MAGENTA | MARS | Mercy | MESH | MISTY1 | MMB | MULTI2 | NewDES | NOEKEON | NUSH | Q | RC2 | RC5 | RC6 | REDOC | Red Pike | S-1 | SAFER | SC2000 | SEED | Serpent | SHACAL | SHARK | Skipjack | SMS4 | Square | TEA | Triple DES | Twofish | XTEA
Design: Feistel network | Key schedule | Product cipher | S-box | SPN   Attacks: Brute force | Linear / Differential / Integral cryptanalysis | Mod n | Related-key | Slide | XSL
Standardization: AES process | CRYPTREC | NESSIE   Misc: Avalanche effect | Block size | IV | Key size | Modes of operation | Piling-up lemma | Weak key
Cryptography
v  d  e
History of cryptography | Cryptanalysis | Cryptography portal | Topics in cryptography
Symmetric-key algorithm | Block cipher | Stream cipher | Public-key cryptography | Cryptographic hash function | Message authentication code | Random numbers
In other languages