]> AND Private Git Repository - Cipher_code.git/blob - Arduino/libraries/AES-master/examples_Rpi/aes.cpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
aze
[Cipher_code.git] / Arduino / libraries / AES-master / examples_Rpi / aes.cpp
1 #include <AES.h>
2 #include "printf.h"
3
4 AES aes;
5
6 void prekey_test ();
7 void prekey (int bits, int blocks);
8
9 byte key[] = "01234567899876543210012345678998";
10
11 byte plain[] = "TESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTEST";
12
13 //real iv = iv x2 ex: 01234567 = 0123456701234567
14 unsigned long long int my_iv = 01234567;
15
16 int main(int argc, char** argv)
17 {
18   printf("\n===testng mode\n") ;
19
20   for (int i=0;i<1;i++){
21     prekey_test () ;
22   }
23 }
24
25 void prekey (int bits)
26 {
27   byte iv [N_BLOCK] ;
28   byte plain_p[sizeof(plain) + (N_BLOCK - (sizeof(plain) % 16)) - 1];
29   byte cipher[sizeof(plain_p)];
30   aes.do_aes_encrypt(plain,sizeof(plain),cipher,key,bits);
31   aes.get_IV(iv);
32   aes.do_aes_decrypt(cipher,aes.get_size(),plain_p,key,bits,iv);
33   //normally u have sizeof(cipher) but if its in the same sketch you cannot determin it dynamically
34
35   printf("\n\nPLAIN :");
36   aes.printArray(plain);
37   printf("\nCIPHER:");
38   aes.printArray(cipher);
39   printf("\nPlain2:");
40   aes.printArray(plain_p);
41   printf("\n============================================================\n");
42 }
43
44 void prekey_test ()
45 {
46   prekey (128) ;
47 }