Greeting,
I want to codes which create Encryption in Arduino-C and can be Decrypted into c#.
is it possible ?
Using algorithm AES or any other an algorthim
anyone help me, can provide codes
AJ
What I have tried:
#include "AES.h"
#include "base64.h"
AES aes;
void setup() {
Serial.begin(9600);
Serial.println("\nBooting...");
char b64data[200];
byte cipher[1000];
byte iv [N_BLOCK] ;
Serial.println("Let's encrypt:");
byte key[] = { 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30 };
byte my_iv[N_BLOCK] = { 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30 };
String msg = "ABC";
aes.iv_inc();
aes.set_key( key , sizeof(key));
base64_encode( b64data, (char *)my_iv, N_BLOCK);
Serial.println(" IV b64: " + String(b64data));
Serial.println("Message: " + msg );
int b64len = base64_encode(b64data, (char *)msg.c_str(), msg.length());
Serial.println (" Message in B64: " + String(b64data) );
Serial.println (" The lenght is: " + String(b64len) );
aes.do_aes_encrypt((byte *)b64data, b64len , cipher, key, 128, my_iv);
Serial.println("Encryption done!");
Serial.println("Cipher size: " + String(aes.get_size()));
b64len = base64_encode(b64data, (char *)cipher, aes.get_size() );
Serial.println ("Encrypted data in base64: " + String(b64data) );
Serial.println("Done...");
String t="vVnzJGbo0IDNBywnkVxGXw==";
byte plain[1000];
b64len = base64_decode(b64data, b64data, b64len);
test(t,key,my_iv,b64len);
base64_decode(b64data, (char *)plain, aes.get_size());
Serial.println (" Plain in B64: " + String((char *)plain) );
Serial.println(" Plain size: " + String(aes.get_size()));
Serial.println (" Decrypted data in base64: " + String(b64data) );
}
void test(String msg, byte key1[], byte my_iv[],int b64len1)
{
char data_decoded[200];
char iv_decoded[200];
byte out[200];
char temp[200];
msg.toCharArray(temp, 200);
int b64len = base64_decode(data_decoded, temp, msg.length());
base64_decode(iv_decoded, temp, b64len1);
aes.do_aes_decrypt((byte *)data_decoded, b64len, out, key1, 128, (byte *)iv_decoded);
char message[msg.length()];
base64_decode(message, (char *)out, msg.length());
Serial.println (" Oyair aram data in base64: " + String(message) );
}
void loop() {
}