]> AND Private Git Repository - Cipher_code.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
new
authorcouturie <you@example.com>
Sat, 30 Sep 2017 12:28:30 +0000 (14:28 +0200)
committercouturie <you@example.com>
Sat, 30 Sep 2017 12:28:30 +0000 (14:28 +0200)
Arduino/sketch_AES_other2/sketch_AES_other2.ino/sketch_AES_other2.ino.ino [new file with mode: 0644]

diff --git a/Arduino/sketch_AES_other2/sketch_AES_other2.ino/sketch_AES_other2.ino.ino b/Arduino/sketch_AES_other2/sketch_AES_other2.ino/sketch_AES_other2.ino.ino
new file mode 100644 (file)
index 0000000..68aecfd
--- /dev/null
@@ -0,0 +1,123 @@
+#include <Crypto.h>
+
+
+
+
+int size_mesg=256;
+
+byte *key = (unsigned char*)"0123456789010123";
+byte *iv =  (unsigned char*)"9210123456789010";
+
+
+void printArray(byte *mes, int n) {
+  for (byte i = 0; i < n; i++) {
+    Serial.print(mes[i]);
+    Serial.print(" ");
+  }
+  Serial.println();
+}
+
+
+
+void setup() {
+  // put your setup code here to run once:
+  Serial.begin (57600) ;
+//  printf_begin();
+   delay(500);
+}
+
+void loop() {
+  // put your main code here, to run repeatedly:
+  byte myiv[AES_IV_SIZE];
+    memcpy(myiv, iv, AES_IV_SIZE);
+    //printArray(myiv,AES_IV_SIZE);  
+ AES   aes(key, myiv, AES::AES_MODE_128, AES::CIPHER_ENCRYPT);
+
+  uint8_t plain[size_mesg];
+  uint8_t cipher [size_mesg] ;
+  uint8_t check [size_mesg] ;
+
+  randomSeed(334);
+  for(int i=0;i<size_mesg;i++) {
+    plain[i]=random(255);
+  }
+
+
+unsigned long ms1 = micros ();
+   
+   aes.encryptCTR(plain, cipher, size_mesg);
+    Serial.print("Encryption CTR took: ");
+    Serial.println(micros() - ms1);
+
+   
+   memcpy(myiv, iv, AES_IV_SIZE);
+  // printArray(myiv,AES_IV_SIZE);         
+
+    
+
+AES aes2(key, myiv, AES::AES_MODE_128, AES::CIPHER_ENCRYPT);
+    
+  //  aes.convertKey();
+ms1 = micros ();
+    aes2.encryptCTR(cipher, check, size_mesg);
+Serial.print("Decryption CTR took: ");
+    Serial.println(micros() - ms1);
+
+
+
+
+
+
+
+
+//printArray(plain,size_mesg);  
+//printArray(cipher,size_mesg);
+//printArray(check,size_mesg);
+
+ bool equal=true;
+    for(int i=0;i<size_mesg-1;i++) {
+      
+      if(check[i]!=plain[i]) {
+      //  printf("%d %d %d\n",plain[i],check[i],i);
+        equal=false;
+      }
+    }
+  printf("CHECK CTR %d\n",equal);
+
+
+
+
+{
+AES   aes(key, myiv, AES::AES_MODE_128, AES::CIPHER_ENCRYPT);
+ms1 = micros ();
+   aes.encryptCBC(plain, cipher, size_mesg);
+    Serial.print("Encryption CBC took: ");
+    Serial.println(micros() - ms1);
+
+AES aes2(key, myiv, AES::AES_MODE_128, AES::CIPHER_DECRYPT);
+ms1 = micros ();
+  aes2.decryptCBC(cipher, check, size_mesg);
+  
+Serial.print("Decryption CBC took: ");
+    Serial.println(micros() - ms1);
+
+
+
+
+ equal=true;
+    for(int i=0;i<size_mesg-1;i++) {
+      
+      if(check[i]!=plain[i]) {
+      //  printf("%d %d %d\n",plain[i],check[i],i);
+        equal=false;
+      }
+    }
+  printf("CHECK CBC %d\n",equal);
+}
+
+
+delay(2000);
+
+}