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