Public Key Cryptographic Library
Specifications
Benefits
RSA, DSA, DH & El-Gamal
Extended key size range
Secure implementation
Adjustable trade-offs
Efficient computation
Features
RSA cryptosystem as defined in PKCS#1
DSA signature scheme as defined in FIPS 186-3
Diffie-Hellman (DH) key exchange as defined in PKCS#3
El-Gamal cryptosystem
JavaCard API
Encryption, decryption, signature and verification functions
Optional on-board key generation
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[1] 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
Deliverables
C and Assembly source codes
C test vectors
Compilation scripts (makefile)
Documents for certifications (FIPS, CC, EMV, etc.):
- list of countermeasures with references
- implementation details
Design specification