cryptodev: add RSA private key feature flag

Add feature flag to reflect RSA private key
operation support using quintuple (crt) or
exponent type key. if PMD support both,
then it should set both.

App should query cryptodev feature flag to check
if Sign and Decryt with CRT keys or exponent is
supported, thus call operation with relevant
key type.

Signed-off-by: Ayuj Verma <ayverma@marvell.com>
Signed-off-by: Shally Verma <shallyv@marvell.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
This commit is contained in:
Ayuj Verma 2019-03-28 10:28:22 +00:00 committed by Akhil Goyal
parent 3b4757fc74
commit 398ba4c13f
4 changed files with 16 additions and 0 deletions

View File

@ -23,6 +23,8 @@ OOP SGL In SGL Out =
OOP SGL In LB Out =
OOP LB In SGL Out =
OOP LB In LB Out =
RSA PRIV OP KEY EXP =
RSA PRIV OP KEY QT =
;
; Supported crypto algorithms of a default crypto driver.

View File

@ -37,6 +37,12 @@ Supported Feature Flags
which means that Out-of-place operation is supported,
with linear input and output buffers.
- "RSA PRIV OP KEY EXP" feature flag means PMD support RSA private key
operation (Sign and Decrypt) using exponent key type only.
- "RSA PRIV OP KEY QT" feature flag means PMD support RSA private key
operation (Sign and Decrypt) using quintuple (crt) type key only.
Supported Cipher Algorithms
---------------------------

View File

@ -486,6 +486,10 @@ rte_cryptodev_get_feature_name(uint64_t flag)
return "CPU_ARM_CE";
case RTE_CRYPTODEV_FF_SECURITY:
return "SECURITY_PROTOCOL";
case RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_EXP:
return "RSA_PRIV_OP_KEY_EXP";
case RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT:
return "RSA_PRIV_OP_KEY_QT";
default:
return NULL;
}

View File

@ -438,6 +438,10 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum,
/**< Utilises ARM CPU Cryptographic Extensions */
#define RTE_CRYPTODEV_FF_SECURITY (1ULL << 16)
/**< Support Security Protocol Processing */
#define RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_EXP (1ULL << 17)
/**< Support RSA Private Key OP with exponent */
#define RTE_CRYPTODEV_FF_RSA_PRIV_OP_KEY_QT (1ULL << 18)
/**< Support RSA Private Key OP with CRT (quintuple) Keys */
/**