DPDK  19.11.14
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 
142 };
143 
149  rte_crypto_param p;
156  rte_crypto_param q;
163  rte_crypto_param dP;
171  rte_crypto_param dQ;
179  rte_crypto_param qInv;
186 };
187 
195  rte_crypto_param n;
201  rte_crypto_param e;
207  enum rte_crypto_rsa_priv_key_type key_type;
208 
209  __extension__
210  union {
211  rte_crypto_param d;
220  };
221 };
222 
230  rte_crypto_param modulus;
239  rte_crypto_param exponent;
244 };
245 
253  rte_crypto_param modulus;
265 };
266 
277  rte_crypto_param p;
283  rte_crypto_param g;
289 };
290 
298  rte_crypto_param p;
303  rte_crypto_param q;
309  rte_crypto_param g;
313  rte_crypto_param x;
321 };
322 
329  rte_crypto_param base;
339  rte_crypto_param result;
348 };
349 
361  __extension__
362  union {
369  struct rte_crypto_modinv_xform modinv;
377  };
378 };
379 
381 
390  rte_crypto_param message;
408  rte_crypto_param cipher;
423  rte_crypto_param sign;
456 };
457 
463  rte_crypto_param pub_key;
473  rte_crypto_param priv_key;
482  rte_crypto_param shared_secret;
489 };
490 
498  rte_crypto_param message;
500  rte_crypto_param r;
506  rte_crypto_param s;
512  rte_crypto_param y;
518 };
519 
528  union {
533  };
534 
535  __extension__
536  union {
537  struct rte_crypto_rsa_op_param rsa;
538  struct rte_crypto_mod_op_param modex;
539  struct rte_crypto_mod_op_param modinv;
540  struct rte_crypto_dh_op_param dh;
541  struct rte_crypto_dsa_op_param dsa;
542  };
543 };
544 
545 #ifdef __cplusplus
546 }
547 #endif
548 
549 #endif /* _RTE_CRYPTO_ASYM_H_ */
rte_crypto_param cipher
rte_crypto_param p
rte_crypto_rsa_padding_type
rte_crypto_param message
rte_crypto_param e
uint64_t rte_iova_t
Definition: rte_common.h:340
rte_crypto_asym_xform_type
struct rte_crypto_asym_xform * xform
rte_crypto_param exponent
rte_crypto_rsa_priv_key_type
const char * rte_crypto_asym_xform_strings[]
rte_crypto_param n
rte_crypto_param message
rte_crypto_asym_op_type
rte_crypto_param pub_key
rte_crypto_param q
rte_crypto_param g
rte_crypto_param shared_secret
rte_crypto_param p
const char * rte_crypto_asym_op_strings[]
rte_crypto_param modulus
enum rte_crypto_asym_xform_type xform_type
#define RTE_STD_C11
Definition: rte_common.h:40
rte_crypto_auth_algorithm
struct rte_crypto_asym_xform * next
struct rte_cryptodev_asym_session * session
rte_crypto_param priv_key
rte_crypto_param x
rte_crypto_param result
rte_crypto_param modulus
rte_crypto_param g
rte_crypto_param d