lib25519: Secure and efficient computation of X25519 and Ed25519
Modern network protocols rely on elliptic-curve cryptography (ECC) to protect communication against espionage and sabotage. ECC is faster than RSA, but it still consumes many CPU cycles, especially when an attacker floods a server's CPU with requests. This project's lib25519 is a new software library for the Curve25519 elliptic curve, including the X25519 encryption system and the Ed25519 signature system. Curve25519 is the fastest curve in TLS 1.3, and the only curve in Wireguard, Signal, and many other applications. This library exploits the features of Intel CPUs to provide top speeds for those CPUs, in particular setting new speed records for X25519 key generation and Ed25519 signing, while meeting the security constraint of not leaking secret information through timing.
- The project's own website: https://lib25519.cr.yp.to
This project was funded through the Internet Hardening Fund, a fund established by NLnet with financial support from the Netherlands Ministry of Economic Affairs and Climate Policy.