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