AztecProtocol / aztec-2.0

C++ elliptic curve library
134 stars 37 forks source link

Challenge sanitization #45

Closed zac-williamson closed 4 years ago

zac-williamson commented 4 years ago

Fiat-shamir challenge generation has been slightly modified

Each distinct polynomial evaluation being sent to the verifier requires a random challenge. The previous ad-hoc method of tracking this has been replaced with a std::map in the Transcript class, that maps polynomial evaluations to challenge indices

This PR also includes several modifications designed to improve WASM compile times. The two independent implementations of pippenger and pippenger_unsafe have been merged; both of them now use the affine addition trick. The operators in element.hpp are no longer inline, as it was providing a marginal performance gain but was causing significant code bloat.