From aa4d426b4d3527d7e166df1a05058c9a4a0f6683 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 30 Apr 2021 00:33:56 +0200 Subject: initial/final commit --- openssl-1.1.0h/crypto/blake2/m_blake2s.c | 59 ++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 openssl-1.1.0h/crypto/blake2/m_blake2s.c (limited to 'openssl-1.1.0h/crypto/blake2/m_blake2s.c') diff --git a/openssl-1.1.0h/crypto/blake2/m_blake2s.c b/openssl-1.1.0h/crypto/blake2/m_blake2s.c new file mode 100644 index 0000000..467e91a --- /dev/null +++ b/openssl-1.1.0h/crypto/blake2/m_blake2s.c @@ -0,0 +1,59 @@ +/* + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +/* + * Derived from the BLAKE2 reference implementation written by Samuel Neves. + * Copyright 2012, Samuel Neves + * More information about the BLAKE2 hash function and its implementations + * can be found at https://blake2.net. + */ + +#include "internal/cryptlib.h" + +#ifndef OPENSSL_NO_BLAKE2 + +# include +# include +# include "blake2_locl.h" +# include "internal/evp_int.h" + +static int init(EVP_MD_CTX *ctx) +{ + return BLAKE2s_Init(EVP_MD_CTX_md_data(ctx)); +} + +static int update(EVP_MD_CTX *ctx, const void *data, size_t count) +{ + return BLAKE2s_Update(EVP_MD_CTX_md_data(ctx), data, count); +} + +static int final(EVP_MD_CTX *ctx, unsigned char *md) +{ + return BLAKE2s_Final(md, EVP_MD_CTX_md_data(ctx)); +} + +static const EVP_MD blake2s_md = { + NID_blake2s256, + 0, + BLAKE2S_DIGEST_LENGTH, + 0, + init, + update, + final, + NULL, + NULL, + BLAKE2S_BLOCKBYTES, + sizeof(EVP_MD *) + sizeof(BLAKE2S_CTX), +}; + +const EVP_MD *EVP_blake2s256(void) +{ + return (&blake2s_md); +} +#endif -- cgit v1.2.3