[PATCH v2 3/7] cryptodev: add RNG capability in EC based xform
Gowrishankar Muthukrishnan
gmuthukrishn at marvell.com
Wed Sep 27 13:37:30 CEST 2023
Elliptic curve based asymmetric operations use cryptographically
secure random number in its computation. If PMD supports RNG
for such ops, the application could skip computing on its own.
This patch adds new field in asymmetric capability to declare
this capability.
Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn at marvell.com>
Acked-by: Arkadiusz Kusztal <arkadiuszx.kusztal at intel.com>
---
drivers/crypto/openssl/rte_openssl_pmd_ops.c | 2 ++
lib/cryptodev/rte_cryptodev.h | 6 ++++++
2 files changed, 8 insertions(+)
diff --git a/drivers/crypto/openssl/rte_openssl_pmd_ops.c b/drivers/crypto/openssl/rte_openssl_pmd_ops.c
index 2a307aa839..e361b4ae14 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd_ops.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd_ops.c
@@ -603,6 +603,8 @@ static const struct rte_cryptodev_capabilities openssl_pmd_capabilities[] = {
(1 << RTE_CRYPTO_ASYM_OP_VERIFY) |
(1 << RTE_CRYPTO_ASYM_OP_ENCRYPT) |
(1 << RTE_CRYPTO_ASYM_OP_DECRYPT)),
+ {.internal_rng = 1
+ }
}
}
}
diff --git a/lib/cryptodev/rte_cryptodev.h b/lib/cryptodev/rte_cryptodev.h
index 9246df90ef..0d2d9ef8c3 100644
--- a/lib/cryptodev/rte_cryptodev.h
+++ b/lib/cryptodev/rte_cryptodev.h
@@ -181,6 +181,12 @@ struct rte_cryptodev_asymmetric_xform_capability {
/**< Range of modulus length supported by modulus based xform.
* Value 0 mean implementation default
*/
+
+ uint8_t internal_rng;
+ /**< Availability of random number generator for Elliptic curve based xform.
+ * Value 0 means unavailable, and application should pass the required
+ * random value. Otherwise, PMD would internally compute the random number.
+ */
};
};
--
2.25.1
More information about the dev
mailing list