From patchwork Thu Apr 7 16:38:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arkadiusz Kusztal X-Patchwork-Id: 109436 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1CA94A0505; Thu, 7 Apr 2022 18:38:10 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0A9084068B; Thu, 7 Apr 2022 18:38:10 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 39EF940689 for ; Thu, 7 Apr 2022 18:38:07 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1649349488; x=1680885488; h=from:to:cc:subject:date:message-id; bh=w0dm0v743FjdkuDTFfFZ7IaYI7MpgjNEpO1LjzNbuOo=; b=SdclOoslh7gdD7ef/ODaMm01jfXdjZuyCE8mwbCHgAuqhULd7IfyabL7 s72rcK0g80AiQqPY51yC+cZKUZPX6LWNtlnG9uhrdpqyj1mMjOImz5Vjo wyM9XGOaWffsYvPRBWqd0hVFqt/4JU8C5mjlmrUWQkeayxKrVTxNA/puJ RIolYEczR3MoPLySBL8sQcF94IOJeCe9BjpDbjFOnquIeyY2x/GQj8Ze9 g5kSOQ1/JC9V7QjU2RAagJnMxtsZEm2K6avbGV38fNFSGlQvsZf7b6NCH 2o7U2qr+IJL99TCS6NjP1qOd4hBzTKuvy6NYqImUll5sa21GXlwfaCkDB Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10310"; a="241971020" X-IronPort-AV: E=Sophos;i="5.90,242,1643702400"; d="scan'208";a="241971020" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Apr 2022 09:38:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,242,1643702400"; d="scan'208";a="550137425" Received: from silpixa00400308.ir.intel.com ([10.237.214.95]) by orsmga007.jf.intel.com with ESMTP; 07 Apr 2022 09:38:05 -0700 From: Arek Kusztal To: dev@dpdk.org Cc: gakhil@marvell.com, roy.fan.zhang@intel.com, Arek Kusztal Subject: [PATCH] cryptodev: add dh verify option Date: Thu, 7 Apr 2022 17:38:01 +0100 Message-Id: <20220407163801.20848-1-arkadiuszx.kusztal@intel.com> X-Mailer: git-send-email 2.17.1 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 For some elliptic curves public point in DH exchange needs to be checked, if lays on the curve. Modular exponentiation needs certain checks as well, though mathematically much easier. This commit adds verify option to asym_op operations. Signed-off-by: Arek Kusztal --- Depends-on: patch-109409 ("cryptodev: add elliptic curve diffie hellman") lib/cryptodev/rte_crypto_asym.h | 2 ++ lib/cryptodev/rte_cryptodev.c | 1 + 2 files changed, 3 insertions(+) diff --git a/lib/cryptodev/rte_crypto_asym.h b/lib/cryptodev/rte_crypto_asym.h index e65222b802..5a581c77b2 100644 --- a/lib/cryptodev/rte_crypto_asym.h +++ b/lib/cryptodev/rte_crypto_asym.h @@ -117,6 +117,8 @@ enum rte_crypto_asym_op_type { /**< DH Public Key generation operation */ RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE, /**< DH Shared Secret compute operation */ + RTE_CRYPTO_ASYM_OP_KEY_VERIFY, + /**< DH Public Key Verification */ RTE_CRYPTO_ASYM_OP_LIST_END }; diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c index 3500a2d470..082780a5f0 100644 --- a/lib/cryptodev/rte_cryptodev.c +++ b/lib/cryptodev/rte_cryptodev.c @@ -181,6 +181,7 @@ const char *rte_crypto_asym_op_strings[] = { [RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE] = "priv_key_generate", [RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE] = "pub_key_generate", [RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE] = "sharedsecret_compute", + [RTE_CRYPTO_ASYM_OP_KEY_VERIFY] = "dh_pubkey_verify", }; /**