DPDK  18.11.11
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
18 extern "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 typedef struct rte_crypto_param_t {
29  uint8_t *data;
31  rte_iova_t iova;
33  size_t length;
35 } rte_crypto_param;
36 
38 extern const char *
40 
42 extern const char *
44 
84 };
85 
104  RTE_CRYPTO_ASYM_OP_LIST_END
105 };
106 
129  RTE_CRYPTO_RSA_PADDING_TYPE_LIST_END
130 };
131 
146 };
147 
153  rte_crypto_param p;
160  rte_crypto_param q;
167  rte_crypto_param dP;
175  rte_crypto_param dQ;
183  rte_crypto_param qInv;
190 };
191 
199  rte_crypto_param n;
205  rte_crypto_param e;
211  enum rte_crypto_rsa_priv_key_type key_type;
212 
213  __extension__
214  union {
215  rte_crypto_param d;
224  };
225 };
226 
234  rte_crypto_param modulus;
240  rte_crypto_param exponent;
245 };
246 
254  rte_crypto_param modulus;
260 };
261 
272  rte_crypto_param p;
278  rte_crypto_param g;
284 };
285 
293  rte_crypto_param p;
298  rte_crypto_param q;
304  rte_crypto_param g;
308  rte_crypto_param x;
316 };
317 
324  rte_crypto_param base;
329 };
330 
342  __extension__
343  union {
358  };
359 };
360 
362 
371  rte_crypto_param message;
380  rte_crypto_param sign;
408 };
409 
415  rte_crypto_param pub_key;
425  rte_crypto_param priv_key;
434  rte_crypto_param shared_secret;
441 };
442 
450  rte_crypto_param message;
452  rte_crypto_param r;
458  rte_crypto_param s;
464  rte_crypto_param y;
470 };
471 
482  __extension__
483  union {
484  struct rte_crypto_rsa_op_param rsa;
485  struct rte_crypto_mod_op_param modex;
486  struct rte_crypto_mod_op_param modinv;
487  struct rte_crypto_dh_op_param dh;
488  struct rte_crypto_dsa_op_param dsa;
489  };
491 
492 #ifdef __cplusplus
493 }
494 #endif
495 
496 #endif /* _RTE_CRYPTO_ASYM_H_ */
rte_crypto_param p
rte_crypto_rsa_padding_type
rte_crypto_param message
enum rte_crypto_auth_algorithm md
rte_crypto_param e
rte_crypto_asym_xform_type
struct rte_crypto_dsa_xform dsa
rte_crypto_param exponent
rte_crypto_rsa_priv_key_type
const char * rte_crypto_asym_xform_strings[]
rte_crypto_param n
enum rte_crypto_asym_op_type type
rte_crypto_param message
rte_crypto_asym_op_type
enum rte_crypto_rsa_padding_type pad
rte_crypto_param pub_key
struct rte_crypto_rsa_xform rsa
struct rte_crypto_modex_xform modex
rte_crypto_param q
rte_crypto_param g
rte_crypto_param shared_secret
rte_crypto_param p
enum rte_crypto_auth_algorithm mgf1md
const char * rte_crypto_asym_op_strings[]
rte_crypto_param modulus
struct rte_crypto_dh_xform dh
struct rte_crypto_modinv_xform modinv
enum rte_crypto_asym_xform_type xform_type
rte_crypto_auth_algorithm
enum rte_crypto_asym_op_type op_type
struct rte_crypto_asym_xform * next
uint64_t rte_iova_t
Definition: rte_memory.h:82
struct rte_cryptodev_asym_session * session
rte_crypto_param priv_key
rte_crypto_param x
#define __rte_cache_aligned
Definition: rte_memory.h:66
struct rte_crypto_rsa_priv_key_qt qt
rte_crypto_param modulus
rte_crypto_param g
rte_crypto_param d
enum rte_crypto_asym_op_type op_type