MIFARE Classic
The 13.56 MHz memory card that's in a billion transit passes, hotel keys and office badges — running a cipher that's been broken since 2008.
MIFARE Classic is NXP's long-running 13.56 MHz memory card, and one of the most deployed chips on Earth: transit networks, hotel keys, campus cards, vending, access control. It arrived in 1994, and it is still being sold and installed today. That longevity is the whole story — the good part and the bad part.
#How it works
A Classic card is a little block of memory, not a processor. A 1K card holds 16 sectors; each sector is four 16-byte blocks.
The clever bit is per-sector access: every sector has its own two keys (A and B) and a set of access bits that say what each key is allowed to do — read this block, write that one, use this as a counter. A transit operator can lock down the balance while leaving a card ID readable. Protecting all of it is a stream cipher NXP designed in-house called Crypto1.
#The part everyone knows
Crypto1 is a proprietary 48-bit cipher, and in 2008 it was reverse- engineered and broken — first the algorithm itself (Nohl, Plötz and others from the chip up), then a string of practical attacks from the Radboud University group (Garcia et al.). The weaknesses have names now — nested, darkside, hardnested — and they're built into standard hobbyist tools. A 48-bit key from the 1990s was never going to hold, and secrecy bought it only a few years once people started looking.
So: a card whose keys can be recovered, whose memory can then be read and rewritten, protecting things that sometimes matter. See why that pattern is a bad idea.
#MIFARE Plus and the way out
NXP's successors keep the familiar sector layout but replace the cipher with AES: MIFARE Plus can run in a compatible mode and be switched to AES, and DESFire drops the memory-card model entirely for a proper file system with authentication. Any of them, deployed with diversified keys, retires the Crypto1 problem. The migration is the hard part, not the technology.
With Your phone
NXP TagInfo (Android) identifies a card as MIFARE Classic and shows its UID and sector layout. Reading the protected contents needs the keys; TagInfo just shows you what kind of card you're holding.
With Proxmark3
hf mf is the Proxmark's MIFARE toolkit — for experimenting with cards you own,
it reports the card type, key status and memory map.