1
2 #include "rijndael.h"
3 #include "btstack_debug.h"
4 #include <stdio.h>
5 #include <string.h>
6
aes128_calc_cyphertext(uint8_t key[16],uint8_t plaintext[16],uint8_t cyphertext[16])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
hexdump2(void * data,int size)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
main(void)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 int result = rijndaelSetupEncrypt(rk, &key[0], 0);
35 btstack_assert(result == 0);
36 }
37