test/crypto: add multi-segment out-of-place AES-XTS
authorShiri Kuzin <shirik@nvidia.com>
Tue, 20 Jul 2021 13:09:43 +0000 (16:09 +0300)
committerAkhil Goyal <gakhil@marvell.com>
Tue, 20 Jul 2021 20:27:00 +0000 (22:27 +0200)
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>
app/test/test_cryptodev_aes_test_vectors.h

index dd7ffde..a797af1 100644 (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,