SemiDrive SSDK Appication Program Interface PTG3.0
sdrv_crypto_mailbox_hmac.h
Go to the documentation of this file.
1
9#ifndef SDRV_CRYPTO_MAILBOX_HMAC_H
10#define SDRV_CRYPTO_MAILBOX_HMAC_H
11
14
18typedef struct {
19 uint8_t cmd_id;
20 uint8_t need_seed;
21 uint8_t mode;
22 uint8_t mac_len;
23 uint8_t data_ptr[4];
24 uint8_t data_len[4];
25 uint8_t key_id0[2];
26 uint8_t key_id1[2];
27 uint8_t key_ptr[4];
28 uint8_t rev2[2];
29 uint8_t key_len[2];
30 uint8_t mac_ptr[4];
31 uint8_t aut_info_ptr[4];
33
37typedef struct {
38 uint8_t cmd_id;
39 uint8_t need_seed;
40 uint8_t mode;
41 uint8_t mac_len;
42 uint8_t data_ptr[4];
43 uint8_t data_len[4];
44 uint8_t key_id0[2];
45 uint8_t key_id1[2];
46 uint8_t key_ptr[4];
47 uint8_t rev2[2];
48 uint8_t key_len[2];
49 uint8_t mac_ptr[4];
50 uint8_t aut_info_ptr[4];
52
71 uint32_t msg_bytes,
72 cmd_key_type_e key_type,
73 const uint8_t *key,
74 uint16_t key_id,
75 uint32_t key_bytes,
76 uint8_t mac_bytes,
77 uint8_t *out,
78 uint8_t *mac_buf);
79
98 uint32_t msg_bytes,
99 cmd_key_type_e key_type,
100 const uint8_t *key,
101 uint16_t key_id,
102 uint32_t key_bytes,
103 uint8_t hmac_bytes,
104 uint8_t *hmac, uint8_t *mac_buf);
105#endif
uint32_t hmac(HASH_ALG hash_alg, uint8_t *key, uint16_t sp_key_idx, uint32_t key_bytes, uint8_t *msg, uint32_t msg_bytes, uint8_t *mac)
SemiDrive CRYPTO mailbox common api header file.
cmd_key_type_e
CRYPTO key type.
Definition: sdrv_crypto_mailbox_common.h:133
sdrv_crypto_error_status_e cmd_hmac_generate_mac(uint8_t mode, uint8_t *msg, uint32_t msg_bytes, cmd_key_type_e key_type, const uint8_t *key, uint16_t key_id, uint32_t key_bytes, uint8_t mac_bytes, uint8_t *out, uint8_t *mac_buf)
get hmac value
sdrv_crypto_error_status_e cmd_hmac_verify_mac(uint8_t mode, uint8_t *msg, uint32_t msg_bytes, cmd_key_type_e key_type, const uint8_t *key, uint16_t key_id, uint32_t key_bytes, uint8_t hmac_bytes, uint8_t *hmac, uint8_t *mac_buf)
verify hmac
crypto mailbox trng cmd interface
enum sdrv_crypto_error_status sdrv_crypto_error_status_e
CRYPTO error status return codes.
CRYPTO cmd of generate MAC.
Definition: sdrv_crypto_mailbox_hmac.h:18
uint8_t need_seed
Definition: sdrv_crypto_mailbox_hmac.h:20
uint8_t mode
Definition: sdrv_crypto_mailbox_hmac.h:21
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_hmac.h:19
uint8_t mac_len
Definition: sdrv_crypto_mailbox_hmac.h:22
CRYPTO cmd of verify MAC.
Definition: sdrv_crypto_mailbox_hmac.h:37
uint8_t need_seed
Definition: sdrv_crypto_mailbox_hmac.h:39
uint8_t mode
Definition: sdrv_crypto_mailbox_hmac.h:40
uint8_t cmd_id
Definition: sdrv_crypto_mailbox_hmac.h:38
uint8_t mac_len
Definition: sdrv_crypto_mailbox_hmac.h:41