* [dpdk-dev] [PATCH 1/2] crypto/aesni_mb: support DOCSIS AES-256 @ 2020-03-04 9:17 Mairtin o Loingsigh 2020-03-04 9:17 ` [dpdk-dev] [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors Mairtin o Loingsigh 0 siblings, 1 reply; 5+ messages in thread From: Mairtin o Loingsigh @ 2020-03-04 9:17 UTC (permalink / raw) To: fiona.trahe, akhil.goyal; +Cc: dev, Mairtin o Loingsigh This patch adds support for DOCSIS AES-256 when using AESNI-MB Signed-off-by: Mairtin o Loingsigh <mairtin.oloingsigh@intel.com> --- drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c index d8609ad..110f1f1 100644 --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c @@ -314,8 +314,8 @@ .block_size = 16, .key_size = { .min = 16, - .max = 16, - .increment = 0 + .max = 32, + .increment = 16 }, .iv_size = { .min = 16, -- 1.7.0.7 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [dpdk-dev] [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors 2020-03-04 9:17 [dpdk-dev] [PATCH 1/2] crypto/aesni_mb: support DOCSIS AES-256 Mairtin o Loingsigh @ 2020-03-04 9:17 ` Mairtin o Loingsigh 2020-03-04 13:39 ` Trahe, Fiona 0 siblings, 1 reply; 5+ messages in thread From: Mairtin o Loingsigh @ 2020-03-04 9:17 UTC (permalink / raw) To: fiona.trahe, akhil.goyal; +Cc: dev, Mairtin o Loingsigh This patch adds test vectors for AES-256 and sets AESNI-MB as the target PMD Signed-off-by: Mairtin o Loingsigh <mairtin.oloingsigh@intel.com> --- app/test/test_cryptodev_aes_test_vectors.h | 176 ++++++++++++++++++++++++++++ 1 files changed, 176 insertions(+), 0 deletions(-) diff --git a/app/test/test_cryptodev_aes_test_vectors.h b/app/test/test_cryptodev_aes_test_vectors.h index 8307fcf..4c7a4f2 100644 --- a/app/test/test_cryptodev_aes_test_vectors.h +++ b/app/test/test_cryptodev_aes_test_vectors.h @@ -47,6 +47,10 @@ 0xFC, 0x68, 0xA3, 0x55, 0x60, 0x37, 0xDC }; +static const uint8_t ciphertext_aes256_docsis_bpi_cfb[] = { + 0xE3, 0x75, 0xF2, 0x30, 0x1F, 0x75, 0x9A +}; + static const uint8_t plaintext_aes_docsis_bpi_cbc_cfb[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91, @@ -59,6 +63,12 @@ 0x44, 0xD4, 0x73 }; +static const uint8_t ciphertext_aes256_docsis_bpi_cbc_cfb[] = { + 0xD1, 0x28, 0x73, 0x1F, 0xB5, 0x28, 0xB5, 0x18, + 0xAB, 0x51, 0xAB, 0xC8, 0x98, 0x3D, 0xD1, 0xEE, + 0xE4, 0x43, 0x59 +}; + static const uint8_t plaintext_aes192ctr[] = { 0x01, 0x0F, 0x10, 0x1F, 0x20, 0x1C, 0x0E, 0xB8, 0xFB, 0x5C, 0xCD, 0xCC, 0x1F, 0xF9, 0xAF, 0x0B, @@ -1535,6 +1545,93 @@ } }; +/* Multiple of AES 256 block size */ +static const struct blockcipher_test_data aes_test_data_docsis_4 = { + .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, + .cipher_key = { + .data = { + 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, + 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, + 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0, + 0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D + }, + .len = 32 + }, + .iv = { + .data = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F + }, + .len = 16 + }, + .plaintext = { + .data = plaintext_aes_common, + .len = 512 + }, + .ciphertext = { + .data = ciphertext512_aes256cbc, + .len = 512 + } +}; + +/* Less than AES 256 block size */ +static const struct blockcipher_test_data aes_test_data_docsis_5 = { + .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, + .cipher_key = { + .data = { + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB + }, + .len = 32 + }, + .iv = { + .data = { + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A, + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A + }, + .len = 16 + }, + .plaintext = { + .data = plaintext_aes_docsis_bpi_cfb, + .len = 7 + }, + .ciphertext = { + .data = ciphertext_aes256_docsis_bpi_cfb, + .len = 7 + } +}; + +/* Not multiple of AES 256 block size */ +static const struct blockcipher_test_data aes_test_data_docsis_6 = { + .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, + .cipher_key = { + .data = { + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB + }, + .len = 32 + }, + .iv = { + .data = { + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A, + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A + }, + .len = 16 + }, + .plaintext = { + .data = plaintext_aes_docsis_bpi_cbc_cfb, + .len = 19 + }, + .ciphertext = { + .data = ciphertext_aes256_docsis_bpi_cbc_cfb, + .len = 19 + } +}; + static const uint8_t cipher_aescbc_offset_16[] = { 0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6C, @@ -2637,5 +2734,84 @@ .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | BLOCKCIPHER_TEST_TARGET_PMD_MB }, + /* AES 256 */ + { + .test_descr = "AES-256-DOCSIS-BPI Full Block Encryption", + .test_data = &aes_test_data_docsis_4, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI Runt Block Encryption", + .test_data = &aes_test_data_docsis_5, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI Uneven Encryption", + .test_data = &aes_test_data_docsis_6, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI Full Block Decryption", + .test_data = &aes_test_data_docsis_4, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI Runt Block Decryption", + .test_data = &aes_test_data_docsis_5, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI Uneven Decryption", + .test_data = &aes_test_data_docsis_6, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Full Block Encryption", + .test_data = &aes_test_data_docsis_4, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Runt Block Encryption", + .test_data = &aes_test_data_docsis_5, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Uneven Block Encryption", + .test_data = &aes_test_data_docsis_6, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Full Block Decryption", + .test_data = &aes_test_data_docsis_4, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Runt Block Decryption", + .test_data = &aes_test_data_docsis_5, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Uneven Block Decryption", + .test_data = &aes_test_data_docsis_6, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, }; #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */ -- 1.7.0.7 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors 2020-03-04 9:17 ` [dpdk-dev] [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors Mairtin o Loingsigh @ 2020-03-04 13:39 ` Trahe, Fiona 2020-03-16 17:39 ` De Lara Guarch, Pablo 0 siblings, 1 reply; 5+ messages in thread From: Trahe, Fiona @ 2020-03-04 13:39 UTC (permalink / raw) To: O'loingsigh, Mairtin, akhil.goyal; +Cc: dev Hi Máirtin, Wasn't this patch already upstreamed with the QAT patchset? If so no need to resend. Fiona > -----Original Message----- > From: O'loingsigh, Mairtin <mairtin.oloingsigh@intel.com> > Sent: Wednesday, March 4, 2020 9:18 AM > To: Trahe, Fiona <fiona.trahe@intel.com>; akhil.goyal@nxp.com > Cc: dev@dpdk.org; O'loingsigh, Mairtin <mairtin.oloingsigh@intel.com> > Subject: [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors > > This patch adds test vectors for AES-256 and sets AESNI-MB as the > target PMD > > Signed-off-by: Mairtin o Loingsigh <mairtin.oloingsigh@intel.com> > --- > app/test/test_cryptodev_aes_test_vectors.h | 176 ++++++++++++++++++++++++++++ > 1 files changed, 176 insertions(+), 0 deletions(-) > > diff --git a/app/test/test_cryptodev_aes_test_vectors.h > b/app/test/test_cryptodev_aes_test_vectors.h > index 8307fcf..4c7a4f2 100644 > --- a/app/test/test_cryptodev_aes_test_vectors.h > +++ b/app/test/test_cryptodev_aes_test_vectors.h > @@ -47,6 +47,10 @@ > 0xFC, 0x68, 0xA3, 0x55, 0x60, 0x37, 0xDC > }; > > +static const uint8_t ciphertext_aes256_docsis_bpi_cfb[] = { > + 0xE3, 0x75, 0xF2, 0x30, 0x1F, 0x75, 0x9A > +}; > + > static const uint8_t plaintext_aes_docsis_bpi_cbc_cfb[] = { > 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, > 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91, > @@ -59,6 +63,12 @@ > 0x44, 0xD4, 0x73 > }; > > +static const uint8_t ciphertext_aes256_docsis_bpi_cbc_cfb[] = { > + 0xD1, 0x28, 0x73, 0x1F, 0xB5, 0x28, 0xB5, 0x18, > + 0xAB, 0x51, 0xAB, 0xC8, 0x98, 0x3D, 0xD1, 0xEE, > + 0xE4, 0x43, 0x59 > +}; > + > static const uint8_t plaintext_aes192ctr[] = { > 0x01, 0x0F, 0x10, 0x1F, 0x20, 0x1C, 0x0E, 0xB8, > 0xFB, 0x5C, 0xCD, 0xCC, 0x1F, 0xF9, 0xAF, 0x0B, > @@ -1535,6 +1545,93 @@ > } > }; > > +/* Multiple of AES 256 block size */ > +static const struct blockcipher_test_data aes_test_data_docsis_4 = { > + .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, > + .cipher_key = { > + .data = { > + 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, > + 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, > + 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0, > + 0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D > + }, > + .len = 32 > + }, > + .iv = { > + .data = { > + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, > + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F > + }, > + .len = 16 > + }, > + .plaintext = { > + .data = plaintext_aes_common, > + .len = 512 > + }, > + .ciphertext = { > + .data = ciphertext512_aes256cbc, > + .len = 512 > + } > +}; > + > +/* Less than AES 256 block size */ > +static const struct blockcipher_test_data aes_test_data_docsis_5 = { > + .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, > + .cipher_key = { > + .data = { > + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, > + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, > + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, > + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB > + }, > + .len = 32 > + }, > + .iv = { > + .data = { > + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A, > + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A > + }, > + .len = 16 > + }, > + .plaintext = { > + .data = plaintext_aes_docsis_bpi_cfb, > + .len = 7 > + }, > + .ciphertext = { > + .data = ciphertext_aes256_docsis_bpi_cfb, > + .len = 7 > + } > +}; > + > +/* Not multiple of AES 256 block size */ > +static const struct blockcipher_test_data aes_test_data_docsis_6 = { > + .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, > + .cipher_key = { > + .data = { > + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, > + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, > + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, > + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB > + }, > + .len = 32 > + }, > + .iv = { > + .data = { > + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A, > + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A > + }, > + .len = 16 > + }, > + .plaintext = { > + .data = plaintext_aes_docsis_bpi_cbc_cfb, > + .len = 19 > + }, > + .ciphertext = { > + .data = ciphertext_aes256_docsis_bpi_cbc_cfb, > + .len = 19 > + } > +}; > + > static const uint8_t > cipher_aescbc_offset_16[] = { > 0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6C, > @@ -2637,5 +2734,84 @@ > .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | > BLOCKCIPHER_TEST_TARGET_PMD_MB > }, > + /* AES 256 */ > + { > + .test_descr = "AES-256-DOCSIS-BPI Full Block Encryption", > + .test_data = &aes_test_data_docsis_4, > + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI Runt Block Encryption", > + .test_data = &aes_test_data_docsis_5, > + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI Uneven Encryption", > + .test_data = &aes_test_data_docsis_6, > + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI Full Block Decryption", > + .test_data = &aes_test_data_docsis_4, > + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI Runt Block Decryption", > + .test_data = &aes_test_data_docsis_5, > + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI Uneven Decryption", > + .test_data = &aes_test_data_docsis_6, > + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI OOP Full Block Encryption", > + .test_data = &aes_test_data_docsis_4, > + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, > + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI OOP Runt Block Encryption", > + .test_data = &aes_test_data_docsis_5, > + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, > + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI OOP Uneven Block Encryption", > + .test_data = &aes_test_data_docsis_6, > + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, > + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI OOP Full Block Decryption", > + .test_data = &aes_test_data_docsis_4, > + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, > + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI OOP Runt Block Decryption", > + .test_data = &aes_test_data_docsis_5, > + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, > + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > + { > + .test_descr = "AES-256-DOCSIS-BPI OOP Uneven Block Decryption", > + .test_data = &aes_test_data_docsis_6, > + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, > + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, > + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB > + }, > }; > #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */ > -- > 1.7.0.7 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors 2020-03-04 13:39 ` Trahe, Fiona @ 2020-03-16 17:39 ` De Lara Guarch, Pablo 0 siblings, 0 replies; 5+ messages in thread From: De Lara Guarch, Pablo @ 2020-03-16 17:39 UTC (permalink / raw) To: Trahe, Fiona, O'loingsigh, Mairtin, akhil.goyal; +Cc: dev Hi, > -----Original Message----- > From: dev <dev-bounces@dpdk.org> On Behalf Of Trahe, Fiona > Sent: Wednesday, March 4, 2020 1:40 PM > To: O'loingsigh, Mairtin <mairtin.oloingsigh@intel.com>; akhil.goyal@nxp.com > Cc: dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test > vectors > > Hi Máirtin, > Wasn't this patch already upstreamed with the QAT patchset? > If so no need to resend. Actually, I think this patch (or the one in QAT) requires an important change. If a device doesn't support 32-byte keys, these test cases will fail, so you need to retrieve the capabilities of the device and check if it supports the key size. Thanks, Pablo > Fiona > > > -----Original Message----- > > From: O'loingsigh, Mairtin <mairtin.oloingsigh@intel.com> > > Sent: Wednesday, March 4, 2020 9:18 AM > > To: Trahe, Fiona <fiona.trahe@intel.com>; akhil.goyal@nxp.com > > Cc: dev@dpdk.org; O'loingsigh, Mairtin <mairtin.oloingsigh@intel.com> > > Subject: [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors > > > > This patch adds test vectors for AES-256 and sets AESNI-MB as the > > target PMD > > > > Signed-off-by: Mairtin o Loingsigh <mairtin.oloingsigh@intel.com> > > --- > > app/test/test_cryptodev_aes_test_vectors.h | 176 > > ++++++++++++++++++++++++++++ > > 1 files changed, 176 insertions(+), 0 deletions(-) > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* [dpdk-dev] [PATCH 1/2] crypto/aesni_mb: support DOCSIS AES-256 @ 2020-03-04 9:25 Mairtin o Loingsigh 2020-03-04 9:25 ` [dpdk-dev] [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors Mairtin o Loingsigh 0 siblings, 1 reply; 5+ messages in thread From: Mairtin o Loingsigh @ 2020-03-04 9:25 UTC (permalink / raw) To: declan.doherty, akhil.goyal; +Cc: dev, Mairtin o Loingsigh This patch adds support for DOCSIS AES-256 when using AESNI-MB Signed-off-by: Mairtin o Loingsigh <mairtin.oloingsigh@intel.com> --- drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c index d8609ad..110f1f1 100644 --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd_ops.c @@ -314,8 +314,8 @@ .block_size = 16, .key_size = { .min = 16, - .max = 16, - .increment = 0 + .max = 32, + .increment = 16 }, .iv_size = { .min = 16, -- 1.7.0.7 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [dpdk-dev] [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors 2020-03-04 9:25 [dpdk-dev] [PATCH 1/2] crypto/aesni_mb: support DOCSIS AES-256 Mairtin o Loingsigh @ 2020-03-04 9:25 ` Mairtin o Loingsigh 0 siblings, 0 replies; 5+ messages in thread From: Mairtin o Loingsigh @ 2020-03-04 9:25 UTC (permalink / raw) To: declan.doherty, akhil.goyal; +Cc: dev, Mairtin o Loingsigh This patch adds test vectors for AES-256 and sets AESNI-MB as the target PMD Signed-off-by: Mairtin o Loingsigh <mairtin.oloingsigh@intel.com> --- app/test/test_cryptodev_aes_test_vectors.h | 176 ++++++++++++++++++++++++++++ 1 files changed, 176 insertions(+), 0 deletions(-) diff --git a/app/test/test_cryptodev_aes_test_vectors.h b/app/test/test_cryptodev_aes_test_vectors.h index 8307fcf..4c7a4f2 100644 --- a/app/test/test_cryptodev_aes_test_vectors.h +++ b/app/test/test_cryptodev_aes_test_vectors.h @@ -47,6 +47,10 @@ 0xFC, 0x68, 0xA3, 0x55, 0x60, 0x37, 0xDC }; +static const uint8_t ciphertext_aes256_docsis_bpi_cfb[] = { + 0xE3, 0x75, 0xF2, 0x30, 0x1F, 0x75, 0x9A +}; + static const uint8_t plaintext_aes_docsis_bpi_cbc_cfb[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x91, @@ -59,6 +63,12 @@ 0x44, 0xD4, 0x73 }; +static const uint8_t ciphertext_aes256_docsis_bpi_cbc_cfb[] = { + 0xD1, 0x28, 0x73, 0x1F, 0xB5, 0x28, 0xB5, 0x18, + 0xAB, 0x51, 0xAB, 0xC8, 0x98, 0x3D, 0xD1, 0xEE, + 0xE4, 0x43, 0x59 +}; + static const uint8_t plaintext_aes192ctr[] = { 0x01, 0x0F, 0x10, 0x1F, 0x20, 0x1C, 0x0E, 0xB8, 0xFB, 0x5C, 0xCD, 0xCC, 0x1F, 0xF9, 0xAF, 0x0B, @@ -1535,6 +1545,93 @@ } }; +/* Multiple of AES 256 block size */ +static const struct blockcipher_test_data aes_test_data_docsis_4 = { + .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, + .cipher_key = { + .data = { + 0xE4, 0x23, 0x33, 0x8A, 0x35, 0x64, 0x61, 0xE2, + 0x49, 0x03, 0xDD, 0xC6, 0xB8, 0xCA, 0x55, 0x7A, + 0xD4, 0xC3, 0xA3, 0xAA, 0x33, 0x62, 0x61, 0xE0, + 0x37, 0x07, 0xB8, 0x23, 0xA2, 0xA3, 0xB5, 0x8D + }, + .len = 32 + }, + .iv = { + .data = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F + }, + .len = 16 + }, + .plaintext = { + .data = plaintext_aes_common, + .len = 512 + }, + .ciphertext = { + .data = ciphertext512_aes256cbc, + .len = 512 + } +}; + +/* Less than AES 256 block size */ +static const struct blockcipher_test_data aes_test_data_docsis_5 = { + .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, + .cipher_key = { + .data = { + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB + }, + .len = 32 + }, + .iv = { + .data = { + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A, + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A + }, + .len = 16 + }, + .plaintext = { + .data = plaintext_aes_docsis_bpi_cfb, + .len = 7 + }, + .ciphertext = { + .data = ciphertext_aes256_docsis_bpi_cfb, + .len = 7 + } +}; + +/* Not multiple of AES 256 block size */ +static const struct blockcipher_test_data aes_test_data_docsis_6 = { + .crypto_algo = RTE_CRYPTO_CIPHER_AES_DOCSISBPI, + .cipher_key = { + .data = { + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB, + 0xE6, 0x60, 0x0F, 0xD8, 0x85, 0x2E, 0xF5, 0xAB + }, + .len = 32 + }, + .iv = { + .data = { + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A, + 0x81, 0x0E, 0x52, 0x8E, 0x1C, 0x5F, 0xDA, 0x1A + }, + .len = 16 + }, + .plaintext = { + .data = plaintext_aes_docsis_bpi_cbc_cfb, + .len = 19 + }, + .ciphertext = { + .data = ciphertext_aes256_docsis_bpi_cbc_cfb, + .len = 19 + } +}; + static const uint8_t cipher_aescbc_offset_16[] = { 0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6C, @@ -2637,5 +2734,84 @@ .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_QAT | BLOCKCIPHER_TEST_TARGET_PMD_MB }, + /* AES 256 */ + { + .test_descr = "AES-256-DOCSIS-BPI Full Block Encryption", + .test_data = &aes_test_data_docsis_4, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI Runt Block Encryption", + .test_data = &aes_test_data_docsis_5, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI Uneven Encryption", + .test_data = &aes_test_data_docsis_6, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI Full Block Decryption", + .test_data = &aes_test_data_docsis_4, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI Runt Block Decryption", + .test_data = &aes_test_data_docsis_5, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI Uneven Decryption", + .test_data = &aes_test_data_docsis_6, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Full Block Encryption", + .test_data = &aes_test_data_docsis_4, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Runt Block Encryption", + .test_data = &aes_test_data_docsis_5, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Uneven Block Encryption", + .test_data = &aes_test_data_docsis_6, + .op_mask = BLOCKCIPHER_TEST_OP_ENCRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Full Block Decryption", + .test_data = &aes_test_data_docsis_4, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Runt Block Decryption", + .test_data = &aes_test_data_docsis_5, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, + { + .test_descr = "AES-256-DOCSIS-BPI OOP Uneven Block Decryption", + .test_data = &aes_test_data_docsis_6, + .op_mask = BLOCKCIPHER_TEST_OP_DECRYPT, + .feature_mask = BLOCKCIPHER_TEST_FEATURE_OOP, + .pmd_mask = BLOCKCIPHER_TEST_TARGET_PMD_MB + }, }; #endif /* TEST_CRYPTODEV_AES_TEST_VECTORS_H_ */ -- 1.7.0.7 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-03-16 17:39 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-03-04 9:17 [dpdk-dev] [PATCH 1/2] crypto/aesni_mb: support DOCSIS AES-256 Mairtin o Loingsigh 2020-03-04 9:17 ` [dpdk-dev] [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors Mairtin o Loingsigh 2020-03-04 13:39 ` Trahe, Fiona 2020-03-16 17:39 ` De Lara Guarch, Pablo 2020-03-04 9:25 [dpdk-dev] [PATCH 1/2] crypto/aesni_mb: support DOCSIS AES-256 Mairtin o Loingsigh 2020-03-04 9:25 ` [dpdk-dev] [PATCH 2/2] test/crypto: Add AES-256 DOCSIS test vectors Mairtin o Loingsigh
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).