12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- /***********************************************************************
- * All rights reserved.
- * Filename : aes.h
- * Description : aes driver header file
- * Author(s) : Eric
- * version : V1.0
- * Modify date : 2016-03-24
- ***********************************************************************/
- #ifndef __AES_H__
- #define __AES_H__
- #include "ACM32Fxx_HAL.h"
- #define AES_ENCRYPTION 1
- #define AES_DECRYPTION 0
- #define AES_ECB_MODE 0
- #define AES_CBC_MODE 1
- #define AES_SWAP_ENABLE 1
- #define AES_SWAP_DISABLE 0
- #define AES_NORMAL_MODE 0x12345678
- #define AES_SECURITY_MODE 0
- #define AES_KEY_128 0
- #define AES_KEY_192 1
- #define AES_KEY_256 2
- #define AES_FAIL 0x00
- #define AES_PASS 0xa59ada68
- #define BIT_AES (1<<28)
- /************************************************************************
- * function : delay
- * Description: delay for a while.
- * input :
- * count: count to decrease
- * return: none
- ************************************************************************/
- extern void delay(uint32_t count);
-
- /******************************************************************************
- * Name: HAL_AES_SetKey
- * Function: set key of AES
- * Input:
- keyin -- pointer to buffer of key
- key_len -- select length of key(AES_KEY_128/ AES_KEY_192/ AES_KEY_256)
- swap_en -- AES_SWAP_ENABLE, AES_SWAP_DISABLE
- * Return: None
- *******************************************************************************/
- void HAL_AES_SetKey(UINT32 *keyin, UINT8 key_len, UINT8 swap_en);
- void HAL_AES_SetKey_U8(UINT8 *keyin, UINT8 key_len, UINT8 swap_en);
- /******************************************************************************
- Name: HAL_AES_Crypt
- Function: Function for AES encryption and decryption
- Input:
- indata -- pointer to buffer of input
- outdata -- pointer to buffer of result
- block_len -- block(128bit) length for aes cryption
- operation -- AES_ENCRYPTION,AES_DECRYPTION
- mode -- AES_ECB_MODE, AES_CBC_MODE,
- iv -- initial vector for CBC mode
- security_mode -- AES_NORMAL_MODE, AES_SECURITY_MDOE£¬
- Return: None
- *******************************************************************************/
- uint32_t HAL_AES_Crypt(
- uint32_t *indata,
- uint32_t *outdata,
- uint32_t block_len,
- uint8_t operation,
- uint8_t mode,
- uint32_t *iv,
- uint32_t security_mode
- );
- uint32_t HAL_AES_Crypt_U8(
- uint8_t *indata,
- uint8_t *outdata,
- uint32_t block_len,
- uint8_t operation,
- uint8_t mode,
- uint8_t *iv,
- uint32_t security_mode
- );
- #endif
- /******************************************************************************
- * end of file
- *******************************************************************************/
|