diff options
author | Kurt Roeckx <kurt@roeckx.be> | 2016-03-10 00:49:55 +0100 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2016-03-11 10:39:10 -0500 |
commit | 208527a75dd9584e2715c0eebcfad8c730d0dfae (patch) | |
tree | a5f56cd5debd4bb9fbe29f0a1f0df8075b236753 /crypto/blake2/blake2s.c | |
parent | 2d0b44126763f989a4cbffbffe9d0c7518158bb7 (diff) | |
download | openssl-208527a75dd9584e2715c0eebcfad8c730d0dfae.zip openssl-208527a75dd9584e2715c0eebcfad8c730d0dfae.tar.gz openssl-208527a75dd9584e2715c0eebcfad8c730d0dfae.tar.bz2 |
Review comments
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'crypto/blake2/blake2s.c')
-rw-r--r-- | crypto/blake2/blake2s.c | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/crypto/blake2/blake2s.c b/crypto/blake2/blake2s.c index 174d20c..eee615d 100644 --- a/crypto/blake2/blake2s.c +++ b/crypto/blake2/blake2s.c @@ -1,33 +1,31 @@ /* - * BLAKE2 reference source code package - reference C implementations - * * Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. - * You may use this under the terms of the CC0, the OpenSSL Licence, or the - * Apache Public License 2.0, at your option. The terms of these licenses can - * be found at: - * - * - OpenSSL license : https://www.openssl.org/source/license.html - * - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 - * - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. * - * More information about the BLAKE2 hash function can be found at - * https://blake2.net. + * Licensed under the OpenSSL licenses, (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * https://www.openssl.org/source/license.html + * or in the file LICENSE in the source distribution. */ -/* crypto/blake2/blake2s.c */ +/* + * Derived from the BLAKE2 reference implementation written by Samuel Neves. + * More information about the BLAKE2 hash function and its implementations + * can be found at https://blake2.net. + */ -#include <stdint.h> #include <string.h> -#include <stdio.h> #include <openssl/crypto.h> +#include "e_os.h" #include "internal/blake2_locl.h" #include "blake2_impl.h" static const uint32_t blake2s_IV[8] = { - 0x6A09E667UL, 0xBB67AE85UL, 0x3C6EF372UL, 0xA54FF53AUL, - 0x510E527FUL, 0x9B05688CUL, 0x1F83D9ABUL, 0x5BE0CD19UL + 0x6A09E667U, 0xBB67AE85U, 0x3C6EF372U, 0xA54FF53AU, + 0x510E527FU, 0x9B05688CU, 0x1F83D9ABU, 0x5BE0CD19U }; static const uint8_t blake2s_sigma[10][16] = @@ -44,22 +42,22 @@ static const uint8_t blake2s_sigma[10][16] = { 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13 , 0 } , }; -/* Some helper functions, not necessarily useful */ -static inline void blake2s_set_lastblock(BLAKE2S_CTX *S) +/* Set that it's the last block we'll compress */ +static ossl_inline void blake2s_set_lastblock(BLAKE2S_CTX *S) { - S->f[0] = -1; + S->f[0] = -1; } -/* Increment the data hashed couter. */ -static inline void blake2s_increment_counter(BLAKE2S_CTX *S, - const uint32_t inc) +/* Increment the data hashed counter. */ +static ossl_inline void blake2s_increment_counter(BLAKE2S_CTX *S, + const uint32_t inc) { S->t[0] += inc; S->t[1] += (S->t[0] < inc); } /* Initialize the hashing state. */ -static inline void blake2s_init0(BLAKE2S_CTX *S) +static ossl_inline void blake2s_init0(BLAKE2S_CTX *S) { int i; @@ -98,7 +96,6 @@ int BLAKE2s_Init(BLAKE2S_CTX *c) store48(&P->node_offset, 0); P->node_depth = 0; P->inner_length = 0; - /* memset(P->reserved, 0, sizeof(P->reserved)); */ memset(P->salt, 0, sizeof(P->salt)); memset(P->personal, 0, sizeof(P->personal)); blake2s_init_param(c, P); @@ -197,7 +194,7 @@ int BLAKE2s_Update(BLAKE2S_CTX *c, const void *data, size_t datalen) } /* - * Finalize the hash state in a way that avoids length extension attacks. + * Calculate the final hash and save it in md. * Always returns 1. */ int BLAKE2s_Final(unsigned char *md, BLAKE2S_CTX *c) |