]> git.ipfire.org Git - thirdparty/linux.git/commit
lib/crypto: tests: Add hash-test-template.h and gen-hash-testvecs.py
authorEric Biggers <ebiggers@kernel.org>
Wed, 9 Jul 2025 20:01:09 +0000 (13:01 -0700)
committerEric Biggers <ebiggers@kernel.org>
Mon, 14 Jul 2025 18:29:36 +0000 (11:29 -0700)
commit950a81224e8bda92813c5ecf851f488c94f06aba
tree61f1ac35af1717e49b071b4c134396c8509f9b32
parentc76ed8790b3018fe36647d9aae96e0373f321184
lib/crypto: tests: Add hash-test-template.h and gen-hash-testvecs.py

Add hash-test-template.h which generates the following KUnit test cases
for hash functions:

    test_hash_test_vectors
    test_hash_all_lens_up_to_4096
    test_hash_incremental_updates
    test_hash_buffer_overruns
    test_hash_overlaps
    test_hash_alignment_consistency
    test_hash_ctx_zeroization
    test_hash_interrupt_context_1
    test_hash_interrupt_context_2
    test_hmac  (when HMAC is supported)
    benchmark_hash  (when CONFIG_CRYPTO_LIB_BENCHMARK=y)

The initial use cases for this will be sha224_kunit, sha256_kunit,
sha384_kunit, sha512_kunit, and poly1305_kunit.

Add a Python script gen-hash-testvecs.py which generates the test
vectors required by test_hash_test_vectors,
test_hash_all_lens_up_to_4096, and test_hmac.

Acked-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20250709200112.258500-2-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
lib/crypto/tests/hash-test-template.h [new file with mode: 0644]
scripts/crypto/gen-hash-testvecs.py [new file with mode: 0755]