SemiDrive SSDK Appication Program Interface PTG3.0
ske_cmac.h
Go to the documentation of this file.
1
9#ifndef SKE_CMAC_H
10#define SKE_CMAC_H
11
12#include "ske.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18typedef struct {
19 ske_ctx_t ske_cmac_ctx[1];
20 uint8_t left_bytes;
21 uint8_t block_buf[16];
23
24typedef struct {
25 ske_ctx_t ske_cmac_ctx[1];
27
28uint32_t ske_hp_cmac_init(ske_cmac_ctx_t *ctx, SKE_ALG alg, uint8_t *key,
29 uint16_t sp_key_idx);
30
31uint32_t ske_hp_cmac_update(ske_cmac_ctx_t *ctx, uint8_t *msg,
32 uint32_t msg_bytes);
33
34uint32_t ske_hp_cmac_final(ske_cmac_ctx_t *ctx, uint8_t *mac,
35 uint8_t mac_bytes);
36
37uint32_t ske_hp_cmac(SKE_ALG alg, uint8_t *key, uint16_t sp_key_idx,
38 uint8_t *msg, uint32_t msg_bytes, uint8_t *mac,
39 uint8_t mac_bytes);
40
41#ifdef SKE_HP_DMA_FUNCTION
42uint32_t ske_hp_dma_cmac_init(ske_cmac_dma_ctx_t *ctx, SKE_ALG alg,
43 uint8_t *key, uint16_t sp_key_idx);
44
45uint32_t ske_hp_dma_cmac_update_blocks_excluding_last_block(
46 ske_cmac_dma_ctx_t *ctx, uint32_t *msg, uint32_t msg_words);
47
48uint32_t ske_hp_dma_cmac_update_including_last_block(ske_cmac_dma_ctx_t *ctx,
49 uint32_t *msg,
50 uint32_t msg_bytes,
51 uint32_t *mac);
52
53uint32_t ske_hp_dma_cmac(SKE_ALG alg, uint8_t *key, uint16_t sp_key_idx,
54 uint32_t *msg, uint32_t msg_bytes, uint32_t *mac);
55#endif
56
57#ifdef __cplusplus
58}
59#endif
60
61#endif
Semidrive CRYPTO ske header file.
SKE_ALG
Definition: ske_basic.h:158
uint32_t ske_hp_cmac(SKE_ALG alg, 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_cmac_final(ske_cmac_ctx_t *ctx, uint8_t *mac, uint8_t mac_bytes)
uint32_t ske_hp_cmac_init(ske_cmac_ctx_t *ctx, SKE_ALG alg, uint8_t *key, uint16_t sp_key_idx)
uint32_t ske_hp_cmac_update(ske_cmac_ctx_t *ctx, uint8_t *msg, uint32_t msg_bytes)
Definition: ske_cmac.h:18
uint8_t left_bytes
Definition: ske_cmac.h:20
Definition: ske_cmac.h:24
Definition: ske_basic.h:210