aboutsummaryrefslogtreecommitdiff
path: root/curve25519_64.c
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2019-01-14 20:09:21 -0500
committerGravatar Jason Gross <jasongross9@gmail.com>2019-01-15 14:00:52 -0500
commit456cffcd2e808a3a9c3ff47f988138bbce555e0e (patch)
tree1ad646e6b3a65ae30e5e02fe09c0e64cb04affb8 /curve25519_64.c
parentc61d5be86e3efb978883fc60687af42192aacaff (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.c2
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);