A lot of verification functions (e.g. in signature, commitment, merkle tree, etc) are returning a wrapped Result<VerificationResult, Error> that provides some detailed information about internal error. This could lead to a side-channel attack.
We should simply return a bool or Result<(), ()> which indicated whether the verification is successful, and nothing else.
Detailed internal error shouldn't only be provided in debug mode.
A lot of verification functions (e.g. in signature, commitment, merkle tree, etc) are returning a wrapped
Result<VerificationResult, Error>
that provides some detailed information about internal error. This could lead to a side-channel attack.We should simply return a bool or
Result<(), ()>
which indicated whether the verification is successful, and nothing else. Detailed internal error shouldn't only be provided in debug mode.