DPDK  19.08.2
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 #include "rte_crypto_sym.h"
29 
30 typedef struct rte_crypto_param_t {
31  uint8_t *data;
33  rte_iova_t iova;
35  size_t length;
37 } rte_crypto_param;
38 
40 extern const char *
42 
44 extern const char *
46 
86 };
87 
106  RTE_CRYPTO_ASYM_OP_LIST_END
107 };
108 
123  RTE_CRYPTO_RSA_PADDING_TYPE_LIST_END
124 };
125 
140 };
141 
147  rte_crypto_param p;
154  rte_crypto_param q;
161  rte_crypto_param dP;
169  rte_crypto_param dQ;
177  rte_crypto_param qInv;
184 };
185 
193  rte_crypto_param n;
199  rte_crypto_param e;
205  enum rte_crypto_rsa_priv_key_type key_type;
206 
207  __extension__
208  union {
209  rte_crypto_param d;
218  };
219 };
220 
228  rte_crypto_param modulus;
237  rte_crypto_param exponent;
242 };
243 
251  rte_crypto_param modulus;
263 };
264 
275  rte_crypto_param p;
281  rte_crypto_param g;
287 };
288 
296  rte_crypto_param p;
301  rte_crypto_param q;
307  rte_crypto_param g;
311  rte_crypto_param x;
319 };
320 
327  rte_crypto_param base;
337  rte_crypto_param result;
346 };
347 
359  __extension__
360  union {
375  };
376 };
377 
379 
388  rte_crypto_param message;
406  rte_crypto_param cipher;
421  rte_crypto_param sign;
454 };
455 
461  rte_crypto_param pub_key;
471  rte_crypto_param priv_key;
480  rte_crypto_param shared_secret;
487 };
488 
496  rte_crypto_param message;
498  rte_crypto_param r;
504  rte_crypto_param s;
510  rte_crypto_param y;
516 };
517 
528  __extension__
529  union {
530  struct rte_crypto_rsa_op_param rsa;
531  struct rte_crypto_mod_op_param modex;
532  struct rte_crypto_mod_op_param modinv;
533  struct rte_crypto_dh_op_param dh;
534  struct rte_crypto_dsa_op_param dsa;
535  };
536 };
537 
538 #ifdef __cplusplus
539 }
540 #endif
541 
542 #endif /* _RTE_CRYPTO_ASYM_H_ */
rte_crypto_param cipher
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:80
struct rte_cryptodev_asym_session * session
rte_crypto_param priv_key
rte_crypto_param x
rte_crypto_param result
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