crypto/krb5: Implement crypto self-testing
authorDavid Howells <dhowells@redhat.com>
Mon, 3 Feb 2025 13:44:37 +0000 (13:44 +0000)
committerDavid Howells <dhowells@redhat.com>
Sun, 2 Mar 2025 21:56:47 +0000 (21:56 +0000)
commitfc0cf10c04f49ddba1925b630467f49ea993569e
treeeb1ba73ede4d66f8e6f98f75388135b713925a28
parent742e38d4d4033e7ff53178acf7edd2b1fe0142ef
crypto/krb5: Implement crypto self-testing

Implement self-testing infrastructure to test the pseudo-random function,
key derivation, encryption and checksumming.

Add the testing data from rfc8009 to test AES + HMAC-SHA2.

Add the testing data from rfc6803 to test Camellia.  Note some encryption
test vectors here are incomplete, lacking the key usage number needed to
derive Ke and Ki, and there are errata for this:

https://www.rfc-editor.org/errata_search.php?rfc=6803

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Herbert Xu <herbert@gondor.apana.org.au>
cc: "David S. Miller" <davem@davemloft.net>
cc: Chuck Lever <chuck.lever@oracle.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: Simon Horman <horms@kernel.org>
cc: linux-afs@lists.infradead.org
cc: linux-nfs@vger.kernel.org
cc: linux-crypto@vger.kernel.org
cc: netdev@vger.kernel.org
crypto/krb5/Kconfig
crypto/krb5/Makefile
crypto/krb5/internal.h
crypto/krb5/krb5_api.c
crypto/krb5/selftest.c [new file with mode: 0644]
crypto/krb5/selftest_data.c [new file with mode: 0644]