[v2,1/4] cryptodev: support ECPM
Checks
Commit Message
From: Balakrishna Bhamidipati <bbhamidipati@marvell.com>
Asymmetric crypto library is extended to add ECPM (Elliptic Curve Point
Multiplication). The required xform type and op parameters are
introduced.
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Signed-off-by: Balakrishna Bhamidipati <bbhamidipati@marvell.com>
Signed-off-by: Sunila Sahu <ssahu@marvell.com>
---
doc/guides/cryptodevs/features/default.ini | 1 +
doc/guides/rel_notes/release_20_02.rst | 5 +++++
lib/librte_cryptodev/rte_crypto_asym.h | 17 +++++++++++++++++
lib/librte_cryptodev/rte_cryptodev.c | 1 +
4 files changed, 24 insertions(+)
Comments
> From: Balakrishna Bhamidipati <bbhamidipati@marvell.com>
>
> Asymmetric crypto library is extended to add ECPM (Elliptic Curve Point
> Multiplication). The required xform type and op parameters are
> introduced.
>
> Signed-off-by: Anoob Joseph <anoobj@marvell.com>
> Signed-off-by: Balakrishna Bhamidipati <bbhamidipati@marvell.com>
> Signed-off-by: Sunila Sahu <ssahu@marvell.com>
> ---
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
@@ -109,3 +109,4 @@ Modular Exponentiation =
Modular Inversion =
Diffie-hellman =
ECDSA =
+ECPM =
@@ -61,6 +61,11 @@ New Features
Added ECDSA(Elliptic Curve Digital Signature Algorithm) support to asymmetric
crypto library specifications.
+* **Added support for ECPM.**
+
+ Added ECPM(Elliptic Curve Point Multiplication) support to asymmetric
+ crypto library specifications.
+
Removed Items
-------------
@@ -92,6 +92,8 @@ enum rte_crypto_asym_xform_type {
/**< Elliptic Curve Digital Signature Algorithm
* Perform Signature Generation and Verification.
*/
+ RTE_CRYPTO_ASYM_XFORM_ECPM,
+ /**< Elliptic Curve Point Multiplication */
RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END
/**< End of list */
};
@@ -599,6 +601,20 @@ struct rte_crypto_ecdsa_op_param {
};
/**
+ * Structure for EC point multiplication operation param
+ */
+struct rte_crypto_ecpm_op_param {
+ struct rte_crypto_ec_point p;
+ /**< x and y coordinates of input point */
+
+ struct rte_crypto_ec_point r;
+ /**< x and y coordinates of resultant point */
+
+ rte_crypto_param scalar;
+ /**< Scalar to multiply the input point */
+};
+
+/**
* Asymmetric Cryptographic Operation.
*
* Structure describing asymmetric crypto operation params.
@@ -621,6 +637,7 @@ struct rte_crypto_asym_op {
struct rte_crypto_dh_op_param dh;
struct rte_crypto_dsa_op_param dsa;
struct rte_crypto_ecdsa_op_param ecdsa;
+ struct rte_crypto_ecpm_op_param ecpm;
};
};
@@ -174,6 +174,7 @@ const char *rte_crypto_asym_xform_strings[] = {
[RTE_CRYPTO_ASYM_XFORM_DH] = "dh",
[RTE_CRYPTO_ASYM_XFORM_DSA] = "dsa",
[RTE_CRYPTO_ASYM_XFORM_ECDSA] = "ecdsa",
+ [RTE_CRYPTO_ASYM_XFORM_ECPM] = "ecpm",
};
/**