Advanced Encryption Standard (AES-128) core with AMBA AHB interface
The GRAES core implements the AES-128 symmetric encryption algorithm for high-throughput applications.
Overview
The GRAES core implements the AES-128 symmetric encryption algorithm for high-throughput applications.
The GRAES core implements the AES-128 algorithm, sup-porting the Electronic Codebook (ECB) method. The AES-128 algorithm is specified in the“Advanced Encryption Standard (AES)” document, Federal Information Processing Standards (FIPS)Publication 197. The document is established by the National Institute of Standards and Technology(NIST).
Architecture
The input and output for the AES algorithm each consist of sequences of 128 bits (digits with values of 0 or 1). These sequences will sometimes be referred to as blocks and the number of bits they contain will be referred to as their length. The cipher key for the AES-128 algorithm is a sequence of 128 bits (can also be 192 or 256 bits for other algorithms).
To transfer a 128 bit key or data block four write operations are necessary since the bus interface is 32 bit wide. After supplying a “key will be input” command to the control register, the key is input via four registers. After supplying a “data will be input” command to the control register, the input data is written via four registers. After the last input data register is written, the encryption or decryption is started. The progress can be observed via the debug register. When the operation is completed, an interrupt is generated. The output data is then read out via four registers. Note that the above sequence must be respected. It is not required to write a new key between each data input. There is no command needed for reading out the result.
The implementation requires around 89 clock cycles for a 128 bit data block in encryption direction and around 90 clock cycles for decryption direction. For decryption an initial key calculation is required. This takes around 10 additional clock cycles per every new key. Typically large amounts of data are decrypted (and also encrypted) with the same key. The key initialization for the decryption round does not influence the throughput.
Configuration
The core is available in two configurations:
- GRAES_DMA: A DMA based on an AMBA AHB master interface automatically fetches from memory the encryption key, initialization vector and plaintext
- GRAES: Encryption key, initialization vector and plaintex are provided to the IP core trough an AMBA AHB slave interface
Files
Note: some files may require an NDA depending on provider policy.
Specifications
Identity
Provider
Learn more about Symmetric Crypto IP core
CXL - The Latest Specification in Secured Network Traffic
Securing your apps with Public Key Cryptography & Digital Signature
RoT: The Foundation of Security
Tailoring Root Of Trust Security Capabilities To Specific Customer Needs
Symmetric Cryptographic Offload Options for SoC Designers
Frequently asked questions about Symmetric Cryptography IP cores
What is Advanced Encryption Standard (AES-128) core with AMBA AHB interface?
Advanced Encryption Standard (AES-128) core with AMBA AHB interface is a Symmetric Crypto IP core from Frontgrade Gaisler listed on Semi IP Hub.
How should engineers evaluate this Symmetric Crypto?
Engineers should review the overview, key features, supported foundries and nodes, maturity, deliverables, and provider information before shortlisting this Symmetric Crypto IP.
Can this semiconductor IP be compared with similar products?
Yes. Buyers can compare this product with similar semiconductor IP cores or IP families based on category, provider, process options, and structured technical specifications.