DPDK  19.11.14
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>
#include "rte_crypto_sym.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_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, RTE_RSA_KET_TYPE_QT = RTE_RSA_KEY_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

◆ 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_TYPE_LIST_END 

End of list

Definition at line 53 of file rte_crypto_asym.h.

◆ 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

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

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

◆ 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

RTE_RSA_KET_TYPE_QT 

Backward-compatible definition of old name

Definition at line 133 of file rte_crypto_asym.h.

Variable Documentation

◆ rte_crypto_asym_xform_strings

const char* rte_crypto_asym_xform_strings[]

asym xform type name strings

◆ rte_crypto_asym_op_strings

const char* rte_crypto_asym_op_strings[]

asym operations type name strings