7 #define SE3_REQ_CHALLENGE_SIZE (96+16)
8 #define SE3_REQ_CHALLENGE_IV_OFFSET (0)
9 #define SE3_REQ_CHALLENGE_TOKEN_OFFSET (16)
10 #define SE3_REQ_CHALLENGE_CC_OFFSET (32)
11 #define SE3_REQ_CHALLENGE_CC2_OFFSET (64)
12 #define SE3_REQ_CHALLENGE_ACCESS_OFFSET (96)
14 #define SE3_RESP_CHALLENGE_SC_OFFSET (32)
15 #define SE3_RESP_LOGIN_TOKEN_OFFSET (32)
28 uint8_t token[SE3_L1_TOKEN_SIZE];
29 uint8_t key[SE3_L1_KEY_SIZE];
30 uint8_t buf[SE3_COMM_N * SE3_COMM_BLOCK];
36 bool cryptoctx_initialized;
47 uint8_t name[SE3_KEY_NAME_MAX];
51 uint8_t name[SE3_CMD1_CRYPTO_ALGOINFO_NAME_SIZE];
87 uint16_t L1_set_admin_PIN(
se3_session* s, uint8_t* pin);
97 uint16_t L1_set_user_PIN(
se3_session* s, uint8_t* pin);
121 uint16_t L1_key_list(
se3_session* s, uint16_t skip, uint16_t max_keys,
se3_key* key_array, uint16_t* count);
135 uint16_t L1_crypto_init(
se3_session* s, uint16_t algorithm, uint16_t mode, uint32_t key_id, uint32_t* sess_id);
136 uint16_t L1_crypto_update(
se3_session* s, uint32_t sess_id, uint16_t flags, uint16_t data1_len, uint8_t* data1, uint16_t data2_len, uint8_t* data2, uint16_t* dataout_len, uint8_t* data_out);
138 uint16_t L1_crypto_set_time(
se3_session* s, uint32_t devtime);
156 uint16_t L1_encrypt(
se3_session* s, uint16_t algorithm, uint16_t mode, uint32_t key_id,
size_t datain_len, int8_t* data_in,
size_t* dataout_len, uint8_t* data_out);
173 uint16_t L1_decrypt(
se3_session* s, uint16_t algorithm, uint16_t mode, uint32_t key_id,
size_t datain_len, int8_t* data_in,
size_t* dataout_len, uint8_t* data_out);
187 uint16_t L1_digest(
se3_session* s, uint16_t algorithm,
size_t datain_len, int8_t* data_in,
size_t* dataout_len, uint8_t* data_out);
201 uint16_t L1_get_algorithms(
se3_session* s, uint16_t skip, uint16_t max_algorithms,
se3_algo* algorithms_array, uint16_t* count);
This file contains defines to be used both for L1 and L0 functions.
Definition: se3_common.h:24