lib1305
lib1305: Intro

lib1305 is a microlibrary for the Poly1305 one-time authenticator.

lib1305 has a very simple stateless API based on the SUPERCOP API, with wire-format inputs and outputs, providing a function poly1305 to generate an authenticator and a function poly1305_verify to verify an authenticator.

Internally, lib1305 includes implementations designed to work portably across CPUs, and implementations designed for higher performance on Intel/AMD CPUs with BMI2 instructions. lib1305 includes automatic run-time selection of implementations.

lib1305 is intended to be called by larger multi-function libraries (such as traditional cryptographic libraries), including libraries in other languages via FFI. The idea is that lib1305 takes responsibility for the details of Poly1305 computation, including optimization, timing-attack protection, and (planned) verification, freeing up the calling libraries to concentrate on application-specific needs such as protocol integration. Applications can also call lib1305 directly.

Latest release: 20250415.


Version: This is version 2025.04.15 of the "Intro" web page.