SmartSnippets DA1459x SDK
crypto_ecdh.h
Go to the documentation of this file.
1 
44 #ifndef CRYPTO_ECDH_H_
45 #define CRYPTO_ECDH_H_
46 
47 #include <osal.h>
48 #include <crypto_ec.h>
49 #include <stdint.h>
50 
54 typedef enum {
62 
71 };
72 
83 typedef struct {
84  uint8_t d[32];
85  uint8_t Ql[2][32];
86  uint8_t Qp[2][32];
87  uint8_t s[32];
89  unsigned int flags;
91 
98 #define CRYPTO_ECDH_INIT_CTX(curve_init) { {0}, {{0}, {0}}, {{0}, {0}}, {0}, curve_init, 0 }
99 
168 CRYPTO_ECDH_RET crypto_ecdh_compute(crypto_ecdh_context_t *ctx, OS_TICK_TIME timeout);
169 
180 
181 #endif /* CRYPTO_ECDH_H_ */
182 
CRYPTO_ECDH_CTX_s
Definition: crypto_ecdh.h:70
CRYPTO_ECDH_RET_ER
Definition: crypto_ecdh.h:60
crypto_ecdh_init_context
CRYPTO_ECDH_RET crypto_ecdh_init_context(crypto_ecdh_context_t *ctx, CRYPTO_ECC_CURVE curve_type)
Initialize context for use with crypto_ecdh_compute.
CRYPTO_ECDH_CTX_Ql
Definition: crypto_ecdh.h:68
crypto_ecdh_context_t
ECDH context.
Definition: crypto_ecdh.h:83
CRYPTO_ECDH_CTX_Qp
Definition: crypto_ecdh.h:69
osal.h
OS abstraction layer API.
CRYPTO_ECDH_CTX_d
Definition: crypto_ecdh.h:67
crypto_ecdh_context_t::curve
crypto_ec_params_t curve
Definition: crypto_ecdh.h:88
crypto_ecdh_compute
CRYPTO_ECDH_RET crypto_ecdh_compute(crypto_ecdh_context_t *ctx, OS_TICK_TIME timeout)
Generate Elliptic Curve Diffie-Hellman (ECDH) key pair.
crypto_ecdh_context_t::flags
unsigned int flags
Definition: crypto_ecdh.h:89
CRYPTO_ECDH_RET_IP
Definition: crypto_ecdh.h:59
CRYPTO_ECDH_RET_EE
Definition: crypto_ecdh.h:57
CRYPTO_ECDH_RET_TO
Definition: crypto_ecdh.h:56
crypto_ecdh_context_flags
crypto_ecdh_context_flags
ECDH context flags type.
Definition: crypto_ecdh.h:66
CRYPTO_ECDH_RET_MP
Definition: crypto_ecdh.h:58
CRYPTO_ECDH_RET
CRYPTO_ECDH_RET
ECDH API return codes.
Definition: crypto_ecdh.h:54
crypto_ec.h
Elliptic curves data.
CRYPTO_ECC_CURVE
CRYPTO_ECC_CURVE
ECC supported curves type.
Definition: crypto_ecc_provider_params.h:64
CRYPTO_ECDH_RET_OK
Definition: crypto_ecdh.h:55
crypto_ec_params_t
Elliptic curve parameters.
Definition: crypto_ec.h:59