The Software ECC is a cryptographic library providing the main ECDSA and ECDH functionalities:
- ECDSA key generation;
- ECDSA signature and verification;
- ECDH key generation;
- ECDH common key computation.
The library is fully compliant with the ANSI and NIST standards. It supports the Elliptic Curve DSA (ECDSA) signatures on any elliptic curve defined over a prime field Fp. The library being fully generic towards all curve parameters, the bit size of the prime characteristic p is only limited by memory consumption; when NIST curves are used, p generally belongs to the range [192,521]. The software architecture of the ECC library is natively protected to maximize the security level with a minor impact on performances; the library embeds state-of-the-art countermeasures against the latest side channel attacks (atomic scalar multiplication, curve parameter randomization, fault detection...) Since the core ECC scalar multiplication is based on the "sliding window" algorithm, the performance of the ECC functions can be tuned to obtain the best trade-off between memory and performances.