SemiDrive SSDK Appication Program Interface PTG3.0
ske_xts.h
Go to the documentation of this file.
1
9#ifndef SKE_XTS_H
10#define SKE_XTS_H
11
12#include "ske.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18typedef struct ske_xts_ctx {
21 uint32_t c_bytes;
22 uint32_t current_bytes;
24
26 uint8_t *key, uint16_t sp_key_idx, uint8_t *i,
27 uint32_t c_bytes);
28
29uint32_t ske_hp_xts_update_blocks(ske_xts_ctx_t *ctx, uint8_t *in, uint8_t *out,
30 uint32_t bytes);
31
33 uint8_t *in, uint8_t *out,
34 uint32_t bytes);
35
37
38uint32_t ske_hp_xts_crypto(SKE_ALG alg, SKE_CRYPTO crypto, uint8_t *key,
39 uint16_t sp_key_idx, uint8_t *i, uint8_t *in,
40 uint8_t *out, uint32_t bytes);
41
42#ifdef SKE_HP_DMA_FUNCTION
43uint32_t ske_hp_dma_xts_init(ske_xts_ctx_t *ctx, SKE_ALG alg, SKE_CRYPTO crypto,
44 uint8_t *key, uint16_t sp_key_idx, uint8_t *i,
45 uint32_t c_bytes);
46
47uint32_t ske_hp_dma_xts_update_blocks(ske_xts_ctx_t *ctx, uint32_t *in,
48 uint32_t *out, uint32_t words);
49
50uint32_t ske_hp_dma_xts_update_including_last_2_blocks(ske_xts_ctx_t *ctx,
51 uint32_t *in,
52 uint32_t *out,
53 uint32_t bytes);
54
55uint32_t ske_hp_dma_xts_final(ske_xts_ctx_t *ctx);
56
57uint32_t ske_hp_dma_xts_crypto(SKE_ALG alg, SKE_CRYPTO crypto, uint8_t *key,
58 uint16_t sp_key_idx, uint8_t *i, uint32_t *in,
59 uint32_t *out, uint32_t c_bytes);
60#endif
61
62#ifdef __cplusplus
63}
64#endif
65
66#endif
Semidrive CRYPTO ske header file.
SKE_CRYPTO
Definition: ske_basic.h:153
SKE_ALG
Definition: ske_basic.h:158
uint32_t ske_hp_xts_update_including_last_2_blocks(ske_xts_ctx_t *ctx, uint8_t *in, uint8_t *out, uint32_t bytes)
uint32_t ske_hp_xts_crypto(SKE_ALG alg, SKE_CRYPTO crypto, uint8_t *key, uint16_t sp_key_idx, uint8_t *i, uint8_t *in, uint8_t *out, uint32_t bytes)
uint32_t ske_hp_xts_update_blocks(ske_xts_ctx_t *ctx, uint8_t *in, uint8_t *out, uint32_t bytes)
struct ske_xts_ctx ske_xts_ctx_t
uint32_t ske_hp_xts_init(ske_xts_ctx_t *ctx, SKE_ALG alg, SKE_CRYPTO crypto, uint8_t *key, uint16_t sp_key_idx, uint8_t *i, uint32_t c_bytes)
uint32_t ske_hp_xts_final(ske_xts_ctx_t *ctx)
Definition: ske_basic.h:210
Definition: ske_xts.h:18
uint32_t current_bytes
Definition: ske_xts.h:22
SKE_CRYPTO crypto
Definition: ske_xts.h:20
uint32_t c_bytes
Definition: ske_xts.h:21