diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2022-06-14 11:35:01 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2022-06-14 11:35:01 +0200 |
commit | 5ba28362feba89d28354e0ea038dc5f4ebaaf19e (patch) | |
tree | ac5e4543f85bf3527d0beeda2f3c17c15d9eb347 /src/crypto.h | |
parent | wg_noise: import hmac from crypto (diff) | |
download | wireguard-freebsd-5ba28362feba89d28354e0ea038dc5f4ebaaf19e.tar.xz wireguard-freebsd-5ba28362feba89d28354e0ea038dc5f4ebaaf19e.zip |
crypto: inline blake2s convenience function
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to '')
-rw-r--r-- | src/crypto.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/crypto.h b/src/crypto.h index e463361..90b27b9 100644 --- a/src/crypto.h +++ b/src/crypto.h @@ -129,8 +129,19 @@ void blake2s_update(struct blake2s_state *state, const uint8_t *in, size_t inlen void blake2s_final(struct blake2s_state *state, uint8_t *out); -void blake2s(uint8_t *out, const uint8_t *in, const uint8_t *key, - const size_t outlen, const size_t inlen, const size_t keylen); +static inline void blake2s(uint8_t *out, const uint8_t *in, const uint8_t *key, + const size_t outlen, const size_t inlen, const size_t keylen) +{ + struct blake2s_state state; + + if (keylen) + blake2s_init_key(&state, outlen, key, keylen); + else + blake2s_init(&state, outlen); + + blake2s_update(&state, in, inlen); + blake2s_final(&state, out); +} #endif #ifdef COMPAT_NEED_CURVE25519 |