lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260114153138.4896-1-dengler@linux.ibm.com>
Date: Wed, 14 Jan 2026 16:31:37 +0100
From: Holger Dengler <dengler@...ux.ibm.com>
To: Eric Biggers <ebiggers@...nel.org>
Cc: Ard Biesheuvel <ardb@...nel.org>, "Jason A . Donenfeld" <Jason@...c4.com>,
        Herbert Xu <herbert@...dor.apana.org.au>,
        Harald Freudenberger <freude@...ux.ibm.com>,
        linux-kernel@...r.kernel.org, linux-crypto@...r.kernel.org,
        Holger Dengler <dengler@...ux.ibm.com>
Subject: [RFC PATCH 0/1] lib/crypto: tests: KUnit test-suite for AES

The following patch adds a kunit tests for the aes library. It does a very
minimal verification of the aes operation for all key-sizes. The benchmarks,
which are also part of the test-suite, can be used to get some rough
performance measurements of the aes encrypt and decrypt functions. The
aes_prepare*key() APIs are not covered by the benchmarks.

Example output of the aes_kunit test-suite:

[   44.748194] KTAP version 1
[   44.748199] 1..1
[   44.748240]     KTAP version 1
[   44.748241]     # Subtest: aes
[   44.748242]     # module: aes_kunit
[   44.748244]     1..9
[   44.748304]     ok 1 aes128_kat_encrypt
[   44.748365]     ok 2 aes128_kat_decrypt
[   44.748417]     ok 3 aes192_kat_encrypt
[   44.748482]     ok 4 aes192_kat_decrypt
[   44.748528]     ok 5 aes256_kat_encrypt
[   44.748583]     ok 6 aes256_kat_decrypt
[   45.466878]     # aes128_benchmark: enc (iter. 10000000, duration 359887225ns)
[   45.466881]     # aes128_benchmark: enc (len=16): 423 MB/s
[   45.466883]     # aes128_benchmark: dec (iter. 10000000, duration 358322328ns)
[   45.466885]     # aes128_benchmark: dec (len=16): 425 MB/s
[   45.466921]     ok 7 aes128_benchmark
[   46.205717]     # aes192_benchmark: enc (iter. 10000000, duration 367953960ns)
[   46.205720]     # aes192_benchmark: enc (len=16): 414 MB/s
[   46.205722]     # aes192_benchmark: dec (iter. 10000000, duration 370756491ns)
[   46.205724]     # aes192_benchmark: dec (len=16): 411 MB/s
[   46.205752]     ok 8 aes192_benchmark
[   46.974536]     # aes256_benchmark: enc (iter. 10000000, duration 386414949ns)
[   46.974539]     # aes256_benchmark: enc (len=16): 394 MB/s
[   46.974541]     # aes256_benchmark: dec (iter. 10000000, duration 382280549ns)
[   46.974542]     # aes256_benchmark: dec (len=16): 399 MB/s
[   46.974716]     ok 9 aes256_benchmark
[   46.974719] # aes: pass:9 fail:0 skip:0 total:9
[   46.974721] # Totals: pass:9 fail:0 skip:0 total:9
[   46.974724] ok 1 aes

Holger Dengler (1):
  lib/crypto: tests: Add KUnit tests for AES

 lib/crypto/tests/Kconfig        |  12 ++++
 lib/crypto/tests/Makefile       |   1 +
 lib/crypto/tests/aes-testvecs.h |  78 ++++++++++++++++++++++
 lib/crypto/tests/aes_kunit.c    | 115 ++++++++++++++++++++++++++++++++
 4 files changed, 206 insertions(+)
 create mode 100644 lib/crypto/tests/aes-testvecs.h
 create mode 100644 lib/crypto/tests/aes_kunit.c

-- 
2.51.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ