AES Examples

Table of Contents

API-AES-CASE1:AES RISC MODE

Function Sub-Function APIs Description Update Status
irq_handler() None Interrupt handler function [Mandatory] 2019-1-10
main() cpu_wakeup_init() CPU initialization function [Mandatory]
clock_init() clock_init(SYS_CLK_24M_Crystal) Clock initialization function, System Clock is 24M RC by default [optional]
rf_drv_init() rf_drv_init(RF_MODE_BLE_1M) RF mode initialization [optional]
gpio_init() gpio_init(1) GPIO initialization: set the initialization status of all GPIOs [optional]
user_init() aes_encrypt() aes_encrypt(sKey, sPlainText, EncryptResult) generate encryption by key and plaintext
aes_decrypt() aes_decrypt(sKey, EncryptResult, DecryptResult) generate decryption by key and encryption
main_loop() none

Variables above are defined as below

unsigned char sPlainText[16] = {0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff};
unsigned char sKey[16] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
unsigned char EncryptResult[16] = {};
unsigned char DecryptResult[16] = {};

API-AES-CASE2:AES DMA MODE

Function Sub-Function APIs Description Update Status
irq_handler() None Interrupt handler function [Mandatory] 2019-1-10
main() cpu_wakeup_init() CPU initialization function [Mandatory]
clock_init() clock_init(SYS_CLK_24M_Crystal) Clock initialization function, System Clock is 24M RC by default [optional]
rf_drv_init() rf_drv_init(RF_MODE_BLE_1M) RF mode initialization [optional]
gpio_init() gpio_init(1) GPIO initialization: set the initialization status of all GPIOs [optional]
user_init() aes_dma_encrypt() aes_dma_encrypt(sKey,sPlainText,sizeof(sPlainText),
EncryptResult,sizeof(EncryptResult) )
generate encryption by key and plaintext
aes_dma_decrypt() aes_dma_decrypt(sKey,EncryptResult,sizeof(EncryptResult),
DecryptResult,sizeof(DecryptResult) )
generate decryption by key and encryption
main_loop() none

Variables above are defined as below

unsigned int sPlainText[64]={0x00000040,
0x33221100,0x77665544,0xbbaa9988,0xffeeddcc,
0x33221100,0x77665544,0xbbaa9988,0xffeeddcc,
0x33221100,0x77665544,0xbbaa9988,0xffeeddcc,
0x33221100,0x77665544,0xbbaa9988,0xffeeddcc};
unsigned char sKey[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
unsigned int EncryptResult[64];
unsigned int DecryptResult[64];

History Record

Date Description Author
2019-1-10 initial release ZJY/LJW