diff options
Diffstat (limited to 'lib/crypto/blake2s.c')
| -rw-r--r-- | lib/crypto/blake2s.c | 41 | 
1 files changed, 2 insertions, 39 deletions
diff --git a/lib/crypto/blake2s.c b/lib/crypto/blake2s.c index 93f2ae051370..c71c09621c09 100644 --- a/lib/crypto/blake2s.c +++ b/lib/crypto/blake2s.c @@ -18,55 +18,18 @@  void blake2s_update(struct blake2s_state *state, const u8 *in, size_t inlen)  { -	__blake2s_update(state, in, inlen, blake2s_compress); +	__blake2s_update(state, in, inlen, false);  }  EXPORT_SYMBOL(blake2s_update);  void blake2s_final(struct blake2s_state *state, u8 *out)  {  	WARN_ON(IS_ENABLED(DEBUG) && !out); -	__blake2s_final(state, out, blake2s_compress); +	__blake2s_final(state, out, false);  	memzero_explicit(state, sizeof(*state));  }  EXPORT_SYMBOL(blake2s_final); -void blake2s256_hmac(u8 *out, const u8 *in, const u8 *key, const size_t inlen, -		     const size_t keylen) -{ -	struct blake2s_state state; -	u8 x_key[BLAKE2S_BLOCK_SIZE] __aligned(__alignof__(u32)) = { 0 }; -	u8 i_hash[BLAKE2S_HASH_SIZE] __aligned(__alignof__(u32)); -	int i; - -	if (keylen > BLAKE2S_BLOCK_SIZE) { -		blake2s_init(&state, BLAKE2S_HASH_SIZE); -		blake2s_update(&state, key, keylen); -		blake2s_final(&state, x_key); -	} else -		memcpy(x_key, key, keylen); - -	for (i = 0; i < BLAKE2S_BLOCK_SIZE; ++i) -		x_key[i] ^= 0x36; - -	blake2s_init(&state, BLAKE2S_HASH_SIZE); -	blake2s_update(&state, x_key, BLAKE2S_BLOCK_SIZE); -	blake2s_update(&state, in, inlen); -	blake2s_final(&state, i_hash); - -	for (i = 0; i < BLAKE2S_BLOCK_SIZE; ++i) -		x_key[i] ^= 0x5c ^ 0x36; - -	blake2s_init(&state, BLAKE2S_HASH_SIZE); -	blake2s_update(&state, x_key, BLAKE2S_BLOCK_SIZE); -	blake2s_update(&state, i_hash, BLAKE2S_HASH_SIZE); -	blake2s_final(&state, i_hash); - -	memcpy(out, i_hash, BLAKE2S_HASH_SIZE); -	memzero_explicit(x_key, BLAKE2S_BLOCK_SIZE); -	memzero_explicit(i_hash, BLAKE2S_HASH_SIZE); -} -EXPORT_SYMBOL(blake2s256_hmac); -  static int __init blake2s_mod_init(void)  {  	if (!IS_ENABLED(CONFIG_CRYPTO_MANAGER_DISABLE_TESTS) &&  |