void desTest() { byte out[8]; byte in[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; byte key[] = { 0x3b, 0x38, 0x98, 0x37, 0x15, 0x20, 0xf7, 0x5e }; Serial.println(); Serial.println("========= DES test =========="); //encrypt Serial.print("Encrypt..."); unsigned long time = micros(); des.encrypt(out, in, key); time = micros() - time; Serial.print("done. ("); Serial.print(time); Serial.println(" micros)"); printArray(out); //decrypt for (int i = 0; i < 8; i++) { in[i] = out[i]; } Serial.print("Decrypt..."); time = micros(); des.decrypt(out, in, key); time = micros() - time; Serial.print("done. ("); Serial.print(time); Serial.println(" micros)"); printArray(out); }
void DES_ecb_encrypt(DES_cblock* input, DES_cblock* output, DES_key_schedule* key, int enc) { DES des; if (enc) { des.set_encryptKey(*key, 0); des.encrypt(*output, *input, DES_BLOCK); } else { des.set_decryptKey(*key, 0); des.decrypt(*output, *input, DES_BLOCK); } }