summaryrefslogtreecommitdiff
path: root/scripts/crypto/gen-hash-testvecs.py
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2025-10-26 08:50:22 +0300
committerEric Biggers <ebiggers@kernel.org>2025-11-11 22:07:36 +0300
commit15c64c47e48472875c2b85838581843f05057787 (patch)
tree1560373e36efddceb8eaf7ac97ccf6537ed4d5cb /scripts/crypto/gen-hash-testvecs.py
parent6401fd334ddf5e2035a0dca27cd761974d568fcd (diff)
downloadlinux-15c64c47e48472875c2b85838581843f05057787.tar.xz
lib/crypto: tests: Add SHA3 kunit tests
Add a SHA3 kunit test suite, providing the following: (*) A simple test of each of SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128 and SHAKE256. (*) NIST 0- and 1600-bit test vectors for SHAKE128 and SHAKE256. (*) Output tiling (multiple squeezing) tests for SHAKE256. (*) Standard hash template test for SHA3-256. To make this possible, gen-hash-testvecs.py is modified to support sha3-256. (*) Standard benchmark test for SHA3-256. [EB: dropped some unnecessary changes to gen-hash-testvecs.py, moved addition of Testing section in doc file into this commit, and other small cleanups] Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Tested-by: Harald Freudenberger <freude@linux.ibm.com> Link: https://lore.kernel.org/r/20251026055032.1413733-6-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Diffstat (limited to 'scripts/crypto/gen-hash-testvecs.py')
-rwxr-xr-xscripts/crypto/gen-hash-testvecs.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/scripts/crypto/gen-hash-testvecs.py b/scripts/crypto/gen-hash-testvecs.py
index c5b7985fe728..47f79602e290 100755
--- a/scripts/crypto/gen-hash-testvecs.py
+++ b/scripts/crypto/gen-hash-testvecs.py
@@ -87,7 +87,7 @@ def print_c_struct_u8_array_field(name, value):
def alg_digest_size_const(alg):
if alg.startswith('blake2'):
return f'{alg.upper()}_HASH_SIZE'
- return f'{alg.upper()}_DIGEST_SIZE'
+ return f'{alg.upper().replace('-', '_')}_DIGEST_SIZE'
def gen_unkeyed_testvecs(alg):
print('')
@@ -167,5 +167,7 @@ if alg.startswith('blake2'):
gen_additional_blake2_testvecs(alg)
elif alg == 'poly1305':
gen_additional_poly1305_testvecs()
+elif alg.startswith('sha3-'):
+ pass # no HMAC
else:
gen_hmac_testvecs(alg)