serai/crypto/multiexp
Luke Parker 6fec95b1a7
3.7.2 Remove code randomizing which side odd elements end up on
This could still be gamed. For [1, 2, 3], the options were ([1], [2, 3]) or
([1, 2], [3]). This means 2 would always have the maximum round count, and
thus this is still game-able. There's no point to keeping its complexity
accordingly when the algorithm is as efficient as it is.

While a proper random could be used to satisfy 3.7.2, it'd break the
expected determinism.
2023-03-02 11:16:00 -05:00
..
src 3.7.2 Remove code randomizing which side odd elements end up on 2023-03-02 11:16:00 -05:00
Cargo.toml Document multiexp 2022-11-07 18:31:20 -05:00
LICENSE Fix https://github.com/serai-dex/serai/issues/5 2022-05-03 07:42:09 -04:00
README.md Prepare multiexp for publishing 2022-06-19 06:35:45 -04:00

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 multiexponentation batch verification given a series of values which should sum to 0, identifying which doesn't via binary search if they don't.