SemiDrive SSDK Appication Program Interface PTG3.0
ske_cbc_mac.h
Go to the documentation of this file.
1
9#ifndef SKE_CBC_MAC_H
10#define SKE_CBC_MAC_H
11
12#include "ske.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18typedef struct {
19 ske_ctx_t ske_cbc_mac_ctx[1];
20 uint8_t is_updated;
21 uint8_t left_bytes;
22 uint8_t block_buf[16];
25
26typedef struct {
27 ske_ctx_t ske_cbc_mac_ctx[1];
28 uint32_t tmp_output_block[4];
30
32 SKE_PADDING padding, uint8_t *key,
33 uint16_t sp_key_idx);
34
35uint32_t ske_hp_cbc_mac_update(ske_cbc_mac_ctx_t *ctx, uint8_t *msg,
36 uint32_t msg_bytes);
37
38uint32_t ske_hp_cbc_mac_final(ske_cbc_mac_ctx_t *ctx, uint8_t *mac,
39 uint8_t mac_bytes);
40
41uint32_t ske_hp_cbc_mac(SKE_ALG alg, SKE_PADDING padding, uint8_t *key,
42 uint16_t sp_key_idx, uint8_t *msg, uint32_t msg_bytes,
43 uint8_t *mac, uint8_t mac_bytes);
44
45#ifdef SKE_HP_DMA_FUNCTION
46uint32_t ske_hp_dma_cbc_mac_init(ske_cbc_mac_dma_ctx_t *ctx, SKE_ALG alg,
47 uint8_t *key, uint16_t sp_key_idx);
48
49uint32_t ske_hp_dma_cbc_mac_update_blocks_excluding_last_block(
50 ske_cbc_mac_dma_ctx_t *ctx, uint32_t *msg, uint32_t msg_words);
51
52uint32_t ske_hp_dma_cbc_mac_update_including_last_block(
53 ske_cbc_mac_dma_ctx_t *ctx, uint32_t *msg, uint32_t msg_bytes,
54 uint32_t *mac);
55
56uint32_t ske_hp_dma_cbc_mac(SKE_ALG alg, uint8_t *key, uint16_t sp_key_idx,
57 uint32_t *msg, uint32_t msg_bytes, uint32_t *mac);
58#endif
59
60#ifdef __cplusplus
61}
62#endif
63
64#endif
Semidrive CRYPTO ske header file.
SKE_ALG
Definition: ske_basic.h:158
SKE_PADDING
Definition: ske_basic.h:205
uint32_t ske_hp_cbc_mac_final(ske_cbc_mac_ctx_t *ctx, uint8_t *mac, uint8_t mac_bytes)
uint32_t ske_hp_cbc_mac_init(ske_cbc_mac_ctx_t *ctx, SKE_ALG alg, SKE_PADDING padding, uint8_t *key, uint16_t sp_key_idx)
uint32_t ske_hp_cbc_mac(SKE_ALG alg, SKE_PADDING padding, uint8_t *key, uint16_t sp_key_idx, uint8_t *msg, uint32_t msg_bytes, uint8_t *mac, uint8_t mac_bytes)
uint32_t ske_hp_cbc_mac_update(ske_cbc_mac_ctx_t *ctx, uint8_t *msg, uint32_t msg_bytes)
Definition: ske_cbc_mac.h:18
SKE_PADDING padding
Definition: ske_cbc_mac.h:23
uint8_t is_updated
Definition: ske_cbc_mac.h:20
uint8_t left_bytes
Definition: ske_cbc_mac.h:21
Definition: ske_cbc_mac.h:26
Definition: ske_basic.h:210