Cryptography Unit 5a Advanced Encryption Standard (AES)
Cryptography Notes
Unit 5: Advanced Encryption Standard (AES)
General Information
Known initially as Rijndael.
Developed in 2001 by Vincent Rijmen and Joan Daemen.
Recognized as the state-of-the-art cryptosystem as of 2018.
It is classified as a private key cryptosystem.
Supports three different key lengths: 128 bits, 192 bits, and 256 bits.
Operates as a block cipher without reliance on the Feistel structure.
Values (plaintext, key, ciphertext) are stored in matrix form.
Definitions and Structure
AES Definition: A word is considered a unit of data.
AES operates with a number of rounds based on key length:
10 rounds for 128-bit keys.
12 rounds for 192-bit keys.
14 rounds for 256-bit keys.
Block Size
Block Size in AES: The size of a block in the AES cryptosystem is 128 bits.
Optionally, if the size of the plaintext or key block is less than 128 bits, it must be padded with 0x00 to increase the size to 128 bits.
Encryption Process
The general steps in the AES encryption process for a 128-bit plaintext block involve:
Adding Round Key: First operation takes place with a key.
S-BOX (Substitution Bytes): Each byte is substituted based on a fixed table.
Shift Rows: Rows of the state are shifted left.
Mix Columns: Each column is mixed.
Detailed Steps in Each Round
For each round, the following occurs:
Substitution (S-BOX)
Implements non-linear substitution: each byte is replaced with another byte according to the S-BOX.
The S-BOX is a 16x16 lookup table that achieves cryptographic strength by resisting linear and differential cryptanalysis.
Shift Rows: Circular shifting of the rows in the state matrix. The first row is unchanged, the second row is shifted left by 1 byte, the third row by 2 bytes, and the fourth row by 3 bytes.
Mix Columns: Involves a linear transformation where each column is treated as a polynomial and multiplied with a fixed polynomial modulo an irreducible polynomial.
Add Round Key: Involves bitwise XORing with the round key.
Component Operations
Add Round Key Operation
Works using the XOR operation; input plaintext and the private key are both 128 bits long.
Example: If input plaintext block and the private key are:
Plaintext: 0 1 1 1 0 1 1 1 0
Key: 0 1 1 1 0 1 1 1 0
Result: 0 XOR 0 , 1 XOR 1 [Results in the new state]
Substitution Bytes Operation (S-BOX)
Involves looking up each byte in the S-BOX.
The S-BOX transformation is defined as follows:
Row
Col
Value
00
00
63
00
01
7C
…
…
…
…
…
…
Purpose: Ensures resistance against cryptoanalysis techniques; values are predefined to obfuscate data effectively.
Shift Rows Operation
Efficient circular left shift of the rows. Explained as:
Row 1: No shift.
Row 2: 1 byte left.
Row 3: 2 bytes left.
Row 4: 3 bytes left.
#### Mix Columns Operation
A mathematical operation that applies a matrix transformation.
The mix columns operation consists of multiplying the state matrix by a fixed polynomial based matrix, representing it in GF(2^8).
Example Calculation:
Input Matrix: [02 03 01 01] * [Input Column] = Result MatrixExample of Mix Columns Calculation
Calculation for the first row and column produces a resultant matrix based on the polynomial multiplication followed by XOR operations, where:
For example, converting hex values into a polynomial and performing the multiplication yields the results.
Questions and Answer Section
Question 1: What is the size of a block in the AES cryptosystem?
Answer Choices:
64 bits
128 bits ✅
256 bits
Question 2: Why are predefined values used in the S-Box?
Predefined values enhance security by preventing parallel algorithms from successfully cracking the cryptosystem and ensuring resistance to linear and differential cryptoanalysis.
Final Notes
The AES is crucial for secure communication and data protection and continues to be highly relevant in the ongoing advancements in cryptographic practices.
Continuous evaluations award it with the reputation of being one of the strongest encryption techniques available today.
References
Additional examples, calculations, or videos may be relevant for further illustration, including documentations and graphical representations.