diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-04-27 11:10:50 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-05-17 18:07:42 +0200 |
commit | dc34c6f2e6f038f2943fff1057a8dd307d9193cd (patch) | |
tree | 48168bb90f94f1d766ba47f8e0765dccc134c3bc /src/noise.h | |
parent | chacha20poly1305: implement vectorized hchacha20 (diff) | |
download | wireguard-monolithic-historical-dc34c6f2e6f038f2943fff1057a8dd307d9193cd.tar.xz wireguard-monolithic-historical-dc34c6f2e6f038f2943fff1057a8dd307d9193cd.zip |
noise: redesign preshared key mode
Diffstat (limited to 'src/noise.h')
-rw-r--r-- | src/noise.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/noise.h b/src/noise.h index e60584b..c9b2b56 100644 --- a/src/noise.h +++ b/src/noise.h @@ -53,10 +53,9 @@ struct noise_keypairs { }; struct noise_static_identity { - bool has_identity, has_psk; + bool has_identity; u8 static_public[NOISE_PUBLIC_KEY_LEN]; u8 static_private[NOISE_PUBLIC_KEY_LEN]; - u8 preshared_key[NOISE_SYMMETRIC_KEY_LEN]; struct rw_semaphore lock; }; @@ -82,7 +81,8 @@ struct noise_handshake { u8 remote_static[NOISE_PUBLIC_KEY_LEN]; u8 remote_ephemeral[NOISE_PUBLIC_KEY_LEN]; - u8 key[NOISE_SYMMETRIC_KEY_LEN]; + u8 preshared_key[NOISE_SYMMETRIC_KEY_LEN]; + u8 hash[NOISE_HASH_LEN]; u8 chaining_key[NOISE_HASH_LEN]; @@ -102,7 +102,7 @@ struct message_data; struct message_handshake_cookie; void noise_init(void); -void noise_handshake_init(struct noise_handshake *handshake, struct noise_static_identity *static_identity, const u8 peer_public_key[NOISE_PUBLIC_KEY_LEN], struct wireguard_peer *peer); +void noise_handshake_init(struct noise_handshake *handshake, struct noise_static_identity *static_identity, const u8 peer_public_key[NOISE_PUBLIC_KEY_LEN], const u8 peer_preshared_key[NOISE_SYMMETRIC_KEY_LEN], struct wireguard_peer *peer); void noise_handshake_clear(struct noise_handshake *handshake); void noise_keypair_put(struct noise_keypair *keypair); struct noise_keypair *noise_keypair_get(struct noise_keypair *keypair); @@ -110,7 +110,6 @@ void noise_keypairs_clear(struct noise_keypairs *keypairs); bool noise_received_with_keypair(struct noise_keypairs *keypairs, struct noise_keypair *received_keypair); void noise_set_static_identity_private_key(struct noise_static_identity *static_identity, const u8 private_key[NOISE_PUBLIC_KEY_LEN]); -void noise_set_static_identity_preshared_key(struct noise_static_identity *static_identity, const u8 preshared_key[NOISE_SYMMETRIC_KEY_LEN]); bool noise_handshake_create_initiation(struct message_handshake_initiation *dst, struct noise_handshake *handshake); struct wireguard_peer *noise_handshake_consume_initiation(struct message_handshake_initiation *src, struct wireguard_device *wg); |