mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-25 23:55:25 -07:00
communication mode to file mode and vice versa
This commit is contained in:
parent
41ed6534a1
commit
2ed139bfc3
2 changed files with 41 additions and 0 deletions
|
@ -345,6 +345,44 @@ uint8_t DesfireDESKeyGetVersion(uint8_t *key) {
|
|||
return version;
|
||||
}
|
||||
|
||||
DesfireCommunicationMode DesfireFileCommModeToCommMode(uint8_t file_comm_mode) {
|
||||
DesfireCommunicationMode mode = DCMNone;
|
||||
switch (file_comm_mode & 0x03) {
|
||||
case 0x00:
|
||||
case 0x02:
|
||||
mode = DCMPlain;
|
||||
break;
|
||||
case 0x01:
|
||||
mode = DCMMACed;
|
||||
break;
|
||||
case 0x03:
|
||||
mode = DCMEncrypted;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return mode;
|
||||
}
|
||||
|
||||
uint8_t DesfireCommModeToFileCommMode(DesfireCommunicationMode comm_mode) {
|
||||
uint8_t fmode = DCMNone;
|
||||
switch (comm_mode) {
|
||||
case DCMPlain:
|
||||
fmode = 0x00;
|
||||
break;
|
||||
case DCMMACed:
|
||||
fmode = 0x01;
|
||||
break;
|
||||
case DCMEncrypted:
|
||||
case DCMEncryptedPlain:
|
||||
fmode = 0x11;
|
||||
break;
|
||||
case DCMNone:
|
||||
break;
|
||||
}
|
||||
return fmode;
|
||||
}
|
||||
|
||||
void desfire_crc32(const uint8_t *data, const size_t len, uint8_t *crc) {
|
||||
crc32_ex(data, len, crc);
|
||||
}
|
||||
|
|
|
@ -105,6 +105,9 @@ void DesfireCryptoCMAC(DesfireContext *ctx, uint8_t *srcdata, size_t srcdatalen,
|
|||
void DesfireDESKeySetVersion(uint8_t *key, DesfireCryptoAlgorythm keytype, uint8_t version);
|
||||
uint8_t DesfireDESKeyGetVersion(uint8_t *key);
|
||||
|
||||
DesfireCommunicationMode DesfireFileCommModeToCommMode(uint8_t file_comm_mode);
|
||||
uint8_t DesfireCommModeToFileCommMode(DesfireCommunicationMode comm_mode);
|
||||
|
||||
void desfire_crc32(const uint8_t *data, const size_t len, uint8_t *crc);
|
||||
void desfire_crc32_append(uint8_t *data, const size_t len);
|
||||
bool desfire_crc32_check(uint8_t *data, const size_t len, uint8_t *crc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue