3.8.1.1.3 Workflow
- Define sample data from NIST-800-38A appendix F for ECB mode.
#define AES_EXAMPLE_REFBUF_SIZE 4/* @{ */uint32_t ref_plain_text[AES_EXAMPLE_REFBUF_SIZE] = {0xe2bec16b,0x969f402e,0x117e3de9,0x2a179373};uint32_t ref_cipher_text_ecb[AES_EXAMPLE_REFBUF_SIZE] = {0xb47bd73a,0x60367a0d,0xf3ca9ea8,0x97ef6624};constuint32_t key128[4] = {0x16157e2b,0xa6d2ae28,0x8815f7ab,0x3c4fcf09};/* @} */ - Create related module variable and software instance structure.
/* Output data array */staticuint32_t output_data[AES_EXAMPLE_REFBUF_SIZE];/* State indicate */volatileboolstate =false;/* AES configuration */structaes_config g_aes_cfg;/* AES instance*/structaes_module aes_instance;structusart_module usart_instance; - Configure, initialize, and enable AES module.
- Configuration AES struct, which can be filled out to adjust the configuration of a physical AES peripheral.
aes_get_config_defaults(&g_aes_cfg); - Initialize the AES configuration struct with the module's default values.
aes_init(&aes_instance,AES, &g_aes_cfg); - Enable the AES module.
aes_enable(&aes_instance);
