forked from Minki/linux
crypto/testmgr: enable selftests for paes-s390 ciphers
This patch enables the selftests for the s390 specific protected key AES (PAES) cipher implementations: * cbc-paes-s390 * ctr-paes-s390 * ecb-paes-s390 * xts-paes-s390 PAES is an AES cipher but with encrypted ('protected') key material. However, the paes ciphers are able to derive an protected key from clear key material with the help of the pkey kernel module. So this patch now enables the generic AES tests for the paes ciphers. Under the hood the setkey() functions rearrange the clear key values as clear key token and so the pkey kernel module is able to provide protected key blobs from the given clear key values. The derived protected key blobs are then used within the paes cipers and should produce the very same results as the generic AES implementation with the clear key values. The s390-paes cipher testlist entries are surrounded by #if IS_ENABLED(CONFIG_CRYPTO_PAES_S390) because they don't make any sense on non s390 platforms or without the PAES cipher implementation. Link: http://lkml.kernel.org/r/20200213083946.zicarnnt3wizl5ty@gondor.apana.org.au Acked-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Harald Freudenberger <freude@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
parent
0f8a206df7
commit
c7ff8573ad
@ -4436,6 +4436,15 @@ static const struct alg_test_desc alg_test_descs[] = {
|
||||
.cipher = __VECS(tf_cbc_tv_template)
|
||||
},
|
||||
}, {
|
||||
#if IS_ENABLED(CONFIG_CRYPTO_PAES_S390)
|
||||
.alg = "cbc-paes-s390",
|
||||
.fips_allowed = 1,
|
||||
.test = alg_test_skcipher,
|
||||
.suite = {
|
||||
.cipher = __VECS(aes_cbc_tv_template)
|
||||
}
|
||||
}, {
|
||||
#endif
|
||||
.alg = "cbcmac(aes)",
|
||||
.fips_allowed = 1,
|
||||
.test = alg_test_hash,
|
||||
@ -4587,6 +4596,15 @@ static const struct alg_test_desc alg_test_descs[] = {
|
||||
.cipher = __VECS(tf_ctr_tv_template)
|
||||
}
|
||||
}, {
|
||||
#if IS_ENABLED(CONFIG_CRYPTO_PAES_S390)
|
||||
.alg = "ctr-paes-s390",
|
||||
.fips_allowed = 1,
|
||||
.test = alg_test_skcipher,
|
||||
.suite = {
|
||||
.cipher = __VECS(aes_ctr_tv_template)
|
||||
}
|
||||
}, {
|
||||
#endif
|
||||
.alg = "cts(cbc(aes))",
|
||||
.test = alg_test_skcipher,
|
||||
.fips_allowed = 1,
|
||||
@ -4879,6 +4897,15 @@ static const struct alg_test_desc alg_test_descs[] = {
|
||||
.cipher = __VECS(xtea_tv_template)
|
||||
}
|
||||
}, {
|
||||
#if IS_ENABLED(CONFIG_CRYPTO_PAES_S390)
|
||||
.alg = "ecb-paes-s390",
|
||||
.fips_allowed = 1,
|
||||
.test = alg_test_skcipher,
|
||||
.suite = {
|
||||
.cipher = __VECS(aes_tv_template)
|
||||
}
|
||||
}, {
|
||||
#endif
|
||||
.alg = "ecdh",
|
||||
.test = alg_test_kpp,
|
||||
.fips_allowed = 1,
|
||||
@ -5465,6 +5492,15 @@ static const struct alg_test_desc alg_test_descs[] = {
|
||||
.cipher = __VECS(tf_xts_tv_template)
|
||||
}
|
||||
}, {
|
||||
#if IS_ENABLED(CONFIG_CRYPTO_PAES_S390)
|
||||
.alg = "xts-paes-s390",
|
||||
.fips_allowed = 1,
|
||||
.test = alg_test_skcipher,
|
||||
.suite = {
|
||||
.cipher = __VECS(aes_xts_tv_template)
|
||||
}
|
||||
}, {
|
||||
#endif
|
||||
.alg = "xts4096(paes)",
|
||||
.test = alg_test_null,
|
||||
.fips_allowed = 1,
|
||||
|
Loading…
Reference in New Issue
Block a user