#include "aes.h" #include "block.h" #ifndef HOST_BUILD #include #else #include #endif /* HOST_BUILD */ #include static nrf_ecb_hal_data_t g_ecbdata; void aes128_init(const uint8_t *key) { if (key != NULL) { memmove(g_ecbdata.key, key, 16); } } uint8_t *aes128_ecb(uint8_t const *const in) { #ifdef HOST_BUILD AES_KEY key; AES_set_encrypt_key(g_ecbdata.key, 128, &key); AES_encrypt(in, g_ecbdata.out, &key); #else memcpy(g_ecbdata.cleartext, in, 16); sd_ecb_block_encrypt(&g_ecbdata); #endif /* HOST_BUILD */ return g_ecbdata.ciphertext; } #ifdef HOST_BUILD void aes_dump_state(void) { block_print("Key", g_ecbdata.key); } #endif /* HOST_BUILD */