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).
Secure key computation, encryption, decryption, signature and verification functionalities compliant with the PKCS#1
Overview
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
Related IPs
- Java Card compliant cryptographic library for encryption and decryption of RSA, DSA, Diffie-Hellman, El-Gamal and Elliptic Curves algorithms
- Single Wire Protocol (SWP) slave digital controller compliant with the ETSI 102.613 standard
- ISO/IEC 7816-3 digital controller for interface device compliant with ETSI TS 102 221 and EMV 2000 standards
- ISO/IEC 7816-3 digital controller for integrated circuit card compliant with ETSI TS 102 221 and EMV 2000 standards
- Single Wire Protocol (SWP) Master Analog Front End (AFE) compliant with the ETSI 102.613 standard
- Single Wire Protocol (SWP) Slave Analog Front End (AFE) compliant with the ETSI 102.613 standard