aes
TRANSCRIPT
![Page 1: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/1.jpg)
Advanced Encryption Standard
Reference: Stallings, Data and Computer Communications, 7th
Edition,Pearson/P-H, 2004
![Page 2: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/2.jpg)
AES Background
• 1997 --National Institute of Standards and Technology (NIST) issues a call for proposals.
• 2001--AES issues as a federal information processing standards (FIPS 197)
![Page 3: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/3.jpg)
AES Requirements
• Security Strength Equal to or Better than 3DES
• Significantly More Efficient than 3DES
• Symmetric Block Cipher
• Block Length = 128 bits
• Support for Key Lengths of 128, 192, and 256 bits
![Page 4: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/4.jpg)
Evaluation Criteria for AES Proposals
• Security
• Computational Efficiency
• Memory Requirements
• Hardware and Software Suitability
• Flexibility
![Page 5: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/5.jpg)
The State and Key Schedule
• Fig. 21.2 shows the AES algorithm structure.• Input is a 128 bit block (16 bytes) that is placed
in the state array (Fig. 21.3)• The key is entered in a block and divided into
key schedule words of 4 bytes/word.• The key schedule is an expansion of the key—
eg, a 128 bit key is expanded into 44 key schedule words.
• A square matrix of bytes is used by the standard to describe the state.
![Page 6: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/6.jpg)
Rounds and Transformation Stages
• The encryption process executes a round function, Nr times, with the number of rounds (Nr) being dependent on key size.
• The round function consists of four transformation stages.– SubBytes()– ShiftRows()– MixColumns()– AddRoundKey()
![Page 7: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/7.jpg)
Rounds and Transformation Stages (p.2)
• The cipher begins with an AddRoundKey().
• All rounds then execute each of the transformations except the last round.
• The MixColumns( ) transformation is not executed in the final round.
• For a 128 bit key, there are 10 rounds.
• 12 and 14 rounds are used with keys of 192 and 256.
![Page 8: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/8.jpg)
SubBytes ( ) Transformation
• The substitute transformation is an S-Box process, that is independent of the key.
• Each of the bytes of the State is replaced by a different byte, according to a table.
• The table is fixed and derived from two transformations defined in the standard.
• The table is an 8 x 8 array, indexed with the State byte.
![Page 9: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/9.jpg)
ShiftRows( ) Transformation
• The ShiftRows() transformation is a permutation that is performed row by row on the State array, independently of the key.
• The first row is not shifted.
• The 2nd row is circularly shifted left 1 byte.
• The 3rd row is circularly shifted left 2 bytes.
• The 4th row is circularly shifted left 3 bytes.
![Page 10: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/10.jpg)
MixColumns() Transformation
• The MixColumns( ) transformation manipulates each column of the state array.
• The process can be described as a matrix multiplication of a polynomial and the state array.
• This process does not depend on the key.
![Page 11: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/11.jpg)
AddRoundKey( ) Transformation
• The AddRoundKey( ) transformation uses the key schedule word.
• The process is a bitwise XOR of the columns of the state array, with the key schedule word.
![Page 12: Aes](https://reader036.vdocuments.mx/reader036/viewer/2022082807/554a3039b4c90520578b5121/html5/thumbnails/12.jpg)
AES Decryption
• AES decryption is accomplished using inverses of the transformations, in the appropriate order.
• The AddRoundKey( ) is its own inverse when (since A B B = A).