advanced encryption standard (aes)
DESCRIPTION
Advanced Encryption Standard (AES). INTRODUCTION. The Advanced Encryption Standard (AES) is a symmetric-key block cipher published by the National Institute of Standards and Technology (NIST) in December 2001. Criteria. The criteria defined by NIST for selecting AES fall into three areas: - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/1.jpg)
7.1
Advanced Encryption Standard (AES)
![Page 2: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/2.jpg)
7.2
INTRODUCTION
The Advanced Encryption Standard (AES) is a symmetric-key block cipher published by the National Institute of Standards and Technology (NIST) in December 2001.
![Page 3: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/3.jpg)
7.3
CriteriaThe criteria defined by NIST for selecting AES fall into three areas:
1. Security -128 bit key
2. Cost – computational efficiency , storage requirement
3.Implementation.- flexibility and simplicity (implementable on any platform)
![Page 4: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/4.jpg)
7.4
Rounds.
AES is a non-Feistel cipher that encrypts and decrypts a data block of 128 bits. It uses 10, 12, or 14 rounds. The key size, which can be 128, 192, or 256 bits, depends on the number of rounds.
AES has defined three versions, with 10, 12, and 14 rounds.
Each version uses a different cipher key size (128, 192, or 256), but the round keys are always
128 bits.
Note
![Page 5: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/5.jpg)
7.5
General design of AES encryption cipher
![Page 6: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/6.jpg)
7.6
Data Units.Data units used in AES
![Page 7: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/7.jpg)
7.7
Block-to-state and state-to-block transformation
![Page 8: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/8.jpg)
7.8
Example
Changing plaintext to state
Continue
![Page 9: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/9.jpg)
7.9
Structure of Each Round
Structure of each round at the encryption site
![Page 10: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/10.jpg)
7.10
TRANSFORMATIONS
To provide security, AES uses four types of transformations: substitution, permutation, mixing, and key-adding.
![Page 11: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/11.jpg)
7.11
Substitution
AES, like DES, uses substitution. AES uses two invertible transformations.
SubBytesThe first transformation, SubBytes, is used at the encryption site. To substitute a byte, we interpret the byte as two hexadecimal digits.
The SubBytes operation involves 16 independent byte-to-byte transformations.
Note
![Page 12: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/12.jpg)
7.12
SubBytes transformation
![Page 13: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/13.jpg)
7.13
![Page 14: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/14.jpg)
7.14
InvSubBytes
![Page 15: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/15.jpg)
7.15
Example
Figure shows how a state is transformed using the SubBytes transformation. The figure also shows that the InvSubBytes transformation creates the original one. Note that if the two bytes have the same values, their transformation is also the same.
SubBytes transformation for Example
![Page 16: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/16.jpg)
7.16
Transformation Using the GF(28) FieldAES also defines the transformation algebraically using the GF(28) field with the irreducible polynomials (x8 + x4 + x3+ x + 1),.
The SubBytes and InvSubBytes transformations are inverses of each other.
Note
![Page 17: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/17.jpg)
7.17
SubBytes and InvSubBytes processes
![Page 18: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/18.jpg)
7.18
Example
Let us show how the byte 0C is transformed to FE by subbyteroutine and transformed back to 0C by the invsubbyte routine.
![Page 19: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/19.jpg)
7.19
Permutation
Another transformation found in a round is shifting, which permutes the bytes. ShiftRowsIn the encryption, the transformation is called ShiftRows.
ShiftRows transformation
![Page 20: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/20.jpg)
7.20
InvShiftRowsIn the decryption, the transformation is called InvShiftRows and the shifting is to the right.
![Page 21: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/21.jpg)
7.21
Example
Figure shows how a state is transformed using ShiftRows transformation. The figure also shows that InvShiftRows transformation creates the original state.
ShiftRows transformation in Example
![Page 22: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/22.jpg)
7.22
Mixing
We need an interbyte transformation that changes the bits inside a byte, based on the bits inside the neighboring bytes. We need to mix bytes to provide diffusion at the bit level.
Mixing bytes using matrix multiplication
![Page 23: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/23.jpg)
7.23
Constant matrices used by MixColumns and InvMixColumns
![Page 24: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/24.jpg)
7.24
MixColumnsThe MixColumns transformation operates at the column level; it transforms each column of the state to a new column.
MixColumns transformation
![Page 25: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/25.jpg)
7.25
InvMixColumnsThe InvMixColumns transformation is basically the same as the MixColumns transformation.
The MixColumns and InvMixColumns transformations are inverses of each other.
Note
![Page 26: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/26.jpg)
7.26
Example
Figure shows how a state is transformed using the MixColumns transformation. The figure also shows that the InvMixColumns transformation creates the original one.
The MixColumns transformation
![Page 27: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/27.jpg)
7.27
Key Adding
AddRoundKeyAddRoundKey proceeds one column at a time. AddRoundKey adds a round key word with each state column matrix; the operation in AddRoundKey is matrix addition.
The AddRoundKey transformation is the inverse of itself.
Note
![Page 28: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/28.jpg)
7.28
AddRoundKey transformation
![Page 29: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/29.jpg)
7.29
KEY EXPANSION
To create round keys for each round, AES uses a key-expansion process. If the number of rounds is Nr , the key-expansion routine creates Nr + 1 128-bit round keys from one single 128-bit cipher key.
![Page 30: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/30.jpg)
7.30
7-3 Continued
![Page 31: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/31.jpg)
7.31
Key Expansion in AES-128
Key expansion in AES
![Page 32: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/32.jpg)
7.32
![Page 33: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/33.jpg)
7.33
ExampleTable shows how the keys for each round are calculated assuming that the 128-bit cipher key agreed upon by Alice and Bob is (24 75 A2 B3 34 75 56 88 31 E2 12 00 13 AA 54 87)16.
![Page 34: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/34.jpg)
7.34
Key Expansion in AES-192 and AES-256
Key-expansion algorithms in the AES-192 and AES-256 versions are very similar to the key expansion algorithm in AES-128, with the following differences:
1. In AES 192,the words are generated in a group of 6 instead of 4
1. The cipher key creates a first 6 words
2. In AES 256 words are generated in a group of 8
1. The cipher key creates a first 8 words
![Page 35: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/35.jpg)
7.35
CIPHERS
AES uses four types of transformations for encryption and decryption. In the standard, the encryption algorithm is referred to as the cipher and the decryption algorithm as the inverse cipher.
![Page 36: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/36.jpg)
7.36
Original Design
Ciphers and inverse ciphers of the original design
![Page 37: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/37.jpg)
7.37
Alternative Design
Invertibility of SubBytes and ShiftRows combinations
![Page 38: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/38.jpg)
7.38
Invertibility of MixColumns and AddRoundKey combination
![Page 39: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/39.jpg)
7.39
Cipher and reverse cipher in alternate design
![Page 40: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/40.jpg)
7.40
Changing Key-Expansion AlgorithmInstead of using InvRoundKey transformation in the reverse cipher, the key-expansion algorithm can be changed to create a different set of round keys for the inverse cipher.
![Page 41: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/41.jpg)
7.41
Examples
In this section, some examples of encryption/ decryption and key generation are given to emphasize some points discussed in the two previous sections.
Example 7.10
The following shows the ciphertext block created from a plaintext block using a randomly selected cipher key.
![Page 42: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/42.jpg)
7.42
7-5 Continued
Example 7.10 Continued
![Page 43: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/43.jpg)
7.43
7-5 Continued
Example 7.10 Continued
![Page 44: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/44.jpg)
7.44
7-5 Continued
Example 7.10 Continued
![Page 45: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/45.jpg)
7.45
Example
Figure shows the state entries in one round, round 7,
States in a single round
![Page 46: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/46.jpg)
7.46
ANALYSIS OF AES
This section is a brief review of the three characteristics of AES.
SecurityImplementationSimplicity and Cost
![Page 47: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/47.jpg)
7.47
SecurityAES was designed after DES. Most of the known attacks on DES were already tested on AES.
Brute-Force AttackAES is definitely more secure than DES due to the larger-size key.
Statistical AttacksNumerous tests have failed to do statistical analysis of the ciphertext.
Differential and Linear AttacksThere are no differential and linear attacks on AES as yet.
![Page 48: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/48.jpg)
7.48
Implementation
AES can be implemented in software, hardware, and firmware. The implementation can use table lookup process or routines that use a well-defined algebraic structure.
![Page 49: Advanced Encryption Standard (AES)](https://reader035.vdocuments.net/reader035/viewer/2022081722/56816167550346895dd0f0b2/html5/thumbnails/49.jpg)
7.49
Simplicity and Cost
The algorithms used in AES are so simple that they can be easily implemented using cheap processors and a minimum amount of memory.