142 #ifndef ti_drivers_ECIES__include 143 #define ti_drivers_ECIES__include 167 #define ECIES_STATUS_RESERVED ((int_fast16_t)-32) 175 #define ECIES_STATUS_SUCCESS ((int_fast16_t)0) 183 #define ECIES_STATUS_ERROR ((int_fast16_t)-1) 194 #define ECIES_STATUS_RESOURCE_UNAVAILABLE ((int_fast16_t)-2) 199 #define ECIES_STATUS_INSUFFICIENT_OUTPUT_LENGTH ((int_fast16_t)-3) 207 #define ECIES_STATUS_MAC_INVALID ((int_fast16_t)-4) 215 #define ECIES_STATUS_UNALIGNED_IO_NOT_SUPPORTED AES_STATUS_UNALIGNED_IO_NOT_SUPPORTED 256 #define ECIES_TAG_SIZE 16U 258 #ifndef ECCParams_NISTP256_LENGTH 262 #define ECCParams_NISTP256_LENGTH 32U 270 #define ECIES_PUBLIC_KEY_SIZE (1U + (2U * ECCParams_NISTP256_LENGTH)) 279 #define ECIES_PADDING_BYTES 3U 454 size_t paddedOutputLen);
501 const void *paddedInput,
502 size_t paddedInputLen,
ECIES_Handle ECIES_construct(ECIES_Config *config, const ECIES_Params *params)
Constructs a new ECIES object.
ADC_Params params
Definition: Driver_Init.h:11
ECIES_Handle ECIES_open(uint_least8_t index, const ECIES_Params *params)
Initializes a ECIES driver instance and returns a handle.
ECIES_ReturnBehavior returnBehavior
Definition: ECIES.h:316
const ECIES_Params ECIES_defaultParams
Default ECIES_Params structure.
void ECIES_init(void)
Initializes the ECIES driver module.
const uint_least8_t ECIES_count
Global ECIES configuration count.
CryptoKey datastructure.
Definition: CryptoKey.h:208
int_fast16_t ECIES_encrypt(ECIES_Handle handle, const CryptoKey *publicKey, const void *input, size_t inputLen, void *paddedOutput, size_t paddedOutputLen)
Performs ECIES encryption of a message.
void ECIES_Params_init(ECIES_Params *params)
Initializes params with default values.
void ECIES_close(ECIES_Handle handle)
Closes a ECIES peripheral specified by handle.
ECIES Global configuration.
Definition: ECIES.h:292
ANSIX936KDF driver header.
uint32_t timeout
Definition: ECIES.h:320
ECIES Parameters.
Definition: ECIES.h:314
int_fast16_t ECIES_decrypt(ECIES_Handle handle, const CryptoKey *privateKey, const void *paddedInput, size_t paddedInputLen, void *output, size_t outputLen)
Performs ECIES decryption of a message.
const ECIES_Config ECIES_config[]
Global ECIES configuration struct.
void * object
Definition: ECIES.h:295
ECIES_Config * ECIES_Handle
A handle that is returned from an ECIES_open() call.
Definition: ECIES.h:304
ECIES_ReturnBehavior
The way in which ECIES function calls return after performing an operation.
Definition: ECIES.h:238
void const * hwAttrs
Definition: ECIES.h:298