|
AES-128
1.0
Fully Unrolled VHDL Implementation of AES-128
|
AES S-box. More...
Entities | |
| Canright | architecture |
| Behavioral architecture of the Canright AES S-box. More... | |
| Lut | architecture |
| AES S-box implementation based on a look-up table. More... | |
Libraries | |
| IEEE | |
| work | |
Use Clauses | |
| IEEE.std_logic_1164.all | |
| IEEE.numeric_std.all | |
| work.aes128Pkg.all | |
Ports | |
| In_DI | in Byte |
| Input to the S-box. | |
| Out_DO | out Byte |
| Substituted output of the S-box. | |
AES S-box.
AES S-box implementation based on the approach by D. Canright [1].
The present design implements the S-box of the Advanced Encryption Standard (AES). Since the overall AES structure is based on a byte-oriented design, also the S-box hast been implemented such that a single byte can be substituted. This S-box was realized using a "straight-forward" approach using a LUT based on an array of constants. Thereby shifting all the "effort" of the actual architecture over to the synthesizer.
AES S-box implementation based on the approach by D. Canright, which uses the subfields GF(2^2) and GF(2^4) in order to realize the field inversion in GF(2^8). Thereby the area footprint of the resulting architecture should be significantly smaller than the LUT-based approach using only a constant array and shifting the effort of the actual implementation over to the synthesizer.