Public Key Cryptographic Library
Overview
The Public Key Cryptographic Library (PKCL) provides standardized key computation, encryption, decryption, signature and verification functionalities for all key sizes up to 8192 bits.
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