Software AES

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, CBC, OFB, CTR and GCM modes. The AES algorithm integrates state-of-the-art countermeasures against side-channel attacks.

Key Features

​Secure implementation
FIPS 196 compliant
Compact code
​Low RAM footprint
Hardened against SCA


  • supported AES key sizes: 128, 192 and 256-bit
  • the AES algorithm is fully compliant with 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 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


  • C and Assembly source codes
  • C test vectors
  • compilation scripts (makefile)
  • documents for certifications (FIPS, CC, EMV...):
    • list of countermeasures with references
    • implementation details
  • design specification​​

Please contact for any further information.