diff options
-rw-r--r-- | src/crypto.c | 14 | ||||
-rw-r--r-- | src/crypto.h | 15 |
2 files changed, 13 insertions, 16 deletions
diff --git a/src/crypto.c b/src/crypto.c index bd80242..ed86a8a 100644 --- a/src/crypto.c +++ b/src/crypto.c @@ -939,20 +939,6 @@ void blake2s_final(struct blake2s_state *state, uint8_t *out) memcpy(out, state->h, state->outlen); explicit_bzero(state, sizeof(*state)); } - -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 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 |