Files
serai/crypto/schnorr
Luke Parker be68e27551 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-18 17:06:42 -04:00
..
2025-09-18 17:06:42 -04:00
2025-09-18 17:06:42 -04:00
2025-08-25 10:06:35 -04:00

Schnorr Signatures

A challenge (and therefore HRAm) agnostic Schnorr signature library. This is intended to be used as a primitive by a variety of crates relying on Schnorr signatures, voiding the need to constantly define a Schnorr signature struct with associated functions.

This library provides signatures of the R, s form. Batch verification is supported via the multiexp crate. Half-aggregation, as defined in https://eprint.iacr.org/2021/350, is also supported.

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, via alloc, when the default features are disabled.