Cryptographic library for encryption and decryption of Advanced Encryption Standard (AES) in ECB, CBC, OFB, CTR and GCM modes
Overview
The Software AES is a cryptographic library encrypting and decrypting 128-bit data blocks through a secure AES algorithm. The AES key length can be chosen among 128, 192 or 256 bits. The library supports the ECB (Electronic Code Book), CBC (Cipher Block Chaining), OFB (Output Feedback), CTR (Counter) and GCM (Galois/Counter) modes. The AES algorithm integrates state-of-the-art countermeasures against side-channel attacks.
Key Features
- supported AES key sizes: 128, 192 and 256-bit
- the AES algorithm is fully compliant the FIPS 196 standard
- encryption and decryption in ECB, CBC, OFB, CTR or GCM mode
- all the modes are fully compliant with the NIST SP 800-38A standard
- GCM mode is fully compliant with the NIST SP 800-38D standard
- core functions ASM-optimized for the targeted processor
- highly customizable architecture: adjustable trade-off between performance, RAM footprint and security; the number of supported modes can be tuned
- state-of-the-art countermeasures against SPA, DPA[1] and DFA attacks
- typical characteristics of a Cortex-M3 implementation: small code size: 8 kBytes; small RAM footprint: 160 bytes; less than 80 kcycles to compute a secured AES encryption
Benefits
- Secure implementation
- FIPS 196 compliant
- Compact code
- Low RAM footprint
- Hardened against SCA
Deliverables
- C and Assembly source codes
- C test vectors
- compilation scripts (makefile)
- design specification
- documents for certifcations (FIPS, CC, EMV, etc.): complete list of countermeasures with references; implementation details
Technical Specifications
Maturity
Silicon proven
Availability
Available
Related IPs
- Ultra-Compact Advanced Encryption Standard (AES, FIPS-197) Core
- Advanced Encryption Standard En- / Decryption IP-Core
- Java Card compliant cryptographic library for encryption and decryption of RSA, DSA, Diffie-Hellman, El-Gamal and Elliptic Curves algorithms
- Secure-IC's Securyzr™ Tunable AES (ECB, CBC, CTR, XTS, CCM, GCM) accelerator - optional SCA protection
- Versatile AES256 IP core (ECB, CBC, CFB, OFB, CTR)
- AES data encryption and decryption