Public Key Cryptographic Library

​The Public Key Cryptographic Library (PKCL) provides standardized key computation, encryption, decryption, signature and verification functionalities for all key sizes up to 8192 bits.

Key Features

​RSA, DSA, DH & El-Gamal
Extended key size range
Secure implementation
Adjustable trade-offs
Efficient computation


  • 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


  • 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

Please contact for any further information.