IMG_5202.jpeg
Document Details

Uploaded by ComfortingMountain2451
Full Transcript
# Advanced Encryption Standard (AES) ## History of AES - **1997**: NIST called for proposals for a successor to DES - **1998**: 15 submissions - **1999**: NIST selected 5 finalists - MARS, RC6, Rijndael, Serpent, Twofish - **2000**: NIST selected Rijndael as the AES cipher - **2001...
# Advanced Encryption Standard (AES) ## History of AES - **1997**: NIST called for proposals for a successor to DES - **1998**: 15 submissions - **1999**: NIST selected 5 finalists - MARS, RC6, Rijndael, Serpent, Twofish - **2000**: NIST selected Rijndael as the AES cipher - **2001**: AES published as FIPS 197 - Designed by Joan Daemen and Vincent Rijmen - AES is a symmetric block cipher - Block size: 128 bits - Key size: 128, 192, or 256 bits ## High-Level Structure of AES - AES is **not** a Feistel network - Processes the entire data block in parallel during each round - AES is built up of 4 different transformations: 1. **Substitute bytes**: Uses an S-box to perform a byte-by-byte substitution of the block 2. **Shift rows**: Permutation performed row by row 3. **Mix columns**: Matrix multiplication column by column 4. **Add round key**: XOR each byte of the state with a subkey ### AES Encryption Round The image shows the steps in a single round of AES encryption. The input is the "state" (a $4 \times 4$ matrix of bytes). The steps are: 1. **ByteSub Transformation**: Each byte in the state is replaced with its corresponding value in the S-box lookup table. 2. **ShiftRows Transformation**: Bytes in each row of the state are shifted cyclically to the left. The first row is not shifted, the second row is shifted by one byte, the third row by two bytes, and the fourth row by three bytes. 3. **MixColumns Transformation**: Each column of the state is mixed using a matrix multiplication. 4. **AddRoundKey Transformation**: Each byte of the state is XORed with a round key derived from the main key. ### AES Decryption Round The image shows the steps in a single round of AES decryption, which are the inverse transformations in reverse order: 1. **AddRoundKey Transformation**: Each byte of the state is XORed with a round key derived from the main key. 2. **InvMixColumns Transformation**: Each column of the state is mixed using a matrix multiplication. 3. **InvShiftRows Transformation**: Bytes in each row of the state are shifted cyclically to the right. The first row is not shifted, the second row is shifted by one byte, the third row by two bytes, and the fourth row by three bytes. 4. **InvByteSub Transformation**: Each byte in the state is replaced with its corresponding value in the inverse S-box lookup table.