Acked-by: Tejasree Kondoj <[email protected]>

> -----Original Message-----
> From: Stephen Hemminger <[email protected]>
> Sent: Tuesday, June 30, 2026 12:29 AM
> To: [email protected]
> Cc: Stephen Hemminger <[email protected]>; Anoob Joseph
> <[email protected]>
> Subject: [EXTERNAL] [PATCH v2 6/6] crypto/octeontx: use timing-safe RSA
> signature verification
> 
> Replace memcmp() with rte_memeq_timingsafe() when verifying RSA
> signatures to prevent timing-based side-channel attacks.
> 
> The comparison at drivers/crypto/octeontx/otx_cryptodev_ops.c:742
> is used to verify RSA signed data against expected message content.
> Using regular memcmp() for cryptographic verification can leak information
> about the compared data through timing differences.
> 
> Signed-off-by: Stephen Hemminger <[email protected]>
> ---
>  drivers/crypto/octeontx/otx_cryptodev_ops.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/crypto/octeontx/otx_cryptodev_ops.c
> b/drivers/crypto/octeontx/otx_cryptodev_ops.c
> index d6d1b2cea9..40f565cd78 100644
> --- a/drivers/crypto/octeontx/otx_cryptodev_ops.c
> +++ b/drivers/crypto/octeontx/otx_cryptodev_ops.c
> @@ -12,6 +12,7 @@
>  #include <rte_errno.h>
>  #include <rte_malloc.h>
>  #include <rte_mempool.h>
> +#include <rte_memory.h>
> 
>  #include "otx_cryptodev.h"
>  #include "otx_cryptodev_capabilities.h"
> @@ -739,7 +740,7 @@ otx_cpt_asym_rsa_op(struct rte_crypto_op *cop,
> struct cpt_request_info *req,
>               }
>               memcpy(rsa->sign.data, req->rptr, rsa->sign.length);
> 
> -             if (memcmp(rsa->sign.data, rsa->message.data,
> +             if (!rte_memeq_timingsafe(rsa->sign.data, rsa->message.data,
>                          rsa->message.length)) {
>                       CPT_LOG_DP_ERR("RSA verification failed");
>                       cop->status = RTE_CRYPTO_OP_STATUS_ERROR;
> --
> 2.53.0

Reply via email to