What is AES?
AES is the standard algorithm for block ciphers.
Until now, no critical vulnerabilities that threaten confidentiality have been found, and AES is used in many cases when using symmetric key encryption algorithms in modern times.
Requirements for Symmetric-Key Ciphers
Two important properties of symmetric-key cryptography are confusion and diffusion.
Confusion means that the relationship between the key and the ciphertext should be as complex as possible, with every ciphertext bit depending on several parts of the key.
Diffusion means that the plaintext must be spread out over most of the ciphertext. Even if you change just one bit of the plaintext, about half of the bits of the ciphertext must change.
AES Cipher Structure
AES uses a cryptographic structure called SPN. SPN repeats substitution using S-BOX and permutation using P-BOX over several rounds.
Differences from Earlier Ciphers
AES DES, a previously used block cipher standard, uses a structure called the Pastel structure. In the case of the Pastel structure, calculations are applied to only half of the input in each round, but in the SPN structure, the round function is applied to all inputs in each round, so when using the same number of rounds, the SPN has twice the cryptographic safety as the Pastel structure.
AES Structure
AES is a block cipher that encrypts blocks of 128 bits in size. The key length can be selected from 128, 192, or 256 bits, and the number of rounds is determined as 10, 12, or 14 depending on the key length. If the key length is 128 bits, it is called AES-128, if it is 192 bits, it is called AES-192, and if it is 256 bits, it is called AES-256.
When AES encrypts, each block is first reorganized into a homologous array of 4 rows and 4 columns. One byte is stored in each cell of the homologous array.
Each round function of AES has an inverse function, which is used during the AES decoding process.
(Detailed description of each round function is omitted)