Latest update

This commit is contained in:
2018-11-14 11:44:01 +09:00
parent d9b6665b74
commit 11ee7ab640
51 changed files with 1992 additions and 849 deletions
+30
View File
@@ -59,6 +59,11 @@ static int shake_init(EVP_MD_CTX *evp_ctx)
return init(evp_ctx, '\x1f');
}
static int kmac_init(EVP_MD_CTX *evp_ctx)
{
return init(evp_ctx, '\x04');
}
static int sha3_update(EVP_MD_CTX *evp_ctx, const void *_inp, size_t len)
{
KECCAK1600_CTX *ctx = evp_ctx->md_data;
@@ -395,6 +400,7 @@ const EVP_MD *EVP_shake##bitlen(void) \
}; \
return &shake##bitlen##_md; \
}
#endif
EVP_MD_SHA3(224)
@@ -404,3 +410,27 @@ EVP_MD_SHA3(512)
EVP_MD_SHAKE(128)
EVP_MD_SHAKE(256)
# define EVP_MD_KECCAK_KMAC(bitlen) \
const EVP_MD *evp_keccak_kmac##bitlen(void) \
{ \
static const EVP_MD kmac_##bitlen##_md = { \
-1, \
0, \
2 * bitlen / 8, \
EVP_MD_FLAG_XOF, \
kmac_init, \
sha3_update, \
sha3_final, \
NULL, \
NULL, \
(KECCAK1600_WIDTH - bitlen * 2) / 8, \
sizeof(KECCAK1600_CTX), \
shake_ctrl \
}; \
return &kmac_##bitlen##_md; \
}
EVP_MD_KECCAK_KMAC(128)
EVP_MD_KECCAK_KMAC(256)