33 #ifndef ti_drivers_ecdh_ECDHXXF3HSM__include 34 #define ti_drivers_ecdh_ECDHXXF3HSM__include 40 #include <third_party/hsmddk/include/Kit/EIP130/DomainHelper/incl/eip130_domain_ecc_curves.h> 48 #define ECDH_COMPONENT_VECTOR_LENGTH 144 53 #define ECDHXXF3HSM_STATUS_HARDWARE_ERROR (ECDH_STATUS_RESERVED - 0) 58 #define ECDHXXF3HSM_STATUS_NO_VALID_CURVE_TYPE_PROVIDED (ECDH_STATUS_RESERVED - 1) 63 #define ECDHXXF3HSM_STATUS_INVALID_PRIVATE_KEY_ENCODING (ECDH_STATUS_RESERVED - 2) 68 #define ECDHXXF3HSM_STATUS_INVALID_PUBLIC_KEY_ENCODING (ECDH_STATUS_RESERVED - 3) 73 #define ECDHXXF3HSM_STATUS_INVALID_SHARED_SECRET_KEY_ENCODING (ECDH_STATUS_RESERVED - 4) 78 #define ECDHXXF3HSM_STATUS_INVALID_PRIVATE_KEY_SIZE (ECDH_STATUS_RESERVED - 5) 83 #define ECDHXXF3HSM_STATUS_INVALID_PUBLIC_KEY_SIZE (ECDH_STATUS_RESERVED - 6) 88 #define ECDHXXF3HSM_STATUS_INVALID_SHARED_SECRET_KEY_SIZE (ECDH_STATUS_RESERVED - 7) 93 #define ECDHXXF3HSM_STATUS_INVALID_ECC_KEYS (ECDH_STATUS_RESERVED - 8) 98 #define ECDHXXF3HSM_STATUS_INVALID_PUBLIC_KEY_OCTET_VALUE (ECDH_STATUS_RESERVED - 9) ECDH_OperationType
Enum for the operation types supported by the driver.
Definition: ECDH.h:693
ECDH_CurveType
Enum for the curve types supported by the driver.
Definition: ECDH.h:602
uint32_t paramAssetID
Definition: ECDHXXF3HSM.h:145
bool driverCreatedKeyAsset
Definition: ECDHXXF3HSM.h:149
const CryptoKey * privateKey
Definition: ECDHXXF3HSM.h:127
#define ECDH_COMPONENT_VECTOR_LENGTH
Definition: ECDHXXF3HSM.h:48
ECDH_OperationType operationType
Definition: ECDHXXF3HSM.h:136
CryptoKey * publicKey
Definition: ECDHXXF3HSM.h:128
CryptoKey datastructure.
Definition: CryptoKey.h:211
Hardware-specific configuration attributes.
Definition: ECDHXXF3HSM.h:106
int_fast16_t hsmStatus
Definition: ECDHXXF3HSM.h:141
Eip130Domain_ECCurveFamily_t curveFamily
Definition: ECDHXXF3HSM.h:133
uint32_t curveParamSize
Definition: ECDHXXF3HSM.h:147
Definition: ECDHXXF3HSM.h:117
Definition: ECDHXXF3HSM.h:116
const uint8_t * curveParam
Definition: ECDHXXF3HSM.h:146
uint8_t reserved1
Definition: ECDHXXF3HSM.h:108
ECDH_CurveLength curveLength
Definition: ECDHXXF3HSM.h:131
void(* ECDH_CallbackFxn)(ECDH_Handle handle, int_fast16_t returnStatus, ECDH_Operation operation, ECDH_OperationType operationType)
The definition of a callback function used by the ECDH driver when used in ECDH_RETURN_BEHAVIOR_CALLB...
Definition: ECDH.h:717
ECDH_Operation * operation
Definition: ECDHXXF3HSM.h:135
CryptoKey * sharedSecret
Definition: ECDHXXF3HSM.h:129
ECDH_CurveType curveType
Definition: ECDHXXF3HSM.h:130
uint32_t publicDataAssetID
Definition: ECDHXXF3HSM.h:144
ECDH_KeyMaterialEndianness
Definition: ECDH.h:588
TI Driver for Elliptic Curve Diffie-Hellman key agreement scheme.
ECDH_KeyMaterialEndianness keyMaterialEndianness
Definition: ECDHXXF3HSM.h:138
int_fast16_t returnStatus
Definition: ECDHXXF3HSM.h:140
bool isOpen
Definition: ECDHXXF3HSM.h:150
ECDH_DomainID domainId
Definition: ECDHXXF3HSM.h:132
ECDH_ReturnBehavior
The way in which ECDH function calls return after performing a public key generation or shared secret...
Definition: ECDH.h:570
uint32_t publicKeyAssetID
Definition: ECDHXXF3HSM.h:143
ECDH_CurveLength
Enum for signature sizes in bits supported by the driver.
Definition: ECDH.h:617
ECDH_ReturnBehavior returnBehavior
Definition: ECDHXXF3HSM.h:137
uint32_t accessTimeout
Definition: ECDHXXF3HSM.h:139
ECDH_CallbackFxn callbackFxn
Definition: ECDHXXF3HSM.h:134
ECDHXXF3HSM Object.
Definition: ECDHXXF3HSM.h:125
Union containing pointers to all supported operation structs.
Definition: ECDH.h:682
ECDH_DomainID
Enum for the curve domain id supported by the driver.
Definition: ECDHXXF3HSM.h:114
uint32_t privateKeyAssetID
Definition: ECDHXXF3HSM.h:142