You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The reference implementation implements poly_chknorm in variables time.
It argues that while the input coefficients itself are secret in some call
sites, it is okay to leak which coefficient lead to rejection.
It, hence, does absolute value computation in constant-time and then checks
the bound using a conditional.
This approach appears safe, but somewhat unclean as it is still operating on
_secret data_. When performing constant-time testing it also requires a
number of declassifications.
This commit takes a more conservative approach and changes poly_chknorm to
a constant-time implementation in the hope tha the performance penalty is
acceptable.
A minor change is that the API of poly_chknorm is changed to returning
0xFFFFFFFF in the case of failure to be able to re-use existing constant-time
primitives.
CBMC proofs are adjusted accordingly.
Resolves#153
Signed-off-by: Matthias J. Kannwischer <[email protected]>
0 commit comments