From traditional numbering to block numbering
Block cipher and AES
Rather than processing letters one by one, modern ciphers divide the message into fixed-size blocks and process each block in its entirety.
AES in figures
AES (Advanced Encryption Standard) has been the standard since 2001. It operates on blocks of 128 bits, or 16 bytes, using a key of 128, 192 or 256 bits.
The block is arranged in a 4 × 4-byte square, known as the state:
b0 b4 b8 b12
b1 b5 b9 b13
b2 b6 b10 b14
b3 b7 b11 b15
The four operations of a round
On this state, AES repeats a round consisting of four steps:
SubBytes (each byte is replaced by another, using a table)
ShiftRows (the lines shift to the left)
MixColumns (the columns are all jumbled up)
AddRoundKey (it is combined with the round key using XOR)
The number of rounds depends on the key: 10 rounds for 128 bits, 12 for 192, and 14 for 256.
Each of these steps is reversible, and their sequence produces exactly the desired effect: SubBytes breaks linearity, whilst ShiftRows and MixColumns propagate each input bit to all output bytes. After two or three rounds, changing a single bit in the plaintext has already disrupted the entire block.
Why trust it?
AES was selected following a five-year public competition, during which fifteen candidates were publicly attacked by the community. Twenty years on, no practical attack threatens it: the best-known attacks gain only a negligible advantage over exhaustive search.
A common misconception to avoid: ‘AES-256 is twice as secure as AES-128’. No — it has 2^128 times as many keys. And 2^128 is already beyond the reach of any conceivable machine.

