AVR XMEGA Advanced Encryption Standard (AES) example.
Copyright (c) 2010-2018 Microchip Technology Inc. and its subsidiaries.
#include <asf.h>
Macros | |
#define | BLOCK_LENGTH 16 |
AES data, key block length. More... | |
Functions | |
static bool | aes_lastsubkey_generate (t_key key, t_key last_sub_key) |
Generate AES sub key. More... | |
int | main (void) |
Variables | |
uint8_t | cipher_text [BLOCK_LENGTH] |
Cipher result from FIPS-197 = 69c4e0d8 6a7b0430 d8cdb780 70b4c55a. More... | |
uint8_t | key [BLOCK_LENGTH] |
Key from FIPS-197 = 00010203 04050607 08090A0B 0C0D0E0. More... | |
uint8_t | lastsubkey [BLOCK_LENGTH] |
Key used when the AES shall decrypt. More... | |
uint8_t | plain_text [BLOCK_LENGTH] |
Plaintext from FIPS-197 = 00112233 44556677 8899AABB CCDDEEFF. More... | |
uint8_t | single_ans [BLOCK_LENGTH] |
Variable used to store the result from a single AES encryption/decryption. More... | |
bool | success |
Variable used to check AES results. More... | |
#define BLOCK_LENGTH 16 |
AES data, key block length.
Referenced by aes_lastsubkey_generate(), and main().
Generate AES sub key.
key | Pointer to AES key input. |
last_sub_key | Pointer to AES sub key output. |
References aes_clear_error_flag(), aes_clear_interrupt_flag(), aes_configure(), AES_ENCRYPT, aes_get_key(), aes_is_busy(), aes_is_error(), AES_MANUAL, aes_set_key(), aes_software_reset(), aes_start(), AES_XOR_OFF, and BLOCK_LENGTH.
Referenced by main().
int main | ( | void | ) |
References AES_AUTO, aes_configure(), AES_DECRYPT, AES_ENCRYPT, AES_INTLVL_OFF, aes_is_busy(), aes_is_error(), aes_isr_configure(), aes_lastsubkey_generate(), AES_MANUAL, aes_read_outputdata(), aes_set_key(), aes_software_reset(), aes_start(), aes_write_inputdata(), AES_XOR_OFF, BLOCK_LENGTH, board_init(), cipher_text, ioport_set_pin_low(), key, lastsubkey, plain_text, single_ans, sleepmgr_enter_sleep(), sleepmgr_init(), success, SYSCLK_AES, sysclk_disable_module(), sysclk_enable_module(), sysclk_init(), and SYSCLK_PORT_GEN.
uint8_t cipher_text[BLOCK_LENGTH] |
Cipher result from FIPS-197 = 69c4e0d8 6a7b0430 d8cdb780 70b4c55a.
uint8_t key[BLOCK_LENGTH] |
Key from FIPS-197 = 00010203 04050607 08090A0B 0C0D0E0.
uint8_t lastsubkey[BLOCK_LENGTH] |
Key used when the AES shall decrypt.
This last subkey is a modified version of the key.
uint8_t plain_text[BLOCK_LENGTH] |
Plaintext from FIPS-197 = 00112233 44556677 8899AABB CCDDEEFF.
uint8_t single_ans[BLOCK_LENGTH] |
Variable used to store the result from a single AES encryption/decryption.
bool success |
Variable used to check AES results.