|
|
|
@ -19,7 +19,9 @@
|
|
|
|
|
|
|
|
|
|
#include <assert.h>
|
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
|
|
#include "sha3.h"
|
|
|
|
|
#include "macros.h"
|
|
|
|
|
|
|
|
|
|
#define I64(x) x##LL
|
|
|
|
|
#define ROTL64(qword, n) ((qword) << (n) ^ ((qword) >> (64 - (n))))
|
|
|
|
@ -329,6 +331,7 @@ void sha3_Final(SHA3_CTX *ctx, unsigned char* result)
|
|
|
|
|
|
|
|
|
|
assert(block_size > digest_length);
|
|
|
|
|
if (result) me64_to_le_str(result, ctx->hash, digest_length);
|
|
|
|
|
MEMSET_BZERO(ctx, sizeof(SHA3_CTX));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#if USE_KECCAK
|
|
|
|
@ -357,6 +360,7 @@ void keccak_Final(SHA3_CTX *ctx, unsigned char* result)
|
|
|
|
|
|
|
|
|
|
assert(block_size > digest_length);
|
|
|
|
|
if (result) me64_to_le_str(result, ctx->hash, digest_length);
|
|
|
|
|
MEMSET_BZERO(ctx, sizeof(SHA3_CTX));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void keccak_256(const unsigned char* data, size_t len, unsigned char* digest)
|
|
|
|
|