[PATCH v2 08/14] cryptodev: add public key verify option
Arek Kusztal
arkadiuszx.kusztal at intel.com
Wed May 25 17:53:18 CEST 2022
- Added key exchange public key verify option.
For some elliptic curves public point in DH exchange
needs to be checked, if it 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 <arkadiuszx.kusztal at intel.com>
---
lib/cryptodev/rte_crypto_asym.h | 9 ++++++---
lib/cryptodev/rte_cryptodev.c | 3 ++-
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/cryptodev/rte_crypto_asym.h b/lib/cryptodev/rte_crypto_asym.h
index 0dab7c0593..3eafaecbbe 100644
--- a/lib/cryptodev/rte_crypto_asym.h
+++ b/lib/cryptodev/rte_crypto_asym.h
@@ -141,8 +141,10 @@ enum rte_crypto_asym_ke_type {
/**< Private Key generation operation */
RTE_CRYPTO_ASYM_KE_PUBLIC_KEY_GENERATE,
/**< Public Key generation operation */
- RTE_CRYPTO_ASYM_KE_SHARED_SECRET_COMPUTE
+ RTE_CRYPTO_ASYM_KE_SHARED_SECRET_COMPUTE,
/**< Shared Secret compute operation */
+ RTE_CRYPTO_ASYM_KE_EC_PUBLIC_KEY_VERIFY,
+ /**< Public Key Verification */
};
/**
@@ -434,8 +436,9 @@ struct rte_crypto_ecdh_op_param {
* Output - generated public key, when xform type is
* RTE_CRYPTO_ASYM_KE_PUBLIC_KEY_GENERATE.
*
- * Input - peer's public key, when xform type is
- * RTE_CRYPTO_ASYM_KE_SHARED_SECRET_COMPUTE.
+ * Input - peer's public key, when xform type is one of:
+ * RTE_CRYPTO_ASYM_KE_SHARED_SECRET_COMPUTE,
+ * RTE_CRYPTO_ASYM_KE_EC_PUBLIC_KEY_VERIFY.
*/
struct rte_crypto_ec_point shared_secret;
/**<
diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c
index af58f49d07..57ee6b3f07 100644
--- a/lib/cryptodev/rte_cryptodev.c
+++ b/lib/cryptodev/rte_cryptodev.c
@@ -185,7 +185,8 @@ const char *rte_crypto_asym_op_strings[] = {
const char *rte_crypto_asym_ke_strings[] = {
[RTE_CRYPTO_ASYM_KE_PRIVATE_KEY_GENERATE] = "priv_key_generate",
[RTE_CRYPTO_ASYM_KE_PUBLIC_KEY_GENERATE] = "pub_key_generate",
- [RTE_CRYPTO_ASYM_KE_SHARED_SECRET_COMPUTE] = "sharedsecret_compute"
+ [RTE_CRYPTO_ASYM_KE_SHARED_SECRET_COMPUTE] = "sharedsecret_compute",
+ [RTE_CRYPTO_ASYM_KE_EC_PUBLIC_KEY_VERIFY] = "pub_ec_key_verify"
};
/**
--
2.13.6
More information about the dev
mailing list