After 5 days of most unproductive searching about this, I decided to ask this here in order to help me and potentially other people working with MIFARE cards who have no idea about how to work with MIFARE tags.
It's worth noting that I have previously worked with NTAG21x cards, which are a literal dream since they work in a highly interactive way.
Some background info: I've read both Plus and Classic's datasheets and I get the theoretical idea about how the authentication happens, but let's face it, they're useless, especially Plus'. At least compared to NTAG21x ones.
TI has example code on how to authenticate DESFire tags, in which they use DESFire proprietary commands (something like the AES Command and some Status Codes) and compiled them in a windows static library file, but they are unable to provide the code because they're under a NDA.
My questions are:
- I have literally no idea on how to authenticate a MIFARE Plus Security Level 0 (virgin) tag using a TI TRF7970a. How do I do it?
- Also, can I sign that NDA too and get what I need?
- Does it include the Write/Commit/etc Perso commands?
- Am I right to assume the whole process is at least similar to DESFire?
- Is there any support for this in C, or is it just the Java library for Android?
Thanks in advance.