From cf181decc7d7e7a5e58c3c978d409691de2c06dd Mon Sep 17 00:00:00 2001 From: "Matthias J. Kannwischer" Date: Mon, 3 Jun 2019 22:12:37 +0200 Subject: [PATCH] refactor hash to use size_t --- .../rainbowIa-classic/clean/utils_hash.c | 22 ++++++++++--------- .../rainbowIa-classic/clean/utils_hash.h | 3 ++- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/crypto_sign/rainbowIa-classic/clean/utils_hash.c b/crypto_sign/rainbowIa-classic/clean/utils_hash.c index 8c9e3aab..358a20f7 100644 --- a/crypto_sign/rainbowIa-classic/clean/utils_hash.c +++ b/crypto_sign/rainbowIa-classic/clean/utils_hash.c @@ -9,7 +9,7 @@ #include "utils_hash.h" static inline -int _hash( unsigned char *digest, const unsigned char *m, unsigned long long mlen ) { +int _hash( unsigned char *digest, const unsigned char *m, size_t mlen ) { // #if 32 == _HASH_LEN sha256(digest, m, mlen); // #elif 48 == _HASH_LEN @@ -23,20 +23,20 @@ int _hash( unsigned char *digest, const unsigned char *m, unsigned long long mle } static inline -int expand_hash( unsigned char *digest, unsigned n_digest, const unsigned char *hash ) { +int expand_hash(unsigned char *digest, size_t n_digest, const unsigned char *hash) { if ( _HASH_LEN >= n_digest ) { - for (unsigned i = 0; i < n_digest; i++) { + for (size_t i = 0; i < n_digest; i++) { digest[i] = hash[i]; } return 0; } - for (unsigned i = 0; i < _HASH_LEN; i++) { + for (size_t i = 0; i < _HASH_LEN; i++) { digest[i] = hash[i]; } n_digest -= _HASH_LEN; - while ( _HASH_LEN <= n_digest ) { + while (_HASH_LEN <= n_digest ) { _hash( digest + _HASH_LEN, digest, _HASH_LEN ); n_digest -= _HASH_LEN; @@ -45,18 +45,20 @@ int expand_hash( unsigned char *digest, unsigned n_digest, const unsigned char * unsigned char temp[_HASH_LEN]; if ( n_digest ) { _hash( temp, digest, _HASH_LEN ); - for (unsigned i = 0; i < n_digest; i++) { + for (size_t i = 0; i < n_digest; i++) { digest[_HASH_LEN + i] = temp[i]; } } return 0; } -int PQCLEAN_RAINBOWIACLASSIC_CLEAN_hash_msg( unsigned char *digest, unsigned len_digest, const unsigned char *m, unsigned long long mlen ) { +int PQCLEAN_RAINBOWIACLASSIC_CLEAN_hash_msg(unsigned char *digest, + size_t len_digest, + const unsigned char *m, + size_t mlen) { unsigned char buf[_HASH_LEN]; - _hash( buf, m, mlen ); - - return expand_hash( digest, len_digest, buf ); + _hash(buf, m, mlen); + return expand_hash(digest, len_digest, buf); } diff --git a/crypto_sign/rainbowIa-classic/clean/utils_hash.h b/crypto_sign/rainbowIa-classic/clean/utils_hash.h index ba234866..9c011a2e 100644 --- a/crypto_sign/rainbowIa-classic/clean/utils_hash.h +++ b/crypto_sign/rainbowIa-classic/clean/utils_hash.h @@ -7,8 +7,9 @@ // for the definition of _HASH_LEN. #include "hash_len_config.h" +#include -int PQCLEAN_RAINBOWIACLASSIC_CLEAN_hash_msg( unsigned char *digest, unsigned len_digest, const unsigned char *m, unsigned long long mlen ); +int PQCLEAN_RAINBOWIACLASSIC_CLEAN_hash_msg( unsigned char *digest, size_t len_digest, const unsigned char *m, size_t mlen );