diff options
author | Jason Gross <jgross@mit.edu> | 2019-01-14 20:09:21 -0500 |
---|---|---|
committer | Jason Gross <jasongross9@gmail.com> | 2019-01-15 14:00:52 -0500 |
commit | 456cffcd2e808a3a9c3ff47f988138bbce555e0e (patch) | |
tree | 1ad646e6b3a65ae30e5e02fe09c0e64cb04affb8 /curve25519_64.c | |
parent | c61d5be86e3efb978883fc60687af42192aacaff (diff) |
Fix computation of INTX_MIN
The minimum is -2^(bitwidth-1), not -2^bitwidth. Oops.
Diffstat (limited to 'curve25519_64.c')
-rw-r--r-- | curve25519_64.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/curve25519_64.c b/curve25519_64.c index 3a637743e..23bf361d8 100644 --- a/curve25519_64.c +++ b/curve25519_64.c @@ -41,7 +41,7 @@ static void fiat_25519_addcarryx_u51(uint64_t* out1, fiat_25519_uint1* out2, fia */ static void fiat_25519_subborrowx_u51(uint64_t* out1, fiat_25519_uint1* out2, fiat_25519_uint1 arg1, uint64_t arg2, uint64_t arg3) { int64_t x1 = ((int64_t)(arg2 - (int64_t)arg1) - (int64_t)arg3); - fiat_25519_int1 x2 = (fiat_25519_int1)((fiat_25519_int128)x1 >> 51); + fiat_25519_int1 x2 = (fiat_25519_int1)(x1 >> 51); uint64_t x3 = (x1 & UINT64_C(0x7ffffffffffff)); *out1 = x3; *out2 = (fiat_25519_uint1)(0x0 - x2); |