Home > Cryptography > RSA > Software

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. It is compliant with:

▪ 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.

The Public Key Cryptographic Library is highly customizable: all upper layer functionalities can be either added or withdrawn. The core modular exponentiation is based on the "sliding window" algorithm so that the best performance-memory tradeoff can be achieved by simply tuning the window size. The PKCL library integrates state-of-the-art countermeasures against the latest side-channel attacks (SPA, DPA, etc.) and high-order fault attacks (DFA). Furthermore, the library performances can be greatly enhanced through the Public Key Cryptographic Coprocessor (PK2C).


▪ 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);
▪ design specification and documents for certifications (FIPS, CC, EMV, etc.):
− complete list of countermeasures with references;
− implementation details.

[1] Third-party fees apply. Please contact salesinvia.fr for any further information.

Copyright © 2017 Invia