This commit is contained in:
Bjoern Kerler 2020-04-12 20:59:27 +02:00
commit f234c34d1c

View file

@ -530,7 +530,7 @@ int get_desfire_auth(mfdes_authinput_t* payload,mfdes_auth_res_t* rpayload)
mbedtls_aes_crypt_cbc(&ctx, MBEDTLS_AES_DECRYPT, rndlen, IV, encRndB, RndB); mbedtls_aes_crypt_cbc(&ctx, MBEDTLS_AES_DECRYPT, rndlen, IV, encRndB, RndB);
} }
else if (payload->algo == MFDES_ALGO_DES) else if (payload->algo == MFDES_ALGO_DES)
des_dec(RndB, encRndB, key->data); des_decrypt(RndB, encRndB, key->data);
else if (payload->algo == MFDES_ALGO_3DES) else if (payload->algo == MFDES_ALGO_3DES)
tdes_nxp_receive(encRndB, RndB, rndlen, key->data, IV,2); tdes_nxp_receive(encRndB, RndB, rndlen, key->data, IV,2);
else if (payload->algo == MFDES_ALGO_3K3DES) { else if (payload->algo == MFDES_ALGO_3K3DES) {
@ -550,14 +550,14 @@ int get_desfire_auth(mfdes_authinput_t* payload,mfdes_auth_res_t* rpayload)
// - Encrypt our response // - Encrypt our response
if (payload->mode == MFDES_AUTH_DES || payload->mode == MFDES_AUTH_PICC) { if (payload->mode == MFDES_AUTH_DES || payload->mode == MFDES_AUTH_PICC) {
des_dec(encRndA, RndA, key->data); des_decrypt(encRndA, RndA, key->data);
memcpy(both, encRndA, rndlen); memcpy(both, encRndA, rndlen);
for (int x = 0; x < rndlen; x++) { for (int x = 0; x < rndlen; x++) {
rotRndB[x] = rotRndB[x] ^ encRndA[x]; rotRndB[x] = rotRndB[x] ^ encRndA[x];
} }
des_dec(encRndB, rotRndB, key->data); des_decrypt(encRndB, rotRndB, key->data);
memcpy(both + rndlen, encRndB, rndlen); memcpy(both + rndlen, encRndB, rndlen);
} else if (payload->mode == MFDES_AUTH_ISO) { } else if (payload->mode == MFDES_AUTH_ISO) {
if (payload->algo == MFDES_ALGO_3DES) { if (payload->algo == MFDES_ALGO_3DES) {
@ -655,7 +655,7 @@ int get_desfire_auth(mfdes_authinput_t* payload,mfdes_auth_res_t* rpayload)
if (payload->mode == MFDES_AUTH_DES || payload->mode == MFDES_AUTH_ISO || payload->mode == MFDES_AUTH_PICC) { if (payload->mode == MFDES_AUTH_DES || payload->mode == MFDES_AUTH_ISO || payload->mode == MFDES_AUTH_PICC) {
if (payload->algo == MFDES_ALGO_DES) if (payload->algo == MFDES_ALGO_DES)
des_dec(encRndA, encRndA, key->data); des_decrypt(encRndA, encRndA, key->data);
else if (payload->algo == MFDES_ALGO_3DES) else if (payload->algo == MFDES_ALGO_3DES)
tdes_nxp_receive(encRndA, encRndA, rndlen, key->data, IV,2); tdes_nxp_receive(encRndA, encRndA, rndlen, key->data, IV,2);
else if (payload->algo == MFDES_ALGO_3K3DES) else if (payload->algo == MFDES_ALGO_3K3DES)