lib25519

To download and unpack the latest version of lib25519:

wget -m https://lib25519.cr.yp.to/lib25519-latest-version.txt
version=$(cat lib25519.cr.yp.to/lib25519-latest-version.txt)
wget -m https://lib25519.cr.yp.to/lib25519-$version.tar.gz
tar -xzf lib25519.cr.yp.to/lib25519-$version.tar.gz
cd lib25519-$version

Then install.

Archives and changelog (reverse chronological)

lib25519-20240321.tar.gz browse

Add ./use-s2n-bignum compile-time option, along with lib25519+s2n benchmarks and separate s2n-bignum benchmarks.

Speed up amd64-{maa4,maax,mxaa} for nP, nG, mGnP. Add amd64-avx512-8x1-ns10l-maax for nP.

Add initial code for 64-bit ARM.

MacOS X port: dylib; deal with s and S in checknamespace; use -flat_namespace so lib25519-test can substitute randombytes; add crypto_asm_rodata.h abstraction; expand #define for assembly to eliminate semicolons.

Add benchmarks for more platforms.

Support empty compiler lists.

Improve selection for Zen 2, Zen 3, and Golden Cove.

Add background colors to speed table.

Improve HTML formatting for code.

Add NGI0 information.

lib25519-20230630.tar.gz browse

Add powbatch, nPbatch, and multiscalar APIs with various implementations for basic amd64, BMI, ADX, AVX2, and AVX-512, plus portable implementations.

Include benchmarks on more microarchitectures. Add auto-generated table in documentation summarizing speeds, with OpenSSL speeds as a baseline for comparison.

For compatibility with musl etc., support constructor as an alternative to ifunc for dispatch. Select constructor automatically if an ifunc compile-time test fails, or if --notryifunc is passed to ./configure.

Add command-line interface for shell scripts.

Rely on separate libcpucycles to automatically use RDPMC etc., and separate librandombytes to automatically use getrandom etc.

Reorganize documentation into doc/*.md directory, with auto-generation of HTML and manual pages.

Inside auto-generation of command/lib25519-test.c, automatically cache Python computations of nP etc.

Reorganize precomputed tests to handle APIs with variable-length inputs and outputs.

Import infrastructure improvements from libmceliece.

lib25519-20221222.tar.gz browse

lib25519-20220726.tar.gz browse

lib25519-20220426.tar.gz browse


Version: This is version 2024.03.21 of the "Download" web page.