Disclosure: As an Amazon Associate, CardWise earns from qualifying purchases at no additional cost to you. This does not affect our recommendations.

MIFARE Plus vs MIFARE DESFire — Which AES Card for Access Control?

If you are upgrading from MIFARE Classic, you face a fork in the road: MIFARE Plus or MIFARE DESFire. Both are NXP products. Both support AES-128 encryption. Both are ISO 14443-compliant. But they have fundamentally different design philosophies — Plus is a drop-in security upgrade for existing Classic infrastructure, while DESFire is a general-purpose secure microcontroller with a file-system application model.

The choice matters because it affects reader compatibility, key management complexity, card personalization, and future flexibility. This comparison covers encryption architecture, key diversification, UID handling, application model, SAM integration, and deployment cost.

Core Architecture Differences

FeatureMIFARE PlusMIFARE DESFire EV2/EV3
Design GoalSecure replacement for MIFARE ClassicGeneral-purpose secure IC with file system
CryptoAES-128AES-128 (EV2/EV3), DES/3DES (EV1)
Storage ModelSectors (like Classic, 16 or 40 sectors)Applications → Files (hierarchical, up to 28 apps)
Command SetProprietary (MIFARE protocol)ISO 7816-4 (APDU-based)
UID4/7/10-byte, configurable random UID7-byte UID, random UID mode
Backward CompatibilitySL1 mode = MIFARE Classic behaviorNone — different protocol entirely
App FlexibilityFixed sector/key structureMultiple apps, file types, flexible permissions
Security LevelsSL1 (Classic), SL3 (AES)EV1, EV2, EV3 (progressive security)

Security Levels Explained

MIFARE Plus Security Levels

MIFARE Plus operates in three security levels, allowing phased migration:

DESFire Evolution

Migration note: If you currently use MIFARE Classic and need to upgrade to AES without replacing all readers at once, MIFARE Plus is the only option. DESFire requires entirely different reader hardware and software because the command set is APDU-based, not sector-based.

Key Diversification & Mutual Authentication

Both cards use per-card key diversification, but the mechanisms differ:

MIFARE Plus Key Diversification

The card's master AES key is diversified using the card's UID. The reader (or SAM) computes the diversified key as:

K_div = AES-128(K_master, UID || padding)

During mutual authentication, both the card and reader prove knowledge of K_div without revealing it. This means each card has a unique key — compromising one card does not compromise the system. A SAM (Secure Access Module) in the reader typically holds the master key and performs diversification in hardware.

DESFire Key Management

DESFire uses a multi-application, multi-key model. Each application can have up to 14 keys, each with a specific role (master, read, write, change). Keys are diversified per card using the card's UID, similar to Plus. EV3 adds ECDH key agreement, allowing the reader and card to establish a shared session key without pre-shared application keys — this is more flexible for multi-tenant systems.

UID Handling & Privacy

UID PropertyMIFARE PlusDESFire EV2/EV3
UID Length4, 7, or 10 bytes7 bytes
Random UID ModeYes — card emits random ID per sessionYes — random ID per activation
UID in TraceabilityFixed UID in sector 0 (SL1 only)Fixed UID readable only after auth
Privacy RiskSL1 exposes fixed UID; SL3 hides itRandom UID by default in privacy mode

Random UID mode is critical for privacy. Without it, the card's fixed UID can be read by any NFC reader within range, enabling tracking. Both cards support random UID, but MIFARE Plus in SL1 mode (Classic compatibility) exposes the fixed UID — this is a known weakness of the backward-compatibility mode.

Application Model: Sectors vs Files

MIFARE Plus: Sector-Based Storage

Plus inherits Classic's 16-sector (1K) or 40-sector (4K) structure. Each sector has two keys (A and B) and access conditions. Data is stored in fixed 16-byte blocks. This model is simple but rigid — you cannot create "applications" or change the sector structure. If you need to store multiple independent datasets (e.g., access control + e-purse + vending), you allocate sectors manually.

DESFire: File-System Application Model

DESFire uses a hierarchical model: Card → Applications → Files. You can create up to 28 applications, each with its own key set and file structure. Files can be standard, backup, value, or cyclic. This is far more flexible for multi-application deployments — a single card can hold an office access credential, a transit pass, and a vending e-purse, each isolated with separate keys.

Real-world example: Many city transit systems use DESFire because it supports multiple operators on a single card. In London, the Oyster card runs on MIFARE DESFire, allowing Transport for London, National Rail, and other operators to share the card with isolated application spaces. MIFARE Plus's sector model cannot achieve this cleanly.

SAM Integration

Both cards are designed to work with NXP SAM (Secure Access Module) chips in the reader:

ACR122U NFC Reader ACR122U NFC Reader — Supports both MIFARE Plus and DESFire via PC/SC. Ideal for testing card authentication flows and key diversification in your access control deployment. — Check Price on Amazon

Which Card Should You Choose?

✔ MIFARE Plus is the right choice if…

✔ DESFire is the right choice if…

Cost Comparison

Cost FactorMIFARE PlusDESFire EV2/EV3
Card unit cost (volume)$0.50–$1.20$1.00–$2.50
Reader costLower (Classic-compatible readers)Higher (APDU-capable readers)
Migration costLow (phased: SL1 → SL3)High (replace all readers)
PersonalizationSimpler (sector keys)More complex (app/file/key tree)

Related Comparisons

Summary

MIFARE Plus is the pragmatic upgrade path for existing MIFARE Classic deployments. It adds AES-128 security with minimal infrastructure change. Use it when migration cost and backward compatibility are the primary concerns.

MIFARE DESFire is the architecturally superior choice for new deployments. Its file-system application model, ISO 7816-4 APDU interface, and EV3 ECDH key agreement make it suitable for multi-application, multi-operator smart card ecosystems. You pay more per card and reader, but gain flexibility and future-proofing.

Need to inspect MIFARE card data? Try our APDU Builder or the MIFARE Access Bits Calculator.