Secure key computation, encryption, decryption, signature and verification functionalities compliant with the PKCS#1

Overview

The Software RSA library provides standardized key computation, encryption, decryption, signature and verification functionalities for all key sizes up to 8192 bits. It is fully compliant with the RSA cryptosystem as defined in PKCS#1.

The Software RSA library is highly customizable: each high-level functions can be withdrawn so as to minimize the code size; the core modular exponentiation is based on the “sliding window” algorithm so that the best performance-memory tradeoff can be achieved by tuning the window size. This library embeds state-of-the-art countermeasures against side-channel attacks (SPA, DPA & DFA). Furthermore, the library performances can be significantly enhanced through the optional Public Key Cryptographic Coprocessor (PK2C).

Key Features

  • key generation, encryption, decryption, signature and verification functions
  • fully compliant with the PKCS#1 standards
  • all key sizes supported up to 8192 bits
  • core functions ASM-optimized for the targeted processor
  • configurable architecture: adjustable trade-off between performance and RAM footprint; dedicated coprocessor available separately (about 10 times faster)
  • state-of-the-art countermeasures against SPA, DPA and DFA attacks
  • typical code size on Cortex-M3 smaller than 15 kbytes
  • less than 100 Mcycles to compute a secure 2048-bit RSA signature

Benefits

  • PKCS#1 compliant
  • All key sizes up to 8192 bits
  • Hardened against SCA
  • ASM-optimized
  • Silicon proven

Deliverables

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

Technical Specifications

Maturity
Silicon proven
Availability
Available
×
Semiconductor IP