DPDK  18.11.11
Data Structures | Enumerations | Variables
rte_crypto_asym.h File Reference
#include <string.h>
#include <stdint.h>
#include <rte_memory.h>
#include <rte_mempool.h>
#include <rte_common.h>

Go to the source code of this file.

Data Structures

struct  rte_crypto_rsa_priv_key_qt
 
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_mod_op_param
 
struct  rte_crypto_asym_xform
 
struct  rte_crypto_rsa_op_param
 
struct  rte_crypto_dh_op_param
 
struct  rte_crypto_dsa_op_param
 
struct  rte_crypto_asym_op
 

Enumerations

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_TYPE_LIST_END
}
 
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_PRIVATE_KEY_GENERATE, RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE, RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE
}
 
enum  rte_crypto_rsa_padding_type {
  RTE_CRYPTO_RSA_PADDING_NONE = 0, RTE_CRYPTO_RSA_PKCS1_V1_5_BT0, RTE_CRYPTO_RSA_PKCS1_V1_5_BT1, RTE_CRYPTO_RSA_PKCS1_V1_5_BT2,
  RTE_CRYPTO_RSA_PADDING_OAEP, RTE_CRYPTO_RSA_PADDING_PSS
}
 
enum  rte_crypto_rsa_priv_key_type { RTE_RSA_KEY_TYPE_EXP, RTE_RSA_KET_TYPE_QT }
 

Variables

const char * rte_crypto_asym_xform_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.

Enumeration Type Documentation

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 Inverse Perform Modulus inverse b^(-1) mod n

RTE_CRYPTO_ASYM_XFORM_MODEX 

Modular Exponentiation Perform Modular Exponentiation b^e mod n

RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END 

End of list

Definition at line 51 of file rte_crypto_asym.h.

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

RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE 

DH Private Key generation operation

RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE 

DH Public Key generation operation

RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE 

DH Shared Secret compute operation

Definition at line 89 of file rte_crypto_asym.h.

Padding types for RSA signature.

Enumerator
RTE_CRYPTO_RSA_PADDING_NONE 

RSA no padding scheme

RTE_CRYPTO_RSA_PKCS1_V1_5_BT0 

RSA PKCS#1 V1.5 Block Type 0 padding scheme as described in rfc2313

RTE_CRYPTO_RSA_PKCS1_V1_5_BT1 

RSA PKCS#1 V1.5 Block Type 01 padding scheme as described in rfc2313

RTE_CRYPTO_RSA_PKCS1_V1_5_BT2 

RSA PKCS#1 V1.5 Block Type 02 padding scheme as described in rfc2313

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 110 of file rte_crypto_asym.h.

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_KET_TYPE_QT 

RSA private key is in quintuple format See rte_crypto_rsa_priv_key_qt

Definition at line 139 of file rte_crypto_asym.h.

Variable Documentation

const char* rte_crypto_asym_xform_strings[]

asym xform type name strings

const char* rte_crypto_asym_op_strings[]

asym operations type name strings