Add support for Mifare DESFire EV1 with AES encryption.

This commit is contained in:
Romain Tartiere 2010-12-15 12:43:31 +00:00
parent 1070d9bfde
commit 42f9457d9f
19 changed files with 2238 additions and 268 deletions

12
TODO
View file

@ -1,5 +1,13 @@
- Enforce valid parameters.
[ ] Enforce valid parameters.
Some functions will cause a crash when called with invalid parameters (e.g.
mifare_classic_authenticate() with a NULL key).
- MAD and MifareApplication functions are tied to mifare_clasic_* ones and
[ ] MAD and MifareApplication functions are tied to mifare_clasic_* ones and
some refactoring is required to have a consistent API.
[ ] The DESFIRE_TRANSCEIVE macro should be replaced by a function
DESFIRE_TRANSCEIVE was originaly a macro to enclose a nfc_initiator_trans-
ceive_bytes() call with debug lines. The functions has unexpectedly grown
up and is now between 25 and 100 lines of code (depending of my refactoring
mood). The main drawbacks are poor readability, redundant code in the
binary, debuggers don't cope well with macros, and by design it sucks.
[ ] libfreefare/mifare_desfire_authenticate.c should be renamed to a better name
such as libfreefare/mifare_desfire_crypto.c.