1 2 #include "rijndael.h" 3 #include "btstack_debug.h" 4 #include <stdio.h> 5 #include <string.h> 6 7 void aes128_calc_cyphertext(uint8_t key[16], uint8_t plaintext[16], uint8_t cyphertext[16]){ 8 uint32_t rk[RKLENGTH(KEYBITS)]; 9 int nrounds = rijndaelSetupEncrypt(rk, &key[0], KEYBITS); 10 rijndaelEncrypt(rk, nrounds, plaintext, cyphertext); 11 } 12 13 14 static void hexdump2(void *data, int size){ 15 if (size <= 0) return; 16 int i; 17 for (i=0; i<size;i++){ 18 printf("%02X ", ((uint8_t *)data)[i]); 19 } 20 printf("\n"); 21 } 22 23 int main(void){ 24 uint8_t key[16]; 25 uint8_t plaintext[16]; 26 memset(key, 0, 16); 27 memset(plaintext, 0, 16); 28 uint8_t cyphertext[16]; 29 aes128_calc_cyphertext(key, plaintext, cyphertext); 30 hexdump2(cyphertext, 16); 31 32 // test invalid key len 33 uint32_t rk[RKLENGTH(KEYBITS)]; 34 btstack_assert(rijndaelSetupEncrypt(rk, &key[0], 0) == 0); 35 } 36