TuyaOS
tkl_symmetry.h
浏览该文件的文档.
1
11#ifndef __TKL_SYMMETRY_H__
12#define __TKL_SYMMETRY_H__
13
14#include "tuya_cloud_types.h"
15
16#ifdef __cplusplus
17 extern "C" {
18#endif
19
20typedef VOID_T* TKL_SYMMETRY_HANDLE;
21
31OPERATE_RET tkl_aes_create_init( TKL_SYMMETRY_HANDLE *ctx );
32
42OPERATE_RET tkl_aes_free( TKL_SYMMETRY_HANDLE ctx );
58OPERATE_RET tkl_aes_setkey_enc( TKL_SYMMETRY_HANDLE ctx, const UINT8_T *key,
59 UINT32_T keybits );
60
76OPERATE_RET tkl_aes_setkey_dec( TKL_SYMMETRY_HANDLE ctx, const UINT8_T *key,
77 UINT32_T keybits );
78
96OPERATE_RET tkl_aes_crypt_ecb( TKL_SYMMETRY_HANDLE ctx,
97 INT32_T mode,
98 size_t length,
99 const UINT8_T *input,
100 UINT8_T *output );
101
137OPERATE_RET tkl_aes_crypt_cbc( TKL_SYMMETRY_HANDLE ctx,
138 INT32_T mode,
139 size_t length,
140 UINT8_T iv[16],
141 const UINT8_T *input,
142 UINT8_T *output );
143
144#ifdef __cplusplus
145}
146#endif
147
148#endif
OPERATE_RET tkl_aes_create_init(TKL_SYMMETRY_HANDLE *ctx)
This function Create&initializes a aes context.
OPERATE_RET tkl_aes_setkey_dec(TKL_SYMMETRY_HANDLE ctx, const UINT8_T *key, UINT32_T keybits)
This function sets the decryption key.
OPERATE_RET tkl_aes_crypt_ecb(TKL_SYMMETRY_HANDLE ctx, INT32_T mode, size_t length, const UINT8_T *input, UINT8_T *output)
This function performs an AES encryption or decryption operation.
OPERATE_RET tkl_aes_setkey_enc(TKL_SYMMETRY_HANDLE ctx, const UINT8_T *key, UINT32_T keybits)
This function sets the encryption key.
OPERATE_RET tkl_aes_crypt_cbc(TKL_SYMMETRY_HANDLE ctx, INT32_T mode, size_t length, UINT8_T iv[16], const UINT8_T *input, UINT8_T *output)
This function performs an AES-CBC encryption or decryption operation on full blocks.
OPERATE_RET tkl_aes_free(TKL_SYMMETRY_HANDLE ctx)
This function releases and clears the specified AES context.