serai/crypto/dleq
Luke Parker 44e0a41ca1 Add Classic/Compromise DLEqs and a benchmark
Formatted results from my laptop:

EfficientLinear had a average prove time of 188ms
EfficientLinear had a average verify time of 126ms

CompromiseLinear had a average prove time of 176ms
CompromiseLinear had a average verify time of 141ms

ConciseLinear had a average prove time of 191ms
ConciseLinear had a average verify time of 160ms

ClassicLinear had a average prove time of 214ms
ClassicLinear had a average verify time of 159ms

There is a decent error margin here. Concise is a drop-in replacement 
for Classic, in practice *not* theory. Efficient is optimal for 
performance, yet largest. Compromise is a middleground.
2022-07-07 08:36:23 -05:00
..
src Add Classic/Compromise DLEqs and a benchmark 2022-07-07 08:36:23 -05:00
Cargo.toml Clean AOS signatures 2022-07-07 08:36:23 -05:00
LICENSE Implement a DLEq library 2022-06-30 05:42:29 -04:00
README.md Implement a DLEq library 2022-06-30 05:42:29 -04:00

Discrete Log Equality

Implementation of discrete log equality both within a group and across groups, the latter being extremely experimental, for curves implementing the ff/group APIs. This library has not undergone auditing.

The cross-group DLEq is the one described in https://web.getmonero.org/resources/research-lab/pubs/MRL-0010.pdf, augmented with a pair of Schnorr Proof of Knowledges in order to correct for a mistake present in the paper.