Files
serai/crypto/multiexp/README.md
Luke Parker 2be69b23b1 Tweak multiexp to compile on core
On `core`, it'll use a serial implementation of no benefit other than the fact
that when `alloc` _is_ enabled, it'll use the multi-scalar multiplication
algorithms.

`schnorr-signatures` was prior tweaked to include a shim for
`SchnorrSignature::verify` which didn't use `multiexp_vartime` yet this same
premise. Now, instead of callers writing these shims, it's within `multiexp`.
2025-09-16 08:45:02 -04:00

936 B

Multiexp

A multiexp implementation for ff/group implementing Straus and Pippenger. A batch verification API is also available via the "batch" feature, which enables secure multiexponentiation batch verification given a series of values which should sum to the identity, identifying which doesn't via binary search if they don't.

This library was audited by Cypher Stack in March 2023, culminating in commit 669d2dbffc1dafb82a09d9419ea182667115df06. Any subsequent changes have not undergone auditing.

This library is usable under no-std and no-alloc. With the alloc feature, the library is fully functional. Without the alloc feature, the multiexp function is shimmed with a serial implementation.