Skip to content

Commit

Permalink
Digest testing: improve
Browse files Browse the repository at this point in the history
Make testing digests consistent.
Add KATs for all digests.
Check unaligned input and output works.
Perform chunking tests for all digests.

Fix Blake2b and Blake2s to checkout parameters in update and final
functions.
Fix Shake256 and Shake128 to checkout parameters in absorb and squeeze
blocks functions.

Add default digest size enums for Blake2b and Blake2s.
  • Loading branch information
SparkiDev committed Feb 24, 2025
1 parent be5f203 commit ad0c9b8
Show file tree
Hide file tree
Showing 24 changed files with 4,117 additions and 2,113 deletions.
121 changes: 88 additions & 33 deletions tests/api.c
Original file line number Diff line number Diff line change
Expand Up @@ -98724,103 +98724,158 @@ TEST_CASE testCases[] = {
TEST_DECL(test_wc_InitMd5),
TEST_DECL(test_wc_Md5Update),
TEST_DECL(test_wc_Md5Final),
TEST_DECL(test_wc_Md5_KATs),
TEST_DECL(test_wc_Md5_other),
TEST_DECL(test_wc_Md5Copy),
TEST_DECL(test_wc_Md5GetHash),
TEST_DECL(test_wc_Md5Transform),
TEST_DECL(test_wc_Md5_Flags),

/* test_sha.c */
TEST_DECL(test_wc_InitSha),
TEST_DECL(test_wc_ShaUpdate),
TEST_DECL(test_wc_ShaFinal),
TEST_DECL(test_wc_ShaFinalRaw),
TEST_DECL(test_wc_Sha_KATs),
TEST_DECL(test_wc_Sha_other),
TEST_DECL(test_wc_ShaCopy),
TEST_DECL(test_wc_ShaGetHash),
TEST_DECL(test_wc_ShaTransform),
TEST_DECL(test_wc_Sha_Flags),

/* test_sha256.c */
TEST_DECL(test_wc_InitSha256),
TEST_DECL(test_wc_Sha256Update),
TEST_DECL(test_wc_Sha256Final),
TEST_DECL(test_wc_Sha256FinalRaw),
TEST_DECL(test_wc_Sha256GetFlags),
TEST_DECL(test_wc_Sha256Free),
TEST_DECL(test_wc_Sha256GetHash),
TEST_DECL(test_wc_Sha256_KATs),
TEST_DECL(test_wc_Sha256_other),
TEST_DECL(test_wc_Sha256Copy),
TEST_DECL(test_wc_Sha256GetHash),
TEST_DECL(test_wc_Sha256Transform),
TEST_DECL(test_wc_Sha256_Flags),

TEST_DECL(test_wc_InitSha224),
TEST_DECL(test_wc_Sha224Update),
TEST_DECL(test_wc_Sha224Final),
TEST_DECL(test_wc_Sha224SetFlags),
TEST_DECL(test_wc_Sha224GetFlags),
TEST_DECL(test_wc_Sha224Free),
TEST_DECL(test_wc_Sha224GetHash),
TEST_DECL(test_wc_Sha224_KATs),
TEST_DECL(test_wc_Sha224_other),
TEST_DECL(test_wc_Sha224Copy),
TEST_DECL(test_wc_Sha224GetHash),
TEST_DECL(test_wc_Sha224_Flags),

/* test_sha512.c */
TEST_DECL(test_wc_InitSha512),
TEST_DECL(test_wc_Sha512Update),
TEST_DECL(test_wc_Sha512Final),
TEST_DECL(test_wc_Sha512FinalRaw),
TEST_DECL(test_wc_Sha512GetFlags),
TEST_DECL(test_wc_Sha512Free),
TEST_DECL(test_wc_Sha512GetHash),
TEST_DECL(test_wc_Sha512_KATs),
TEST_DECL(test_wc_Sha512_other),
TEST_DECL(test_wc_Sha512Copy),
TEST_DECL(test_wc_Sha512GetHash),
TEST_DECL(test_wc_Sha512Transform),
TEST_DECL(test_wc_Sha512_Flags),

TEST_DECL(test_wc_InitSha512_224),
TEST_DECL(test_wc_Sha512_224Update),
TEST_DECL(test_wc_Sha512_224Final),
TEST_DECL(test_wc_Sha512_224FinalRaw),
TEST_DECL(test_wc_Sha512_224GetFlags),
TEST_DECL(test_wc_Sha512_224Free),
TEST_DECL(test_wc_Sha512_224GetHash),
TEST_DECL(test_wc_Sha512_224_KATs),
TEST_DECL(test_wc_Sha512_224_other),
TEST_DECL(test_wc_Sha512_224Copy),
TEST_DECL(test_wc_Sha512_224GetHash),
TEST_DECL(test_wc_Sha512_224Transform),
TEST_DECL(test_wc_Sha512_224_Flags),

TEST_DECL(test_wc_InitSha512_256),
TEST_DECL(test_wc_Sha512_256Update),
TEST_DECL(test_wc_Sha512_256Final),
TEST_DECL(test_wc_Sha512_256FinalRaw),
TEST_DECL(test_wc_Sha512_256GetFlags),
TEST_DECL(test_wc_Sha512_256Free),
TEST_DECL(test_wc_Sha512_256GetHash),
TEST_DECL(test_wc_Sha512_256_KATs),
TEST_DECL(test_wc_Sha512_256_other),
TEST_DECL(test_wc_Sha512_256Copy),
TEST_DECL(test_wc_Sha512_256GetHash),
TEST_DECL(test_wc_Sha512_256Transform),
TEST_DECL(test_wc_Sha512_256_Flags),

TEST_DECL(test_wc_InitSha384),
TEST_DECL(test_wc_Sha384Update),
TEST_DECL(test_wc_Sha384Final),
TEST_DECL(test_wc_Sha384FinalRaw),
TEST_DECL(test_wc_Sha384GetFlags),
TEST_DECL(test_wc_Sha384Free),
TEST_DECL(test_wc_Sha384GetHash),
TEST_DECL(test_wc_Sha384_KATs),
TEST_DECL(test_wc_Sha384_other),
TEST_DECL(test_wc_Sha384Copy),
TEST_DECL(test_wc_Sha384GetHash),
TEST_DECL(test_wc_Sha384_Flags),

/* test_sha3.c */
TEST_DECL(test_wc_InitSha3),
TEST_DECL(test_wc_Sha3_Update),
TEST_DECL(test_wc_Sha3_224_Final),
TEST_DECL(test_wc_Sha3_256_Final),
TEST_DECL(test_wc_Sha3_384_Final),
TEST_DECL(test_wc_Sha3_512_Final),
TEST_DECL(test_wc_Sha3_224_Copy),
TEST_DECL(test_wc_Sha3_256_Copy),
TEST_DECL(test_wc_Sha3_384_Copy),
TEST_DECL(test_wc_Sha3_512_Copy),
TEST_DECL(test_wc_Sha3_GetFlags),
TEST_DECL(test_wc_Sha3_Final),
TEST_DECL(test_wc_Sha3_224_KATs),
TEST_DECL(test_wc_Sha3_256_KATs),
TEST_DECL(test_wc_Sha3_384_KATs),
TEST_DECL(test_wc_Sha3_512_KATs),
TEST_DECL(test_wc_Sha3_other),
TEST_DECL(test_wc_Sha3_Copy),
TEST_DECL(test_wc_Sha3_GetHash),
TEST_DECL(test_wc_Sha3_Flags),

TEST_DECL(test_wc_InitShake128),
TEST_DECL(test_wc_Shake128_Update),
TEST_DECL(test_wc_Shake128_Final),
TEST_DECL(test_wc_Shake128_KATs),
TEST_DECL(test_wc_Shake128_other),
TEST_DECL(test_wc_Shake128_Copy),
TEST_DECL(test_wc_Shake128Hash),
TEST_DECL(test_wc_Shake128_Absorb),
TEST_DECL(test_wc_Shake128_SqueezeBlocks),
TEST_DECL(test_wc_Shake128_XOF),

TEST_DECL(test_wc_InitShake256),
TEST_DECL(test_wc_Shake256_Update),
TEST_DECL(test_wc_Shake256_Final),
TEST_DECL(test_wc_Shake256_KATs),
TEST_DECL(test_wc_Shake256_other),
TEST_DECL(test_wc_Shake256_Copy),
TEST_DECL(test_wc_Shake256Hash),
TEST_DECL(test_wc_Shake256_Absorb),
TEST_DECL(test_wc_Shake256_SqueezeBlocks),
TEST_DECL(test_wc_Shake256_XOF),

/* test_blake.c */
TEST_DECL(test_wc_InitBlake2b),
TEST_DECL(test_wc_InitBlake2b_WithKey),
TEST_DECL(test_wc_Blake2bUpdate),
TEST_DECL(test_wc_Blake2bFinal),
TEST_DECL(test_wc_Blake2b_KATs),
TEST_DECL(test_wc_Blake2b_other),

TEST_DECL(test_wc_InitBlake2s),
TEST_DECL(test_wc_InitBlake2s_WithKey),
TEST_DECL(test_wc_Blake2sUpdate),
TEST_DECL(test_wc_Blake2sFinal),
TEST_DECL(test_wc_Blake2s_KATs),
TEST_DECL(test_wc_Blake2s_other),

/* test_sm3.c: SM3 Digest */
TEST_DECL(test_wc_InitSm3Free),
TEST_DECL(test_wc_Sm3UpdateFinal),
TEST_DECL(test_wc_Sm3GetHash),
TEST_DECL(test_wc_Sm3Copy),
TEST_DECL(test_wc_InitSm3),
TEST_DECL(test_wc_Sm3Update),
TEST_DECL(test_wc_Sm3Final),
TEST_DECL(test_wc_Sm3FinalRaw),
TEST_DECL(test_wc_Sm3GetSetFlags),
TEST_DECL(test_wc_Sm3_KATs),
TEST_DECL(test_wc_Sm3_other),
TEST_DECL(test_wc_Sm3Copy),
TEST_DECL(test_wc_Sm3GetHash),
TEST_DECL(test_wc_Sm3_Flags),
TEST_DECL(test_wc_Sm3Hash),

/* test_ripemd.c */
TEST_DECL(test_wc_InitRipeMd),
TEST_DECL(test_wc_RipeMdUpdate),
TEST_DECL(test_wc_RipeMdFinal),
TEST_DECL(test_wc_RipeMd_KATs),
TEST_DECL(test_wc_RipeMd_other),

/* test_hash.c */
TEST_DECL(test_wc_HashInit),
Expand Down
Loading

0 comments on commit ad0c9b8

Please sign in to comment.