DPDK 21.11.9
rte_crypto_asym.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Cavium Networks
3 */
4
5#ifndef _RTE_CRYPTO_ASYM_H_
6#define _RTE_CRYPTO_ASYM_H_
7
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21#include <string.h>
22#include <stdint.h>
23
24#include <rte_memory.h>
25#include <rte_mempool.h>
26#include <rte_common.h>
27
28#include "rte_crypto_sym.h"
29
37typedef struct rte_crypto_param_t {
38 uint8_t *data;
42 size_t length;
45
47extern const char *
49
51extern const char *
53
99};
100
119 RTE_CRYPTO_ASYM_OP_LIST_END
120};
121
136 RTE_CRYPTO_RSA_PADDING_TYPE_LIST_END
137};
138
153};
154
197};
198
218 enum rte_crypto_rsa_priv_key_type key_type;
219
220 __extension__
221 union {
231 };
232};
233
255};
256
276};
277
300};
301
332};
333
339 RTE_CRYPTO_EC_GROUP_UNKNOWN = 0,
340 RTE_CRYPTO_EC_GROUP_SECP192R1 = 19,
341 RTE_CRYPTO_EC_GROUP_SECP224R1 = 21,
342 RTE_CRYPTO_EC_GROUP_SECP256R1 = 23,
343 RTE_CRYPTO_EC_GROUP_SECP384R1 = 24,
344 RTE_CRYPTO_EC_GROUP_SECP521R1 = 25,
345};
346
355};
356
366};
367
393};
394
406 __extension__
407 union {
427 };
428};
429
431
506};
507
539};
540
568};
569
601};
602
615};
616
625 union {
630 };
631
632 __extension__
633 union {
634 struct rte_crypto_rsa_op_param rsa;
635 struct rte_crypto_mod_op_param modex;
636 struct rte_crypto_mod_op_param modinv;
637 struct rte_crypto_dh_op_param dh;
638 struct rte_crypto_dsa_op_param dsa;
639 struct rte_crypto_ecdsa_op_param ecdsa;
640 struct rte_crypto_ecpm_op_param ecpm;
641 };
642};
643
644#ifdef __cplusplus
645}
646#endif
647
648#endif /* _RTE_CRYPTO_ASYM_H_ */
uint64_t rte_iova_t
Definition: rte_common.h:438
#define RTE_STD_C11
Definition: rte_common.h:42
rte_crypto_ec_group
rte_crypto_asym_op_type
@ RTE_CRYPTO_ASYM_OP_ENCRYPT
@ RTE_CRYPTO_ASYM_OP_PRIVATE_KEY_GENERATE
@ RTE_CRYPTO_ASYM_OP_SIGN
@ RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE
@ RTE_CRYPTO_ASYM_OP_DECRYPT
@ RTE_CRYPTO_ASYM_OP_VERIFY
@ RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE
rte_crypto_asym_xform_type
@ RTE_CRYPTO_ASYM_XFORM_NONE
@ RTE_CRYPTO_ASYM_XFORM_UNSPECIFIED
@ RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END
@ RTE_CRYPTO_ASYM_XFORM_MODEX
@ RTE_CRYPTO_ASYM_XFORM_ECPM
@ RTE_CRYPTO_ASYM_XFORM_DH
@ RTE_CRYPTO_ASYM_XFORM_DSA
@ RTE_CRYPTO_ASYM_XFORM_RSA
@ RTE_CRYPTO_ASYM_XFORM_ECDSA
@ RTE_CRYPTO_ASYM_XFORM_MODINV
const char * rte_crypto_asym_xform_strings[]
const char * rte_crypto_asym_op_strings[]
struct rte_crypto_param_t rte_crypto_param
rte_crypto_rsa_padding_type
@ RTE_CRYPTO_RSA_PADDING_PKCS1_5
@ RTE_CRYPTO_RSA_PADDING_OAEP
@ RTE_CRYPTO_RSA_PADDING_NONE
@ RTE_CRYPTO_RSA_PADDING_PSS
rte_crypto_rsa_priv_key_type
@ RTE_RSA_KEY_TYPE_QT
@ RTE_RSA_KEY_TYPE_EXP
rte_crypto_auth_algorithm
struct rte_cryptodev_asym_session * session
struct rte_crypto_asym_xform * xform
struct rte_crypto_dh_xform dh
struct rte_crypto_modex_xform modex
struct rte_crypto_modinv_xform modinv
struct rte_crypto_asym_xform * next
struct rte_crypto_rsa_xform rsa
struct rte_crypto_ec_xform ec
enum rte_crypto_asym_xform_type xform_type
struct rte_crypto_dsa_xform dsa
rte_crypto_param shared_secret
rte_crypto_param pub_key
rte_crypto_param priv_key
enum rte_crypto_asym_op_type type
rte_crypto_param p
rte_crypto_param g
enum rte_crypto_asym_op_type op_type
rte_crypto_param message
rte_crypto_param q
rte_crypto_param x
rte_crypto_param p
rte_crypto_param g
rte_crypto_param y
rte_crypto_param x
enum rte_crypto_ec_group curve_id
enum rte_crypto_asym_op_type op_type
struct rte_crypto_ec_point q
struct rte_crypto_ec_point p
struct rte_crypto_ec_point r
rte_crypto_param result
rte_crypto_param exponent
rte_crypto_param modulus
rte_crypto_param modulus
enum rte_crypto_asym_op_type op_type
rte_crypto_param message
enum rte_crypto_auth_algorithm mgf1md
rte_crypto_param cipher
enum rte_crypto_auth_algorithm md
enum rte_crypto_rsa_padding_type pad
rte_crypto_param e
rte_crypto_param n
struct rte_crypto_rsa_priv_key_qt qt
rte_crypto_param d