[2/2] cryptodev: add ec point verification

Message ID 20220818074130.37894-3-arkadiuszx.kusztal@intel.com (mailing list archive)
State Changes Requested, archived
Delegated to: akhil goyal
Headers
Series cryptodev: extend elliptic curves operations |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS

Commit Message

Arkadiusz Kusztal Aug. 18, 2022, 7:41 a.m. UTC
  This addition complements point verification in ECDH
operation. This will allow to use point verification in other
situations than pure ECDH.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
 doc/guides/cryptodevs/features/default.ini |  1 +
 lib/cryptodev/rte_crypto_asym.h            | 11 +++++++++++
 2 files changed, 12 insertions(+)
  

Comments

Ji, Kai Sept. 28, 2022, 5:58 p.m. UTC | #1
Acked-by: Kai Ji <kai.ji@intel.com>

> -----Original Message-----
> From: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> Sent: Thursday, August 18, 2022 8:42 AM
> To: dev@dpdk.org
> Cc: gakhil@marvell.com; Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>
> Subject: [PATCH 2/2] cryptodev: add ec point verification
> 
> This addition complements point verification in ECDH operation. This will
> allow to use point verification in other situations than pure ECDH.
> 
> Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
> ---
  

Patch

diff --git a/doc/guides/cryptodevs/features/default.ini b/doc/guides/cryptodevs/features/default.ini
index 7371ca6644..7922160532 100644
--- a/doc/guides/cryptodevs/features/default.ini
+++ b/doc/guides/cryptodevs/features/default.ini
@@ -119,6 +119,7 @@  Diffie-hellman          =
 ECDSA                   =
 ECPM                    =
 ECDH                    =
+EC Point Verify         =
 
 ;
 ; Supported Operating systems of a default crypto driver.
diff --git a/lib/cryptodev/rte_crypto_asym.h b/lib/cryptodev/rte_crypto_asym.h
index 62987f860e..7d94ba705e 100644
--- a/lib/cryptodev/rte_crypto_asym.h
+++ b/lib/cryptodev/rte_crypto_asym.h
@@ -116,6 +116,8 @@  enum rte_crypto_asym_xform_type {
 	/**< Elliptic Curve Diffie Hellman */
 	RTE_CRYPTO_ASYM_XFORM_ECPM,
 	/**< Elliptic Curve Point Multiplication */
+	RTE_CRYPTO_ASYM_XFORM_EC_POINT_VERIFY,
+	/**< Elliptic Curve Point Verification */
 	RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END
 	/**< End of list */
 };
@@ -607,6 +609,14 @@  struct rte_crypto_ecpm_op_param {
 };
 
 /**
+ * Structure for EC point verification operation
+ */
+struct rte_crypto_ec_point_verify_op {
+	struct rte_crypto_ec_point p;
+	/**< x and y coordinates of point to be verified */
+};
+
+/**
  * Asymmetric crypto transform data
  *
  * Structure describing asym xforms.
@@ -666,6 +676,7 @@  struct rte_crypto_asym_op {
 		struct rte_crypto_dsa_op_param dsa;
 		struct rte_crypto_ecdsa_op_param ecdsa;
 		struct rte_crypto_ecpm_op_param ecpm;
+		struct rte_crypto_ec_point_verify_op ecp_verify;
 	};
 	uint16_t flags;
 	/**<