diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-02-03 21:50:54 +0100 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-02-03 21:51:18 +0100 |
commit | 897548e927fc90d13a19e1b1f29a549e7f885621 (patch) | |
tree | d27bc7200af21ab98724973011b5a78de6dcdba8 /src/crypto/include/zinc/curve25519.h | |
parent | chacha20poly1305: permit unaligned strides on certain platforms (diff) | |
download | wireguard-monolithic-historical-897548e927fc90d13a19e1b1f29a549e7f885621.tar.xz wireguard-monolithic-historical-897548e927fc90d13a19e1b1f29a549e7f885621.zip |
noise: store clamped key instead of raw key
Diffstat (limited to 'src/crypto/include/zinc/curve25519.h')
-rw-r--r-- | src/crypto/include/zinc/curve25519.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/crypto/include/zinc/curve25519.h b/src/crypto/include/zinc/curve25519.h index 0b46552..127d8a3 100644 --- a/src/crypto/include/zinc/curve25519.h +++ b/src/crypto/include/zinc/curve25519.h @@ -19,4 +19,10 @@ void curve25519_generate_secret(u8 secret[CURVE25519_KEY_SIZE]); bool __must_check curve25519_generate_public( u8 pub[CURVE25519_KEY_SIZE], const u8 secret[CURVE25519_KEY_SIZE]); +static inline void curve25519_clamp_secret(u8 secret[CURVE25519_KEY_SIZE]) +{ + secret[0] &= 248; + secret[31] = (secret[31] & 127) | 64; +} + #endif /* _ZINC_CURVE25519_H */ |