mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-03-30 17:03:34 +08:00
move crc to new file
This commit is contained in:
parent
b6e6070bfe
commit
e54f0e3a33
4 changed files with 34 additions and 34 deletions
client/src/mifare
|
@ -967,31 +967,3 @@ void mifare_cypher_blocks_chained(desfiretag_t tag, desfirekey_t key, uint8_t *i
|
|||
offset += block_size;
|
||||
}
|
||||
}
|
||||
|
||||
void desfire_crc32(const uint8_t *data, const size_t len, uint8_t *crc) {
|
||||
crc32_ex(data, len, crc);
|
||||
}
|
||||
|
||||
void desfire_crc32_append(uint8_t *data, const size_t len) {
|
||||
crc32_ex(data, len, data + len);
|
||||
}
|
||||
|
||||
bool desfire_crc32_check(uint8_t *data, const size_t len, uint8_t *crc) {
|
||||
uint8_t ccrc[4] = {0};
|
||||
desfire_crc32(data, len, ccrc);
|
||||
return (memcmp(ccrc, crc, 4) == 0);
|
||||
}
|
||||
|
||||
void iso14443a_crc_append(uint8_t *data, size_t len) {
|
||||
return compute_crc(CRC_14443_A, data, len, data + len, data + len + 1);
|
||||
}
|
||||
|
||||
void iso14443a_crc(uint8_t *data, size_t len, uint8_t *pbtCrc) {
|
||||
return compute_crc(CRC_14443_A, data, len, pbtCrc, pbtCrc + 1);
|
||||
}
|
||||
|
||||
bool iso14443a_crc_check(uint8_t *data, const size_t len, uint8_t *crc) {
|
||||
uint8_t ccrc[2] = {0};
|
||||
iso14443a_crc(data, len, ccrc);
|
||||
return (memcmp(ccrc, crc, 2) == 0);
|
||||
}
|
||||
|
|
|
@ -147,10 +147,4 @@ void cmac(const desfirekey_t key, uint8_t *ivect, const uint8_t *data, size_t l
|
|||
|
||||
void mifare_kdf_an10922(const desfirekey_t key, const uint8_t *data, size_t len);
|
||||
|
||||
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);
|
||||
void iso14443a_crc_append(uint8_t *data, size_t len);
|
||||
void iso14443a_crc(uint8_t *data, size_t len, uint8_t *pbtCrc);
|
||||
bool iso14443a_crc_check(uint8_t *data, const size_t len, uint8_t *crc);
|
||||
#endif
|
||||
|
|
|
@ -308,3 +308,31 @@ void DesfireCryptoCMAC(DesfireContext *ctx, uint8_t *data, size_t len, uint8_t *
|
|||
memcpy(cmac, ctx->IV, kbs);
|
||||
}
|
||||
|
||||
|
||||
void desfire_crc32(const uint8_t *data, const size_t len, uint8_t *crc) {
|
||||
crc32_ex(data, len, crc);
|
||||
}
|
||||
|
||||
void desfire_crc32_append(uint8_t *data, const size_t len) {
|
||||
crc32_ex(data, len, data + len);
|
||||
}
|
||||
|
||||
bool desfire_crc32_check(uint8_t *data, const size_t len, uint8_t *crc) {
|
||||
uint8_t ccrc[4] = {0};
|
||||
desfire_crc32(data, len, ccrc);
|
||||
return (memcmp(ccrc, crc, 4) == 0);
|
||||
}
|
||||
|
||||
void iso14443a_crc_append(uint8_t *data, size_t len) {
|
||||
return compute_crc(CRC_14443_A, data, len, data + len, data + len + 1);
|
||||
}
|
||||
|
||||
void iso14443a_crc(uint8_t *data, size_t len, uint8_t *pbtCrc) {
|
||||
return compute_crc(CRC_14443_A, data, len, pbtCrc, pbtCrc + 1);
|
||||
}
|
||||
|
||||
bool iso14443a_crc_check(uint8_t *data, const size_t len, uint8_t *crc) {
|
||||
uint8_t ccrc[2] = {0};
|
||||
iso14443a_crc(data, len, ccrc);
|
||||
return (memcmp(ccrc, crc, 2) == 0);
|
||||
}
|
||||
|
|
|
@ -101,5 +101,11 @@ void DesfireCryptoEncDec(DesfireContext *ctx, bool use_session_key, uint8_t *src
|
|||
void DesfireCryptoEncDecEx(DesfireContext *ctx, bool use_session_key, uint8_t *srcdata, size_t srcdatalen, uint8_t *dstdata, bool encode, uint8_t *iv);
|
||||
void DesfireCryptoCMAC(DesfireContext *ctx, uint8_t *srcdata, size_t srcdatalen, uint8_t *cmac);
|
||||
|
||||
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);
|
||||
void iso14443a_crc_append(uint8_t *data, size_t len);
|
||||
void iso14443a_crc(uint8_t *data, size_t len, uint8_t *pbtCrc);
|
||||
bool iso14443a_crc_check(uint8_t *data, const size_t len, uint8_t *crc);
|
||||
|
||||
#endif // __DESFIRECRYPTO_H
|
||||
|
|
Loading…
Add table
Reference in a new issue