RTE_CRYPTO_ASYM_XFORM_ECFPM3
Part of rte_crypto_asym.h(3).
Usage
Data Structures
struct rte_crypto_param_t
struct rte_crypto_ec_point
struct rte_crypto_rsa_priv_key_qt
struct rte_crypto_rsa_padding
struct rte_crypto_rsa_xform
struct rte_crypto_modex_xform
struct rte_crypto_modinv_xform
struct rte_crypto_dh_xform
struct rte_crypto_dsa_xform
struct rte_crypto_ec_xform
struct rte_crypto_mod_op_param
struct rte_crypto_rsa_op_param
struct rte_crypto_dh_op_param
struct rte_crypto_ecdh_op_param
struct rte_crypto_dsa_op_param
struct rte_crypto_ecdsa_op_param
struct rte_crypto_eddsa_op_param
struct rte_crypto_ecpm_op_param
struct rte_crypto_sm2_op_param
struct rte_crypto_asym_xform
struct rte_crypto_asym_op
Typedefs
typedef struct
rte_crypto_param_t
rte_crypto_param
typedef rte_crypto_param
rte_crypto_uint
Enumerations
enum rte_crypto_curve_id
enum rte_crypto_edward_instance
enum rte_crypto_asym_xform_type
RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED
=
0,
RTE_CRYPTO_ASYM_XFORM_NONE,
RTE_CRYPTO_ASYM_XFORM_RSA,
RTE_CRYPTO_ASYM_XFORM_DH,
RTE_CRYPTO_ASYM_XFORM_DSA,
RTE_CRYPTO_ASYM_XFORM_MODINV,
RTE_CRYPTO_ASYM_XFORM_MODEX,
RTE_CRYPTO_ASYM_XFORM_ECDSA,
RTE_CRYPTO_ASYM_XFORM_ECDH,
RTE_CRYPTO_ASYM_XFORM_ECPM,
RTE_CRYPTO_ASYM_XFORM_ECFPM,
RTE_CRYPTO_ASYM_XFORM_SM2,
RTE_CRYPTO_ASYM_XFORM_EDDSA
enum rte_crypto_asym_op_type
RTE_CRYPTO_ASYM_OP_ENCRYPT,
RTE_CRYPTO_ASYM_OP_DECRYPT,
RTE_CRYPTO_ASYM_OP_SIGN,
RTE_CRYPTO_ASYM_OP_VERIFY,
RTE_CRYPTO_ASYM_OP_LIST_END
enum rte_crypto_asym_ke_type
RTE_CRYPTO_ASYM_KE_PRIV_KEY_GENERATE,
RTE_CRYPTO_ASYM_KE_PUB_KEY_GENERATE,
RTE_CRYPTO_ASYM_KE_SHARED_SECRET_COMPUTE,
RTE_CRYPTO_ASYM_KE_PUB_KEY_VERIFY
enum rte_crypto_rsa_padding_type
RTE_CRYPTO_RSA_PADDING_NONE
=
0,
RTE_CRYPTO_RSA_PADDING_PKCS1_5,
RTE_CRYPTO_RSA_PADDING_OAEP,
RTE_CRYPTO_RSA_PADDING_PSS
enum rte_crypto_rsa_priv_key_type
RTE_RSA_KEY_TYPE_EXP,
RTE_RSA_KEY_TYPE_QT
enum rte_crypto_sm2_op_capa
RTE_CRYPTO_SM2_RNG,
RTE_CRYPTO_SM2_PH
Variables
const char
*
rte_crypto_asym_ke_strings
[]
const char
*
rte_crypto_asym_op_strings
[]
Detailed Description
RTE Definitions for Asymmetric Cryptography
Defines asymmetric algorithms and modes, as well as supported asymmetric crypto operations.
Definition in file rte_crypto_asym.h.
Macro Definition Documentation
#define RTE_CRYPTO_ASYM_FLAG_PUB_KEY_NO_PADDING RTE_BIT32(0)
Flag to denote public key will be returned without leading zero bytes and if the flag is not set, public key will be padded to the left with zeros to the size of the underlying algorithm (default)
Definition at line 41 of file rte_crypto_asym.h.
#define RTE_CRYPTO_ASYM_FLAG_SHARED_KEY_NO_PADDING RTE_BIT32(1)
Flag to denote shared secret will be returned without leading zero bytes and if the flag is not set, shared secret will be padded to the left with zeros to the size of the underlying algorithm (default)
Definition at line 47 of file rte_crypto_asym.h.
#define RTE_CRYPTO_ASYM_FLAG_PUB_KEY_COMPRESSED RTE_BIT32(2)
Flag to denote public key will be returned in compressed form
Definition at line 51 of file rte_crypto_asym.h.
Typedef Documentation
typedef struct rte_crypto_param_t rte_crypto_param
Buffer to hold crypto params required for asym operations.
These buffers can be used for both input to PMD and output from PMD. When used for output from PMD, application has to ensure the buffer is large enough to hold the target data.
If an operation requires the PMD to generate a random number, and the device supports CSRNG, 'data' should be set to NULL. The crypto parameter in question will not be used by the PMD, as it is internally generated.
typedef rte_crypto_param rte_crypto_uint
Unsigned big-integer in big-endian format
Definition at line 225 of file rte_crypto_asym.h.
Enumeration Type Documentation
enum rte_crypto_curve_id
List of elliptic curves. This enum aligns with TLS 'Supported Groups' registry (previously known as NamedCurve registry). FFDH groups are not, and will not be included in this list. Deprecation for selected curve in TLS does not deprecate the selected curve in Cryptodev. https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml
Definition at line 62 of file rte_crypto_asym.h.
enum rte_crypto_edward_instance
List of Edwards curve instances as per RFC 8032 (Section 5).
Definition at line 76 of file rte_crypto_asym.h.
enum rte_crypto_asym_xform_type
Asymmetric crypto transformation types. Each xform type maps to one asymmetric algorithm performing specific operation
Enumerator
- RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED
-
Invalid xform.
- RTE_CRYPTO_ASYM_XFORM_NONE
-
Xform type None. May be supported by PMD to support passthrough op for debugging purpose. if xform_type none , op_type is disregarded.
- RTE_CRYPTO_ASYM_XFORM_RSA
-
RSA. Performs Encrypt, Decrypt, Sign and Verify. Refer to rte_crypto_asym_op_type
- RTE_CRYPTO_ASYM_XFORM_DH
-
Diffie-Hellman. Performs Key Generate and Shared Secret Compute. Refer to rte_crypto_asym_op_type
- RTE_CRYPTO_ASYM_XFORM_DSA
-
Digital Signature Algorithm Performs Signature Generation and Verification. Refer to rte_crypto_asym_op_type
- RTE_CRYPTO_ASYM_XFORM_MODINV
-
Modular Multiplicative Inverse Perform Modular Multiplicative Inverse b^(-1) mod n
- RTE_CRYPTO_ASYM_XFORM_MODEX
-
Modular Exponentiation Perform Modular Exponentiation b^e mod n
- RTE_CRYPTO_ASYM_XFORM_ECDSA
-
Elliptic Curve Digital Signature Algorithm Perform Signature Generation and Verification.
- RTE_CRYPTO_ASYM_XFORM_ECDH
-
Elliptic Curve Diffie Hellman
- RTE_CRYPTO_ASYM_XFORM_ECPM
-
Elliptic Curve Point Multiplication
- RTE_CRYPTO_ASYM_XFORM_ECFPM
-
Elliptic Curve Fixed Point Multiplication
- RTE_CRYPTO_ASYM_XFORM_SM2
-
ShangMi 2 Performs Encrypt, Decrypt, Sign and Verify. Refer to rte_crypto_asym_op_type.
- RTE_CRYPTO_ASYM_XFORM_EDDSA
-
Edwards Curve Digital Signature Algorithm Perform Signature Generation and Verification.
Definition at line 89 of file rte_crypto_asym.h.
enum rte_crypto_asym_op_type
Asymmetric crypto operation type variants
Enumerator
- RTE_CRYPTO_ASYM_OP_ENCRYPT
-
Asymmetric Encrypt operation
- RTE_CRYPTO_ASYM_OP_DECRYPT
-
Asymmetric Decrypt operation
- RTE_CRYPTO_ASYM_OP_SIGN
-
Signature Generation operation
- RTE_CRYPTO_ASYM_OP_VERIFY
-
Signature Verification operation
Definition at line 144 of file rte_crypto_asym.h.
enum rte_crypto_asym_ke_type
Asymmetric crypto key exchange operation type
Enumerator
- RTE_CRYPTO_ASYM_KE_PRIV_KEY_GENERATE
-
Private Key generation operation
- RTE_CRYPTO_ASYM_KE_PUB_KEY_GENERATE
-
Public Key generation operation
- RTE_CRYPTO_ASYM_KE_SHARED_SECRET_COMPUTE
-
Shared Secret compute operation
- RTE_CRYPTO_ASYM_KE_PUB_KEY_VERIFY
-
Public Key Verification - can be used for elliptic curve point validation.
Definition at line 159 of file rte_crypto_asym.h.
enum rte_crypto_rsa_padding_type
Padding types for RSA signature.
Enumerator
- RTE_CRYPTO_RSA_PADDING_NONE
-
RSA no padding scheme
- RTE_CRYPTO_RSA_PADDING_PKCS1_5
-
RSA PKCS#1 PKCS1-v1_5 padding scheme. For signatures block type 01, for encryption block type 02 are used.
- RTE_CRYPTO_RSA_PADDING_OAEP
-
RSA PKCS#1 OAEP padding scheme
- RTE_CRYPTO_RSA_PADDING_PSS
-
RSA PKCS#1 PSS padding scheme
Definition at line 175 of file rte_crypto_asym.h.
enum rte_crypto_rsa_priv_key_type
RSA private key type enumeration
enumerates private key format required to perform RSA crypto transform.
Enumerator
- RTE_RSA_KEY_TYPE_EXP
-
RSA private key is an exponent
- RTE_RSA_KEY_TYPE_QT
-
RSA private key is in quintuple format See
rte_crypto_rsa_priv_key_qt
Definition at line 194 of file rte_crypto_asym.h.
enum rte_crypto_sm2_op_capa
SM2 operation capabilities
Enumerator
- RTE_CRYPTO_SM2_RNG
-
Random number generator supported in SM2 ops.
- RTE_CRYPTO_SM2_PH
-
Prehash message before crypto op.
Definition at line 644 of file rte_crypto_asym.h.
Variable Documentation
const char* rte_crypto_asym_ke_strings[] [extern]
asym key exchange operation type name strings
const char* rte_crypto_asym_op_strings[] [extern]
asym operations type name strings