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
×
Semiconductor IP