DPDK  19.08.0-rc0
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 
131  RTE_CRYPTO_RSA_PADDING_TYPE_LIST_END
132 };
133 
148 };
149 
155  rte_crypto_param p;
162  rte_crypto_param q;
169  rte_crypto_param dP;
177  rte_crypto_param dQ;
185  rte_crypto_param qInv;
192 };
193 
201  rte_crypto_param n;
207  rte_crypto_param e;
213  enum rte_crypto_rsa_priv_key_type key_type;
214 
215  __extension__
216  union {
217  rte_crypto_param d;
226  };
227 };
228 
236  rte_crypto_param modulus;
245  rte_crypto_param exponent;
250 };
251 
259  rte_crypto_param modulus;
271 };
272 
283  rte_crypto_param p;
289  rte_crypto_param g;
295 };
296 
304  rte_crypto_param p;
309  rte_crypto_param q;
315  rte_crypto_param g;
319  rte_crypto_param x;
327 };
328 
335  rte_crypto_param base;
345  rte_crypto_param result;
354 };
355 
367  __extension__
368  union {
383  };
384 };
385 
387 
395 
396  rte_crypto_param message;
405  rte_crypto_param sign;
433 };
434 
440  rte_crypto_param pub_key;
450  rte_crypto_param priv_key;
459  rte_crypto_param shared_secret;
466 };
467 
475  rte_crypto_param message;
477  rte_crypto_param r;
483  rte_crypto_param s;
489  rte_crypto_param y;
495 };
496 
507  __extension__
508  union {
509  struct rte_crypto_rsa_op_param rsa;
510  struct rte_crypto_mod_op_param modex;
511  struct rte_crypto_mod_op_param modinv;
512  struct rte_crypto_dh_op_param dh;
513  struct rte_crypto_dsa_op_param dsa;
514  };
515 };
516 
517 #ifdef __cplusplus
518 }
519 #endif
520 
521 #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
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