Professional Documents
Culture Documents
h>
SoftwareSerial lightComm(2, 3);
#include <AESLib.h>
#define led 5
#define audioBtn 8
String Msg;
String Answer;
void setup()
{
Serial.begin(9600);
lightComm.begin(9600);
pinMode(led, OUTPUT);
pinMode(audioBtn, INPUT_PULLUP);
digitalWrite(led, HIGH);
delay(1000);
Serial.println("Welcome\n");
void loop()
{
while(Serial.available())
{
delay(5);
if(Serial.available() > 0)
{
char s = (char)Serial.read();
//Serial.print(s);
Msg+= s;
}
}
if(Msg.length()>0)
{
Serial.print("MESSAGE: ");
Serial.println(Msg);
Msg.toCharArray(data,16);
aes128_enc_single(key,data);
Msg.remove(0);
Serial.print("ENCRYPTED-MESSAGE-SENT: ");
for(int i=0;i<16;i++)
{
Serial.print(data[i]+48);
Serial.print(" ");
}
//Serial.println(data+);
Serial.println("\n");
lightComm.print(data);
//delay(100);
digitalWrite(led,LOW);
delay(300);
digitalWrite(led,HIGH);
Msg.remove(0);
}
int t=0;
while(lightComm.available())
{
delay(5);
if(lightComm.available() > 0)
{
char c = (char)lightComm.read();
//Serial.print(c);
Answer += c;
data[t]=c;
t=t+1;
}
}
if(Answer.length()>0)
{
// Serial.println(analogRead(A0));
//Serial.print("Receive:");
//Serial.println(Answer);
if (analogRead(A0)<100)
{
// Serial.println(analogRead(A0));
delay(400);
if (analogRead(A0)>100)
{
Serial.print("RECEIVE-MESSAGE: ");
for(int i=0;i<16;i++)
{
Serial.print(data[i]+48);
Serial.print(" ");
}
Serial.println("");
//Serial.println(data);
aes128_dec_single(key, data);
Serial.print("DECRYPTED-MESSAGE: ");
Serial.println(data);
Serial.println("");
}
}
Answer.remove(0);
}
}
*// encrypt multiple blocks of 128bit data, data_len but be mod 16
// key and iv are assumed to be both 128bit thus 16 uint8_t's
void aes128_cbc_enc(const uint8_t* key, const uint8_t* iv, void* data, const
uint16_t data_len){
if (data_len % 16 != 0) {
return;
}
bcal_cbc_ctx_t ctx;
uint8_t r;
r = bcal_cbc_init(&aes128_desc, key, 128, &ctx);
if (r) {
return;
}
*/