test/crypto: add multi-segment out-of-place AES-XTS

The AES-XTS algorithm can supports wrapped key and data-unit.
The encryption/decryption can be done out of place and using multi
segments.

Add multi segment and out of place tests to the recently added AES-XTS
vectors, which support using data-unit and a wrapped key.

Signed-off-by: Shiri Kuzin <shirik@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
This commit is contained in:
Shiri Kuzin 2021-07-20 16:09:43 +03:00 committed by Akhil Goyal
parent d5728a5a17
commit 2692b02e03

View File

@ -4687,6 +4687,70 @@ static const struct blockcipher_test_case aes_cipheronly_test_cases[] = {
.test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_0,
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
},
{
.test_descr = "AES-256-XTS Encryption (512-byte plaintext"
" Dataunit 512) Scater gather OOP",
.test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_512,
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
},
{
.test_descr = "AES-256-XTS Decryption (512-byte plaintext"
" Dataunit 512) Scater gather OOP",
.test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_512,
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
},
{
.test_descr = "AES-256-XTS Encryption (512-byte plaintext"
" Dataunit 0) Scater gather OOP",
.test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_0,
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
},
{
.test_descr = "AES-256-XTS Decryption (512-byte plaintext"
" Dataunit 0) Scater gather OOP",
.test_data = &aes_test_data_xts_wrapped_key_48_pt_512_du_0,
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
},
{
.test_descr = "AES-256-XTS Encryption (4096-byte plaintext"
" Dataunit 4096) Scater gather OOP",
.test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_4096,
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
},
{
.test_descr = "AES-256-XTS Decryption (4096-byte plaintext"
" Dataunit 4096) Scater gather OOP",
.test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_4096,
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
},
{
.test_descr = "AES-256-XTS Encryption (4096-byte plaintext"
" Dataunit 0) Scater gather OOP",
.test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_0,
.op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
},
{
.test_descr = "AES-256-XTS Decryption (4096-byte plaintext"
" Dataunit 0) Scater gather OOP",
.test_data = &aes_test_data_xts_wrapped_key_48_pt_4096_du_0,
.op_mask = BLOCKCIPHER_TEST_OP_DECRYPT,
.feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP |
BLOCKCIPHER_TEST_FEATURE_SG,
},
{
.test_descr = "cipher-only - NULL algo - x8 - encryption",
.test_data = &null_test_data_chain_x8_multiple,