diff --git a/src/curve25519.c b/src/curve25519.c index 0d52bc8..648daed 100644 --- a/src/curve25519.c +++ b/src/curve25519.c @@ -68,7 +68,6 @@ static inline void put_unaligned_le64(u64 s, u8 *d) #ifndef __force #define __force #endif -#define clamp_secret(a) curve25519_clamp_secret(a) static noinline void memzero_explicit(void *s, size_t count) { diff --git a/src/curve25519.h b/src/curve25519.h index badcda0..c047019 100644 --- a/src/curve25519.h +++ b/src/curve25519.h @@ -10,7 +10,7 @@ #include enum curve25519_lengths { - CURVE25519_KEY_SIZE = 32, + CURVE25519_KEY_SIZE = 32 }; void curve25519(uint8_t mypublic[static CURVE25519_KEY_SIZE], const uint8_t secret[static CURVE25519_KEY_SIZE], const uint8_t basepoint[static CURVE25519_KEY_SIZE]); @@ -18,8 +18,7 @@ void curve25519_generate_public(uint8_t pub[static CURVE25519_KEY_SIZE], const u static inline void curve25519_clamp_secret(uint8_t secret[static CURVE25519_KEY_SIZE]) { secret[0] &= 248; - secret[31] &= 127; - secret[31] |= 64; + secret[31] = (secret[31] & 127) | 64; } #endif