SPRUJB6B November 2024 – May 2025 AM2612
The AES IP is an efficient implementation of the Rijndael cipher (the AES algorithm) and a 128-bit polynomial multiplication (referred to here as ‘GHASH’, as per the AES-GCM specification). Rijndael is a block cipher with each data block consisting of 128-bits. The polynomial multiplication multiplies two 128-bit vectors using the smallest 128-bit irreducible polynomial, x128 + x7 + x2 + x + 1, represented by the following 128-bit string: {0^120}||10000111. Both implementations are combined into the AES Wide-bus Engine.
The AES IP comprises the following major functional blocks.
The AES Wide-bus Engine, which is the major top-level component, comprises the following functional blocks.
AES encryption requires a specific number of rounds depending on the key length. Supported key lengths are 128-bit, 192-bit, and 256 bit, requiring 10, 12, and 14 rounds respectively; or 32, 38, and 44 clock cycles respectively because (# of clock cycles) = 2 + 3 x (# of rounds). The larger key lengths provide greater encryption strength at the expense of additional rounds and therefore reduced throughput.
The overall throughput of the block executing the polynomial multiplication is adjusted based to the overall cryptographic performance. The block contains one instantiation of the AES ECB core (eip32ed_small) and a dedicated 32-cycle polynomial multiplication module for performing GHASH operations. The polynomial multiplication operates in parallel with the AES core, if there is data available for both modules. This is the case after encryption of the first data block). Depending on the key size (128/192/256 bits), this core requires 32, 38, or 44 clock cycles to process one 128-bit data block. While processing a data block, the next block can be pre-loaded immediately. When a block is pre-loaded, the first block must finish before additional data can be loaded. Therefore, once the pipeline is full, sequential data blocks can be passed once per 32, 38, or 44 clock cycles.
Figure 7-99 AES Functional Diagram