Skip to content

Commit 6016cc0

Browse files
committed
Digest testing: improve
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.
1 parent be5f203 commit 6016cc0

26 files changed

Lines changed: 4155 additions & 2088 deletions

tests/api.c

Lines changed: 88 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -98724,103 +98724,158 @@ TEST_CASE testCases[] = {
9872498724
TEST_DECL(test_wc_InitMd5),
9872598725
TEST_DECL(test_wc_Md5Update),
9872698726
TEST_DECL(test_wc_Md5Final),
98727+
TEST_DECL(test_wc_Md5_KATs),
98728+
TEST_DECL(test_wc_Md5_other),
98729+
TEST_DECL(test_wc_Md5Copy),
98730+
TEST_DECL(test_wc_Md5GetHash),
98731+
TEST_DECL(test_wc_Md5Transform),
98732+
TEST_DECL(test_wc_Md5_Flags),
98733+
98734+
/* test_sha.c */
9872798735
TEST_DECL(test_wc_InitSha),
9872898736
TEST_DECL(test_wc_ShaUpdate),
9872998737
TEST_DECL(test_wc_ShaFinal),
98738+
TEST_DECL(test_wc_ShaFinalRaw),
98739+
TEST_DECL(test_wc_Sha_KATs),
98740+
TEST_DECL(test_wc_Sha_other),
98741+
TEST_DECL(test_wc_ShaCopy),
98742+
TEST_DECL(test_wc_ShaGetHash),
98743+
TEST_DECL(test_wc_ShaTransform),
98744+
TEST_DECL(test_wc_Sha_Flags),
9873098745

9873198746
/* test_sha256.c */
9873298747
TEST_DECL(test_wc_InitSha256),
9873398748
TEST_DECL(test_wc_Sha256Update),
9873498749
TEST_DECL(test_wc_Sha256Final),
9873598750
TEST_DECL(test_wc_Sha256FinalRaw),
98736-
TEST_DECL(test_wc_Sha256GetFlags),
98737-
TEST_DECL(test_wc_Sha256Free),
98738-
TEST_DECL(test_wc_Sha256GetHash),
98751+
TEST_DECL(test_wc_Sha256_KATs),
98752+
TEST_DECL(test_wc_Sha256_other),
9873998753
TEST_DECL(test_wc_Sha256Copy),
98754+
TEST_DECL(test_wc_Sha256GetHash),
98755+
TEST_DECL(test_wc_Sha256Transform),
98756+
TEST_DECL(test_wc_Sha256_Flags),
9874098757

9874198758
TEST_DECL(test_wc_InitSha224),
9874298759
TEST_DECL(test_wc_Sha224Update),
9874398760
TEST_DECL(test_wc_Sha224Final),
98744-
TEST_DECL(test_wc_Sha224SetFlags),
98745-
TEST_DECL(test_wc_Sha224GetFlags),
98746-
TEST_DECL(test_wc_Sha224Free),
98747-
TEST_DECL(test_wc_Sha224GetHash),
98761+
TEST_DECL(test_wc_Sha224_KATs),
98762+
TEST_DECL(test_wc_Sha224_other),
9874898763
TEST_DECL(test_wc_Sha224Copy),
98764+
TEST_DECL(test_wc_Sha224GetHash),
98765+
TEST_DECL(test_wc_Sha224_Flags),
9874998766

9875098767
/* test_sha512.c */
9875198768
TEST_DECL(test_wc_InitSha512),
9875298769
TEST_DECL(test_wc_Sha512Update),
9875398770
TEST_DECL(test_wc_Sha512Final),
9875498771
TEST_DECL(test_wc_Sha512FinalRaw),
98755-
TEST_DECL(test_wc_Sha512GetFlags),
98756-
TEST_DECL(test_wc_Sha512Free),
98757-
TEST_DECL(test_wc_Sha512GetHash),
98772+
TEST_DECL(test_wc_Sha512_KATs),
98773+
TEST_DECL(test_wc_Sha512_other),
9875898774
TEST_DECL(test_wc_Sha512Copy),
98775+
TEST_DECL(test_wc_Sha512GetHash),
98776+
TEST_DECL(test_wc_Sha512Transform),
98777+
TEST_DECL(test_wc_Sha512_Flags),
9875998778

9876098779
TEST_DECL(test_wc_InitSha512_224),
9876198780
TEST_DECL(test_wc_Sha512_224Update),
9876298781
TEST_DECL(test_wc_Sha512_224Final),
9876398782
TEST_DECL(test_wc_Sha512_224FinalRaw),
98764-
TEST_DECL(test_wc_Sha512_224GetFlags),
98765-
TEST_DECL(test_wc_Sha512_224Free),
98766-
TEST_DECL(test_wc_Sha512_224GetHash),
98783+
TEST_DECL(test_wc_Sha512_224_KATs),
98784+
TEST_DECL(test_wc_Sha512_224_other),
9876798785
TEST_DECL(test_wc_Sha512_224Copy),
98786+
TEST_DECL(test_wc_Sha512_224GetHash),
98787+
TEST_DECL(test_wc_Sha512_224Transform),
98788+
TEST_DECL(test_wc_Sha512_224_Flags),
9876898789

9876998790
TEST_DECL(test_wc_InitSha512_256),
9877098791
TEST_DECL(test_wc_Sha512_256Update),
9877198792
TEST_DECL(test_wc_Sha512_256Final),
9877298793
TEST_DECL(test_wc_Sha512_256FinalRaw),
98773-
TEST_DECL(test_wc_Sha512_256GetFlags),
98774-
TEST_DECL(test_wc_Sha512_256Free),
98775-
TEST_DECL(test_wc_Sha512_256GetHash),
98794+
TEST_DECL(test_wc_Sha512_256_KATs),
98795+
TEST_DECL(test_wc_Sha512_256_other),
9877698796
TEST_DECL(test_wc_Sha512_256Copy),
98797+
TEST_DECL(test_wc_Sha512_256GetHash),
98798+
TEST_DECL(test_wc_Sha512_256Transform),
98799+
TEST_DECL(test_wc_Sha512_256_Flags),
9877798800

9877898801
TEST_DECL(test_wc_InitSha384),
9877998802
TEST_DECL(test_wc_Sha384Update),
9878098803
TEST_DECL(test_wc_Sha384Final),
9878198804
TEST_DECL(test_wc_Sha384FinalRaw),
98782-
TEST_DECL(test_wc_Sha384GetFlags),
98783-
TEST_DECL(test_wc_Sha384Free),
98784-
TEST_DECL(test_wc_Sha384GetHash),
98805+
TEST_DECL(test_wc_Sha384_KATs),
98806+
TEST_DECL(test_wc_Sha384_other),
9878598807
TEST_DECL(test_wc_Sha384Copy),
98808+
TEST_DECL(test_wc_Sha384GetHash),
98809+
TEST_DECL(test_wc_Sha384_Flags),
9878698810

9878798811
/* test_sha3.c */
9878898812
TEST_DECL(test_wc_InitSha3),
9878998813
TEST_DECL(test_wc_Sha3_Update),
98790-
TEST_DECL(test_wc_Sha3_224_Final),
98791-
TEST_DECL(test_wc_Sha3_256_Final),
98792-
TEST_DECL(test_wc_Sha3_384_Final),
98793-
TEST_DECL(test_wc_Sha3_512_Final),
98794-
TEST_DECL(test_wc_Sha3_224_Copy),
98795-
TEST_DECL(test_wc_Sha3_256_Copy),
98796-
TEST_DECL(test_wc_Sha3_384_Copy),
98797-
TEST_DECL(test_wc_Sha3_512_Copy),
98798-
TEST_DECL(test_wc_Sha3_GetFlags),
98814+
TEST_DECL(test_wc_Sha3_Final),
98815+
TEST_DECL(test_wc_Sha3_224_KATs),
98816+
TEST_DECL(test_wc_Sha3_256_KATs),
98817+
TEST_DECL(test_wc_Sha3_384_KATs),
98818+
TEST_DECL(test_wc_Sha3_512_KATs),
98819+
TEST_DECL(test_wc_Sha3_other),
98820+
TEST_DECL(test_wc_Sha3_Copy),
98821+
TEST_DECL(test_wc_Sha3_GetHash),
98822+
TEST_DECL(test_wc_Sha3_Flags),
98823+
98824+
TEST_DECL(test_wc_InitShake128),
98825+
TEST_DECL(test_wc_Shake128_Update),
98826+
TEST_DECL(test_wc_Shake128_Final),
98827+
TEST_DECL(test_wc_Shake128_KATs),
98828+
TEST_DECL(test_wc_Shake128_other),
98829+
TEST_DECL(test_wc_Shake128_Copy),
98830+
TEST_DECL(test_wc_Shake128Hash),
98831+
TEST_DECL(test_wc_Shake128_Absorb),
98832+
TEST_DECL(test_wc_Shake128_SqueezeBlocks),
98833+
TEST_DECL(test_wc_Shake128_XOF),
9879998834

9880098835
TEST_DECL(test_wc_InitShake256),
9880198836
TEST_DECL(test_wc_Shake256_Update),
9880298837
TEST_DECL(test_wc_Shake256_Final),
98838+
TEST_DECL(test_wc_Shake256_KATs),
98839+
TEST_DECL(test_wc_Shake256_other),
9880398840
TEST_DECL(test_wc_Shake256_Copy),
9880498841
TEST_DECL(test_wc_Shake256Hash),
98842+
TEST_DECL(test_wc_Shake256_Absorb),
98843+
TEST_DECL(test_wc_Shake256_SqueezeBlocks),
98844+
TEST_DECL(test_wc_Shake256_XOF),
9880598845

9880698846
/* test_blake.c */
9880798847
TEST_DECL(test_wc_InitBlake2b),
9880898848
TEST_DECL(test_wc_InitBlake2b_WithKey),
98849+
TEST_DECL(test_wc_Blake2bUpdate),
98850+
TEST_DECL(test_wc_Blake2bFinal),
98851+
TEST_DECL(test_wc_Blake2b_KATs),
98852+
TEST_DECL(test_wc_Blake2b_other),
98853+
98854+
TEST_DECL(test_wc_InitBlake2s),
9880998855
TEST_DECL(test_wc_InitBlake2s_WithKey),
98856+
TEST_DECL(test_wc_Blake2sUpdate),
98857+
TEST_DECL(test_wc_Blake2sFinal),
98858+
TEST_DECL(test_wc_Blake2s_KATs),
98859+
TEST_DECL(test_wc_Blake2s_other),
9881098860

9881198861
/* test_sm3.c: SM3 Digest */
98812-
TEST_DECL(test_wc_InitSm3Free),
98813-
TEST_DECL(test_wc_Sm3UpdateFinal),
98814-
TEST_DECL(test_wc_Sm3GetHash),
98815-
TEST_DECL(test_wc_Sm3Copy),
98862+
TEST_DECL(test_wc_InitSm3),
98863+
TEST_DECL(test_wc_Sm3Update),
98864+
TEST_DECL(test_wc_Sm3Final),
9881698865
TEST_DECL(test_wc_Sm3FinalRaw),
98817-
TEST_DECL(test_wc_Sm3GetSetFlags),
98866+
TEST_DECL(test_wc_Sm3_KATs),
98867+
TEST_DECL(test_wc_Sm3_other),
98868+
TEST_DECL(test_wc_Sm3Copy),
98869+
TEST_DECL(test_wc_Sm3GetHash),
98870+
TEST_DECL(test_wc_Sm3_Flags),
9881898871
TEST_DECL(test_wc_Sm3Hash),
9881998872

9882098873
/* test_ripemd.c */
9882198874
TEST_DECL(test_wc_InitRipeMd),
9882298875
TEST_DECL(test_wc_RipeMdUpdate),
9882398876
TEST_DECL(test_wc_RipeMdFinal),
98877+
TEST_DECL(test_wc_RipeMd_KATs),
98878+
TEST_DECL(test_wc_RipeMd_other),
9882498879

9882598880
/* test_hash.c */
9882698881
TEST_DECL(test_wc_HashInit),

tests/api/include.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ EXTRA_DIST += tests/api/test_sha3.h
2323
EXTRA_DIST += tests/api/test_blake2.h
2424
EXTRA_DIST += tests/api/test_sm3.h
2525
EXTRA_DIST += tests/api/test_ripemd.h
26+
EXTRA_DIST += tests/api/test_digest.h
2627
EXTRA_DIST += tests/api/test_hash.h
2728
EXTRA_DIST += tests/api/test_ascon.h
2829
EXTRA_DIST += tests/api/test_ascon.h

0 commit comments

Comments
 (0)