\r
return 0;\r
}\r
+\r
+int tryDecryptWord(uint32_t nt, uint32_t ar_enc, uint32_t at_enc, uint8_t *data, int len){\r
+ /*\r
+ uint32_t nt; // tag challenge\r
+ uint32_t ar_enc; // encrypted reader response\r
+ uint32_t at_enc; // encrypted tag response\r
+ */\r
+ if (traceCrypto1) {\r
+ crypto1_destroy(traceCrypto1);\r
+ }\r
+ ks2 = ar_enc ^ prng_successor(nt, 64);\r
+ ks3 = at_enc ^ prng_successor(nt, 96);\r
+ traceCrypto1 = lfsr_recovery64(ks2, ks3);\r
+\r
+ mf_crypto1_decrypt(traceCrypto1, data, len, 0);\r
+\r
+ PrintAndLog("Decrypted data: [%s]", sprint_hex(data,len) );\r
+ crypto1_destroy(traceCrypto1);\r
+ return 0;\r
+}\r