diff options
author | dimitri staessens <[email protected]> | 2017-04-16 09:40:32 +0200 |
---|---|---|
committer | dimitri staessens <[email protected]> | 2017-04-16 09:40:32 +0200 |
commit | ffc4468030398955ec56dac17934b43adfeab68b (patch) | |
tree | 5586e971b0924d6a888cbe11ff09f68bcba12edb /src/lib/tests | |
parent | e543c43c9f911bbe40371e3c6ca5c916cb3365a9 (diff) | |
download | ouroboros-ffc4468030398955ec56dac17934b43adfeab68b.tar.gz ouroboros-ffc4468030398955ec56dac17934b43adfeab68b.zip |
lib: Fix minor things in sha3 implementation
Diffstat (limited to 'src/lib/tests')
-rw-r--r-- | src/lib/tests/sha3_test.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/lib/tests/sha3_test.c b/src/lib/tests/sha3_test.c index 8f1bce05..0d0e8d0a 100644 --- a/src/lib/tests/sha3_test.c +++ b/src/lib/tests/sha3_test.c @@ -149,6 +149,12 @@ int sha3_test(int argc, "ijklmnopjklmnopqklmnopqrlmnopqrs" "mnopqrstnopqrstu"; + char * str4_inp2 = + " abcdefghbcdefghicdefghijdefghijk" + "efghijklfghijklmghijklmnhijklmno" + "ijklmnopjklmnopqklmnopqrlmnopqrs" + "mnopqrstnopqrstu"; + char * str4_224 = "543e6868e1666c1a643630df77367ae5" "a62a85070a51c14cbf665cbc"; @@ -292,5 +298,36 @@ int sha3_test(int argc, if (check_hash(str4_512, res, SHA3_512_HASH_LEN)) return -1; + /* unaligned 4th input string. */ + printf("test: %s.\n\n", str4_inp2 + 1); + + rhash_sha3_224_init(&ctx); + rhash_sha3_update(&ctx, str4_inp2 + 1, strlen(str4_inp2 + 1)); + rhash_sha3_final(&ctx, res); + + if (check_hash(str4_224, res, SHA3_224_HASH_LEN)) + return -1; + + rhash_sha3_256_init(&ctx); + rhash_sha3_update(&ctx, str4_inp2 + 1, strlen(str4_inp2 + 1)); + rhash_sha3_final(&ctx, res); + + if (check_hash(str4_256, res, SHA3_256_HASH_LEN)) + return -1; + + rhash_sha3_384_init(&ctx); + rhash_sha3_update(&ctx, str4_inp2 + 1, strlen(str4_inp2 + 1)); + rhash_sha3_final(&ctx, res); + + if (check_hash(str4_384, res, SHA3_384_HASH_LEN)) + return -1; + + rhash_sha3_512_init(&ctx); + rhash_sha3_update(&ctx, str4_inp2 + 1, strlen(str4_inp2 + 1)); + rhash_sha3_final(&ctx, res); + + if (check_hash(str4_512, res, SHA3_512_HASH_LEN)) + return -1; + return 0; } |