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_32.c | |
parent | c61d5be86e3efb978883fc60687af42192aacaff (diff) |
Fix computation of INTX_MIN
The minimum is -2^(bitwidth-1), not -2^bitwidth. Oops.
Diffstat (limited to 'curve25519_32.c')
-rw-r--r-- | curve25519_32.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/curve25519_32.c b/curve25519_32.c index b173a7498..5366ec40c 100644 --- a/curve25519_32.c +++ b/curve25519_32.c @@ -39,7 +39,7 @@ static void fiat_25519_addcarryx_u26(uint32_t* out1, fiat_25519_uint1* out2, fia */ static void fiat_25519_subborrowx_u26(uint32_t* out1, fiat_25519_uint1* out2, fiat_25519_uint1 arg1, uint32_t arg2, uint32_t arg3) { int32_t x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3); - fiat_25519_int1 x2 = (fiat_25519_int1)((int64_t)x1 >> 26); + fiat_25519_int1 x2 = (fiat_25519_int1)(x1 >> 26); uint32_t x3 = (x1 & UINT32_C(0x3ffffff)); *out1 = x3; *out2 = (fiat_25519_uint1)(0x0 - x2); @@ -73,7 +73,7 @@ static void fiat_25519_addcarryx_u25(uint32_t* out1, fiat_25519_uint1* out2, fia */ static void fiat_25519_subborrowx_u25(uint32_t* out1, fiat_25519_uint1* out2, fiat_25519_uint1 arg1, uint32_t arg2, uint32_t arg3) { int32_t x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3); - fiat_25519_int1 x2 = (fiat_25519_int1)((int64_t)x1 >> 25); + fiat_25519_int1 x2 = (fiat_25519_int1)(x1 >> 25); uint32_t x3 = (x1 & UINT32_C(0x1ffffff)); *out1 = x3; *out2 = (fiat_25519_uint1)(0x0 - x2); @@ -748,7 +748,7 @@ static void fiat_25519_to_bytes(uint8_t out1[32], const uint32_t arg1[10]) { uint8_t x81 = (uint8_t)(x78 & UINT8_C(0xff)); uint8_t x82 = (uint8_t)(x80 >> 8); uint8_t x83 = (uint8_t)(x80 & UINT8_C(0xff)); - fiat_25519_uint1 x84 = (fiat_25519_uint1)((int64_t)x82 >> 8); + fiat_25519_uint1 x84 = (fiat_25519_uint1)(x82 >> 8); uint8_t x85 = (uint8_t)(x82 & UINT8_C(0xff)); uint32_t x86 = (x84 + x32); uint32_t x87 = (x86 >> 8); |