mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2026-05-09 03:00:07 -04:00
move crc to new file
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user