This commit fixes following issues in the QAT testsuite for the RSA algorithm:
1) Incorrectly set keys in the internal functions are now set in the calling function. 2) Camel case functions were changed to the snake case. Fixes: 9b5465867fb8 ("test/crypto: add RSA none padding cases") Cc: sta...@dpdk.org Signed-off-by: Arkadiusz Kusztal <arkadiuszx.kusz...@intel.com> --- v2: - removed camel case v3: - changed commit description app/test/test_cryptodev_asym.c | 102 ++++++++++++++--------------- app/test/test_cryptodev_rsa_test_vectors.h | 2 +- 2 files changed, 52 insertions(+), 52 deletions(-) diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c index 17daf734e8..2c745a7f7c 100644 --- a/app/test/test_cryptodev_asym.c +++ b/app/test/test_cryptodev_asym.c @@ -3292,11 +3292,8 @@ modular_multiplicative_inverse(const void *test_data) arg.qt.coef.data = coef; \ arg.qt.coef.length = vector->coef.len -typedef void (*rsa_key_init_t)(struct rte_crypto_asym_xform *, - const struct rsa_test_data_2 *); - static int -RSA_Encrypt(const struct rsa_test_data_2 *vector, uint8_t *cipher_buf) +rsa_encrypt(const struct rsa_test_data_2 *vector, uint8_t *cipher_buf) { self->result_op = NULL; /* Compute encryption on the test vector */ @@ -3314,7 +3311,7 @@ RSA_Encrypt(const struct rsa_test_data_2 *vector, uint8_t *cipher_buf) } static int -RSA_Decrypt(const struct rsa_test_data_2 *vector, uint8_t *plaintext, +rsa_decrypt(const struct rsa_test_data_2 *vector, uint8_t *plaintext, const int use_op) { uint8_t cipher[TEST_DATA_SIZE] = { 0 }; @@ -3335,41 +3332,14 @@ RSA_Decrypt(const struct rsa_test_data_2 *vector, uint8_t *plaintext, return 0; } -static void -RSA_key_init_Exp(struct rte_crypto_asym_xform *xform, - const struct rsa_test_data_2 *vector) -{ - SET_RSA_PARAM(xform->rsa, vector, n); - SET_RSA_PARAM(xform->rsa, vector, e); - SET_RSA_PARAM(xform->rsa, vector, d); - xform->rsa.key_type = RTE_RSA_KEY_TYPE_EXP; -} - -static void -RSA_key_init_CRT(struct rte_crypto_asym_xform *xform, - const struct rsa_test_data_2 *vector) -{ - SET_RSA_PARAM(xform->rsa, vector, n); - SET_RSA_PARAM(xform->rsa, vector, e); - SET_RSA_PARAM_QT(xform->rsa, vector, p); - SET_RSA_PARAM_QT(xform->rsa, vector, q); - SET_RSA_PARAM_QT(xform->rsa, vector, dP); - SET_RSA_PARAM_QT(xform->rsa, vector, dQ); - SET_RSA_PARAM_QT(xform->rsa, vector, qInv); - xform->rsa.key_type = RTE_RSA_KEY_TYPE_QT; -} - static int -RSA_Init_Session(const struct rsa_test_data_2 *vector, - rsa_key_init_t key_init) +rsa_init_session(struct rte_crypto_asym_xform *xform) { const uint8_t dev_id = params->valid_devs[0]; struct rte_cryptodev_info dev_info; - struct rte_crypto_asym_xform xform = { }; int ret = 0; - key_init(&xform, vector); - xform.xform_type = RTE_CRYPTO_ASYM_XFORM_RSA; + xform->xform_type = RTE_CRYPTO_ASYM_XFORM_RSA; rte_cryptodev_info_get(dev_id, &dev_info); if (!(dev_info.feature_flags & RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT)) { @@ -3377,7 +3347,7 @@ RSA_Init_Session(const struct rsa_test_data_2 *vector, "Device doesn't support decrypt op with quintuple key type. Test skipped\n"); return TEST_SKIPPED; } - ret = rte_cryptodev_asym_session_create(dev_id, &xform, + ret = rte_cryptodev_asym_session_create(dev_id, xform, params->session_mpool, &self->sess); if (ret < 0) { RTE_LOG(ERR, USER1, @@ -3388,17 +3358,23 @@ RSA_Init_Session(const struct rsa_test_data_2 *vector, } static int -KAT_RSA_Encrypt(const void *data) +kat_rsa_encrypt(const void *data) { uint8_t cipher_buf[TEST_DATA_SIZE] = {0}; const struct rsa_test_data_2 *vector = data; - int ret = RSA_Init_Session(vector, RSA_key_init_Exp); + struct rte_crypto_asym_xform xform = { }; + + SET_RSA_PARAM(xform.rsa, vector, n); + SET_RSA_PARAM(xform.rsa, vector, e); + SET_RSA_PARAM(xform.rsa, vector, d); + xform.rsa.key_type = RTE_RSA_KEY_TYPE_EXP; + int ret = rsa_init_session(&xform); if (ret) { RTE_LOG(ERR, USER1, "Failed to init session for RSA\n"); return ret; } - TEST_ASSERT_SUCCESS(RSA_Encrypt(vector, cipher_buf), + TEST_ASSERT_SUCCESS(rsa_encrypt(vector, cipher_buf), "RSA: Failed to encrypt"); TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->cipher.data, self->result_op->asym->rsa.cipher.data, @@ -3408,17 +3384,26 @@ KAT_RSA_Encrypt(const void *data) } static int -KAT_RSA_Encrypt_CRT(const void *data) +kat_rsa_encrypt_crt(const void *data) { uint8_t cipher_buf[TEST_DATA_SIZE] = {0}; const struct rsa_test_data_2 *vector = data; - int ret = RSA_Init_Session(vector, RSA_key_init_CRT); + struct rte_crypto_asym_xform xform = { }; + SET_RSA_PARAM(xform.rsa, vector, n); + SET_RSA_PARAM(xform.rsa, vector, e); + SET_RSA_PARAM_QT(xform.rsa, vector, p); + SET_RSA_PARAM_QT(xform.rsa, vector, q); + SET_RSA_PARAM_QT(xform.rsa, vector, dP); + SET_RSA_PARAM_QT(xform.rsa, vector, dQ); + SET_RSA_PARAM_QT(xform.rsa, vector, qInv); + xform.rsa.key_type = RTE_RSA_KEY_TYPE_QT; + int ret = rsa_init_session(&xform); if (ret) { RTE_LOG(ERR, USER1, "Failed to init session for RSA\n"); return ret; } - TEST_ASSERT_SUCCESS(RSA_Encrypt(vector, cipher_buf), + TEST_ASSERT_SUCCESS(rsa_encrypt(vector, cipher_buf), "RSA: Failed to encrypt"); TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->cipher.data, self->result_op->asym->rsa.cipher.data, @@ -3428,17 +3413,23 @@ KAT_RSA_Encrypt_CRT(const void *data) } static int -KAT_RSA_Decrypt(const void *data) +kat_rsa_decrypt(const void *data) { uint8_t message[TEST_DATA_SIZE] = {0}; const struct rsa_test_data_2 *vector = data; - int ret = RSA_Init_Session(vector, RSA_key_init_Exp); + struct rte_crypto_asym_xform xform = { }; + + SET_RSA_PARAM(xform.rsa, vector, n); + SET_RSA_PARAM(xform.rsa, vector, e); + SET_RSA_PARAM(xform.rsa, vector, d); + xform.rsa.key_type = RTE_RSA_KEY_TYPE_EXP; + int ret = rsa_init_session(&xform); if (ret) { RTE_LOG(ERR, USER1, "Failed to init session for RSA\n"); return ret; } - TEST_ASSERT_SUCCESS(RSA_Decrypt(vector, message, 0), + TEST_ASSERT_SUCCESS(rsa_decrypt(vector, message, 0), "RSA: Failed to encrypt"); TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->message.data, self->result_op->asym->rsa.message.data, @@ -3448,17 +3439,26 @@ KAT_RSA_Decrypt(const void *data) } static int -KAT_RSA_Decrypt_CRT(const void *data) +kat_rsa_decrypt_crt(const void *data) { uint8_t message[TEST_DATA_SIZE] = {0}; const struct rsa_test_data_2 *vector = data; - int ret = RSA_Init_Session(vector, RSA_key_init_CRT); + struct rte_crypto_asym_xform xform = { }; + SET_RSA_PARAM(xform.rsa, vector, n); + SET_RSA_PARAM(xform.rsa, vector, e); + SET_RSA_PARAM_QT(xform.rsa, vector, p); + SET_RSA_PARAM_QT(xform.rsa, vector, q); + SET_RSA_PARAM_QT(xform.rsa, vector, dP); + SET_RSA_PARAM_QT(xform.rsa, vector, dQ); + SET_RSA_PARAM_QT(xform.rsa, vector, qInv); + xform.rsa.key_type = RTE_RSA_KEY_TYPE_QT; + int ret = rsa_init_session(&xform); if (ret) { RTE_LOG(ERR, USER1, "Failed to init session for RSA\n"); return ret; } - TEST_ASSERT_SUCCESS(RSA_Decrypt(vector, message, 0), + TEST_ASSERT_SUCCESS(rsa_decrypt(vector, message, 0), "RSA: Failed to encrypt"); TEST_ASSERT_BUFFERS_ARE_EQUAL(vector->message.data, self->result_op->asym->rsa.message.data, @@ -3535,20 +3535,20 @@ static struct unit_test_suite cryptodev_qat_asym_testsuite = { TEST_CASE_NAMED_WITH_DATA( "RSA Encryption (n=128, pt=20, e=3) EXP, Padding: NONE", ut_setup_asym, ut_teardown_asym, - KAT_RSA_Encrypt, &RSA_vector_128_20_3_None), + kat_rsa_encrypt, &rsa_vector_128_20_3_none), TEST_CASE_NAMED_WITH_DATA( "RSA Decryption (n=128, pt=20, e=3) EXP, Padding: NONE", ut_setup_asym, ut_teardown_asym, - KAT_RSA_Decrypt, &RSA_vector_128_20_3_None), + kat_rsa_decrypt, &rsa_vector_128_20_3_none), /* RSA CRT */ TEST_CASE_NAMED_WITH_DATA( "RSA Encryption (n=128, pt=20, e=3) CRT, Padding: NONE", ut_setup_asym, ut_teardown_asym, - KAT_RSA_Encrypt_CRT, &RSA_vector_128_20_3_None), + kat_rsa_encrypt_crt, &rsa_vector_128_20_3_none), TEST_CASE_NAMED_WITH_DATA( "RSA Decryption (n=128, pt=20, e=3) CRT, Padding: NONE", ut_setup_asym, ut_teardown_asym, - KAT_RSA_Decrypt_CRT, &RSA_vector_128_20_3_None), + kat_rsa_decrypt_crt, &rsa_vector_128_20_3_none), TEST_CASES_END() /**< NULL terminate unit test array */ } }; diff --git a/app/test/test_cryptodev_rsa_test_vectors.h b/app/test/test_cryptodev_rsa_test_vectors.h index b4982014a2..89981f13f0 100644 --- a/app/test/test_cryptodev_rsa_test_vectors.h +++ b/app/test/test_cryptodev_rsa_test_vectors.h @@ -72,7 +72,7 @@ struct rsa_test_data_2 { }; static const struct -rsa_test_data_2 RSA_vector_128_20_3_None = { +rsa_test_data_2 rsa_vector_128_20_3_none = { .description = "RSA Encryption Decryption (n=128, pt=20, e=3) EXP, QT", .xform_type = RTE_CRYPTO_ASYM_XFORM_RSA, -- 2.13.6