From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E637F42ADD; Fri, 12 May 2023 07:34:47 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BF72842686; Fri, 12 May 2023 07:34:47 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id ECAE0406B7 for ; Fri, 12 May 2023 07:34:45 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34C4ueVe022823; Thu, 11 May 2023 22:34:45 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=imM4TlycCtkkAPsvH9QFz+j8lWviNEreZyvyCmET/G8=; b=gynVKAb809OrDBZa3j5tab4o4Ugh5VYQtnlKM3cV8ekRYkP/xnN/4LOlDWnDsdLosfEL LGhfIogQYvw+UZHFg6ZDSdG9fu+4tJ05IOjinuQBq6V23O+0+7QOxHj7haVnF0v4R1qk ICEKLL3j9v4jJ6ap6r9J59Wdg7tw+/07uSpA61G/zIvEvLKpRxQReEo6muC/dabF6uTq tSAW2C7f+zW6ugjFH18MKPmffEeO4joKc0c5M2vgEFJqp3fP+mth/0SmYax12KyTcqtj cBY2fNaQxmK0hSiDAfCaMy2rLRrxFp3c+bWlObWXNKTLQeXronzLPdwsI9tjM9m53Ree xg== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3qgwy3ba2p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 11 May 2023 22:34:45 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Thu, 11 May 2023 22:34:42 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Thu, 11 May 2023 22:34:42 -0700 Received: from BG-LT92004.corp.innovium.com (unknown [10.193.78.238]) by maili.marvell.com (Postfix) with ESMTP id DC7343F7062; Thu, 11 May 2023 22:33:54 -0700 (PDT) From: Anoob Joseph To: Akhil Goyal , Fan Zhang , Ciara Power CC: Hemant Agrawal , Jerin Jacob , Tejasree Kondoj , Subject: [PATCH 1/2] test/crypto: use separate keys for auth and cipher Date: Fri, 12 May 2023 11:03:52 +0530 Message-ID: <20230512053353.68-1-anoobj@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-GUID: Vu7Hp36x7861g-ybvInCOQTWORA9SRI1 X-Proofpoint-ORIG-GUID: Vu7Hp36x7861g-ybvInCOQTWORA9SRI1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-05-12_02,2023-05-05_01,2023-02-09_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The mixed test cases can have keys with different key lengths. The routine which prepares the session parameters uses same key length for both cipher & auth keys. Instead allow the caller to use same keys as required. Signed-off-by: Anoob Joseph --- app/test/test_cryptodev.c | 48 +++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 31f4cb2cd5..5fdbe11094 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -2554,27 +2554,23 @@ create_wireless_algo_cipher_auth_session(uint8_t dev_id, enum rte_crypto_auth_operation auth_op, enum rte_crypto_auth_algorithm auth_algo, enum rte_crypto_cipher_algorithm cipher_algo, - const uint8_t *key, uint8_t key_len, + const uint8_t *a_key, uint8_t a_key_len, + const uint8_t *c_key, uint8_t c_key_len, uint8_t auth_iv_len, uint8_t auth_len, uint8_t cipher_iv_len) { - uint8_t cipher_auth_key[key_len]; - struct crypto_testsuite_params *ts_params = &testsuite_params; struct crypto_unittest_params *ut_params = &unittest_params; - memcpy(cipher_auth_key, key, key_len); - /* Setup Authentication Parameters */ ut_params->auth_xform.type = RTE_CRYPTO_SYM_XFORM_AUTH; ut_params->auth_xform.next = NULL; ut_params->auth_xform.auth.op = auth_op; ut_params->auth_xform.auth.algo = auth_algo; - ut_params->auth_xform.auth.key.length = key_len; - /* Hash key = cipher key */ - ut_params->auth_xform.auth.key.data = cipher_auth_key; + ut_params->auth_xform.auth.key.length = a_key_len; + ut_params->auth_xform.auth.key.data = a_key; ut_params->auth_xform.auth.digest_length = auth_len; /* Auth IV will be after cipher IV */ ut_params->auth_xform.auth.iv.offset = IV_OFFSET + cipher_iv_len; @@ -2586,12 +2582,13 @@ create_wireless_algo_cipher_auth_session(uint8_t dev_id, ut_params->cipher_xform.cipher.algo = cipher_algo; ut_params->cipher_xform.cipher.op = cipher_op; - ut_params->cipher_xform.cipher.key.data = cipher_auth_key; - ut_params->cipher_xform.cipher.key.length = key_len; + ut_params->cipher_xform.cipher.key.data = c_key; + ut_params->cipher_xform.cipher.key.length = c_key_len; ut_params->cipher_xform.cipher.iv.offset = IV_OFFSET; ut_params->cipher_xform.cipher.iv.length = cipher_iv_len; - debug_hexdump(stdout, "key:", key, key_len); + debug_hexdump(stdout, "Auth key:", a_key, c_key_len); + debug_hexdump(stdout, "Cipher key:", c_key, c_key_len); /* Create Crypto session*/ ut_params->sess = rte_cryptodev_sym_session_create(dev_id, @@ -2677,23 +2674,21 @@ create_wireless_algo_auth_cipher_session(uint8_t dev_id, enum rte_crypto_auth_operation auth_op, enum rte_crypto_auth_algorithm auth_algo, enum rte_crypto_cipher_algorithm cipher_algo, - const uint8_t *key, const uint8_t key_len, + const uint8_t *a_key, const uint8_t a_key_len, + const uint8_t *c_key, const uint8_t c_key_len, uint8_t auth_iv_len, uint8_t auth_len, uint8_t cipher_iv_len) { - uint8_t auth_cipher_key[key_len]; struct crypto_testsuite_params *ts_params = &testsuite_params; struct crypto_unittest_params *ut_params = &unittest_params; - memcpy(auth_cipher_key, key, key_len); - /* Setup Authentication Parameters */ ut_params->auth_xform.type = RTE_CRYPTO_SYM_XFORM_AUTH; ut_params->auth_xform.auth.op = auth_op; ut_params->auth_xform.next = &ut_params->cipher_xform; ut_params->auth_xform.auth.algo = auth_algo; - ut_params->auth_xform.auth.key.length = key_len; - ut_params->auth_xform.auth.key.data = auth_cipher_key; + ut_params->auth_xform.auth.key.length = a_key_len; + ut_params->auth_xform.auth.key.data = a_key; ut_params->auth_xform.auth.digest_length = auth_len; /* Auth IV will be after cipher IV */ ut_params->auth_xform.auth.iv.offset = IV_OFFSET + cipher_iv_len; @@ -2704,12 +2699,13 @@ create_wireless_algo_auth_cipher_session(uint8_t dev_id, ut_params->cipher_xform.next = NULL; ut_params->cipher_xform.cipher.algo = cipher_algo; ut_params->cipher_xform.cipher.op = cipher_op; - ut_params->cipher_xform.cipher.key.data = auth_cipher_key; - ut_params->cipher_xform.cipher.key.length = key_len; + ut_params->cipher_xform.cipher.key.data = c_key; + ut_params->cipher_xform.cipher.key.length = c_key_len; ut_params->cipher_xform.cipher.iv.offset = IV_OFFSET; ut_params->cipher_xform.cipher.iv.length = cipher_iv_len; - debug_hexdump(stdout, "key:", key, key_len); + debug_hexdump(stdout, "Auth key:", a_key, a_key_len); + debug_hexdump(stdout, "Cipher key:", c_key, c_key_len); /* Create Crypto session*/ if (cipher_op == RTE_CRYPTO_CIPHER_OP_DECRYPT) { @@ -4908,6 +4904,7 @@ test_snow3g_cipher_auth(const struct snow3g_test_data *tdata) RTE_CRYPTO_AUTH_SNOW3G_UIA2, RTE_CRYPTO_CIPHER_SNOW3G_UEA2, tdata->key.data, tdata->key.len, + tdata->key.data, tdata->key.len, tdata->auth_iv.len, tdata->digest.len, tdata->cipher_iv.len); if (retval != 0) @@ -5037,6 +5034,7 @@ test_snow3g_auth_cipher(const struct snow3g_test_data *tdata, RTE_CRYPTO_AUTH_SNOW3G_UIA2, RTE_CRYPTO_CIPHER_SNOW3G_UEA2, tdata->key.data, tdata->key.len, + tdata->key.data, tdata->key.len, tdata->auth_iv.len, tdata->digest.len, tdata->cipher_iv.len); if (retval != 0) @@ -5242,6 +5240,7 @@ test_snow3g_auth_cipher_sgl(const struct snow3g_test_data *tdata, RTE_CRYPTO_AUTH_SNOW3G_UIA2, RTE_CRYPTO_CIPHER_SNOW3G_UEA2, tdata->key.data, tdata->key.len, + tdata->key.data, tdata->key.len, tdata->auth_iv.len, tdata->digest.len, tdata->cipher_iv.len); @@ -5443,6 +5442,7 @@ test_kasumi_auth_cipher(const struct kasumi_test_data *tdata, RTE_CRYPTO_AUTH_KASUMI_F9, RTE_CRYPTO_CIPHER_KASUMI_F8, tdata->key.data, tdata->key.len, + tdata->key.data, tdata->key.len, 0, tdata->digest.len, tdata->cipher_iv.len); @@ -5647,6 +5647,7 @@ test_kasumi_auth_cipher_sgl(const struct kasumi_test_data *tdata, RTE_CRYPTO_AUTH_KASUMI_F9, RTE_CRYPTO_CIPHER_KASUMI_F8, tdata->key.data, tdata->key.len, + tdata->key.data, tdata->key.len, 0, tdata->digest.len, tdata->cipher_iv.len); @@ -5828,6 +5829,7 @@ test_kasumi_cipher_auth(const struct kasumi_test_data *tdata) RTE_CRYPTO_AUTH_KASUMI_F9, RTE_CRYPTO_CIPHER_KASUMI_F8, tdata->key.data, tdata->key.len, + tdata->key.data, tdata->key.len, 0, tdata->digest.len, tdata->cipher_iv.len); if (retval != 0) @@ -6382,6 +6384,7 @@ test_zuc_auth_cipher(const struct wireless_test_data *tdata, RTE_CRYPTO_AUTH_ZUC_EIA3, RTE_CRYPTO_CIPHER_ZUC_EEA3, tdata->key.data, tdata->key.len, + tdata->key.data, tdata->key.len, tdata->auth_iv.len, tdata->digest.len, tdata->cipher_iv.len); @@ -6585,6 +6588,7 @@ test_zuc_auth_cipher_sgl(const struct wireless_test_data *tdata, RTE_CRYPTO_AUTH_ZUC_EIA3, RTE_CRYPTO_CIPHER_ZUC_EEA3, tdata->key.data, tdata->key.len, + tdata->key.data, tdata->key.len, tdata->auth_iv.len, tdata->digest.len, tdata->cipher_iv.len); @@ -7858,6 +7862,7 @@ test_mixed_auth_cipher(const struct mixed_cipher_auth_test_data *tdata, tdata->auth_algo, tdata->cipher_algo, tdata->auth_key.data, tdata->auth_key.len, + tdata->cipher_key.data, tdata->cipher_key.len, tdata->auth_iv.len, tdata->digest_enc.len, tdata->cipher_iv.len); else @@ -7868,6 +7873,7 @@ test_mixed_auth_cipher(const struct mixed_cipher_auth_test_data *tdata, tdata->auth_algo, tdata->cipher_algo, tdata->auth_key.data, tdata->auth_key.len, + tdata->cipher_key.data, tdata->cipher_key.len, tdata->auth_iv.len, tdata->digest_enc.len, tdata->cipher_iv.len); if (retval != 0) @@ -8071,6 +8077,7 @@ test_mixed_auth_cipher_sgl(const struct mixed_cipher_auth_test_data *tdata, tdata->auth_algo, tdata->cipher_algo, tdata->auth_key.data, tdata->auth_key.len, + tdata->cipher_key.data, tdata->cipher_key.len, tdata->auth_iv.len, tdata->digest_enc.len, tdata->cipher_iv.len); else @@ -8081,6 +8088,7 @@ test_mixed_auth_cipher_sgl(const struct mixed_cipher_auth_test_data *tdata, tdata->auth_algo, tdata->cipher_algo, tdata->auth_key.data, tdata->auth_key.len, + tdata->cipher_key.data, tdata->cipher_key.len, tdata->auth_iv.len, tdata->digest_enc.len, tdata->cipher_iv.len); if (retval != 0) -- 2.25.1