Salve ragazzi, ho provato a utilizzare la libreria avr che mi avete suggerite e per la quale vi ringrazio. Purtroppo ho dei problemi in fase di compilazione che non riesco a risolvere. Ho bisogno del vostro aiuto. Ecco il semplice codice che ho trovato da un esempio nel sito di avr-crypto-lib:
#include <stdint.h>
#include "aes.h"
void setup(){
Serial.begin(9600);
/* a sample key, key must be located in RAM */
/* generating the round keys from the 128 bit key */
}
boolean risp=false;
void loop(){
if(risp==false){
uint8_t key[] = { 0x01, 0x23, 0x45, 0x67,
0x89, 0xAB, 0xCD, 0xEF,
0x01, 0x23, 0x45, 0x67,
0x89, 0xAB, 0xCD, 0xEF };
uint8_t data[] = { 0x01, 0x02, 0x03, 0x04,
0x05, 0x06, 0x07, 0x08,
0x09, 0x0A, 0x0B, 0x0C,
0x0D, 0x0E, 0x0F, 0x00 };
aes128_ctx_t ctx;
aes128_init(key, &ctx);
//aes128_enc(data, &ctx);
risp=true;
}
}
Nel file ho commentato riga per riga ed ho scoperto che l'errore proviene dalla riga "aes128_init(key,&ctx);". Questo è il testo che mi restituisce il tool di arduino:
C:\arduino-1.0\libraries\aes\aes128_dec.cpp: In function 'void aes128_dec(void*, aes128_ctx_t*)':
C:\arduino-1.0\libraries\aes\aes128_dec.cpp:32: error: invalid conversion from 'void*' to 'const aes_cipher_state_t*'
C:\arduino-1.0\libraries\aes\aes128_dec.cpp:32: error: initializing argument 1 of 'void aes_decrypt_core(const aes_cipher_state_t*, const aes_genctx_t*, uint8_t)'
Forse potrei risolvere con un cast? Aspetto un vostro aiuto e intanto provo a risolvere...
Grazie...