Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29167-12 specifies the use of elliptic curve cryptography over prime fields (EC-GF(p)) as a cryptographic suite for RFID security services. Unlike symmetric-key suites (AES-128, PRESENT-80), EC-GF(p) enables public-key cryptography on RFID tags, allowing key agreement without pre-shared secrets and supporting digital signatures for tag authentication. The standard mandates elliptic curves over prime fields GF(p) with key sizes of 192, 224, 256, 384, and 521 bits, aligned with NIST FIPS 186-4 recommendations. The 256-bit prime field curve (P-256) is the recommended minimum for RFID applications requiring public-key operations.
The standard defines two primary operational modes for EC-GF(p) on RFID tags: (1) Elliptic Curve Diffie-Hellman (ECDH) for key agreement, enabling the reader and tag to derive a shared session key without transmitting the key over the air; and (2) Elliptic Curve Digital Signature Algorithm (ECDSA) for tag authentication and data integrity verification. The tag can generate a key pair (private key on tag, public key to reader) during personalization, or the key pair can be pre-installed by a certificate authority. The SMP framework of 29167-1 is extended to carry EC point coordinates (x, y) as payload elements in the Authenticate and KeyUpdate commands.
Implementing EC-GF(p) on a passive RFID tag presents significant computational challenges. An elliptic curve scalar multiplication — the core operation of ECDH and ECDSA — requires thousands of modular multiplications in the prime field GF(p). For the P-256 curve, a single scalar multiplication requires approximately 2,500 field multiplications using the double-and-add algorithm. At a tag clock speed of 1 MHz (typical for enhanced-performance tags), each 256-bit modular multiplication takes about 100 µs using a dedicated multiplier, resulting in 250+ ms per scalar multiplication — far exceeding the typical 50 ms transaction window.
| Optimization | Speedup Factor | Area Overhead | Description |
|---|---|---|---|
| Montgomery Modular Multiplication | 2–3× | Minimal | Avoids trial division; uses shift-and-add |
| Non-Adjacent Form (NAF) Scalar Recoding | 1.3× | Minimal | Reduces Hamming weight of scalar |
| Dedicated 256-bit Multiplier | 10–20× | 8,000–12,000 gates | Hardware acceleration for field multiplication |
| Projective Coordinate System | 1.5× | Minimal | Avoids modular inversions in point addition |
Power consumption during EC operations is another critical constraint. A 256-bit Montgomery multiplier operating at 1 MHz consumes approximately 12–18 µW in a 0.13 µm CMOS process. This represents 40–60% of the total power budget of a passive tag, leaving limited headroom for other functions. To manage peak power, the standard recommends that the tag implement a power-smoothing capacitor bank and that the reader maintain a continuous interrogation field during the entire EC computation period (rather than the usual pulsed field used for inventory).
EC-GF(p) provides security properties that symmetric-only suites cannot offer. The most important is perfect forward secrecy (PFS): when ECDH is used for key agreement, even if the tag’s long-term private key is compromised, past session keys remain secure because each session uses ephemeral key pairs that are discarded after use. This property is critical for applications such as pharmaceutical anti-counterfeiting and secure supply chain tracking where audit logs must remain trustworthy even after a security breach.
The ECDSA signature verification by the reader enables offline tag authentication — a scenario where the reader operates without a connection to a backend database. This is essential for field-deployed readers in remote locations (e.g., container terminals, mining sites). The tag stores its certificate (public key + metadata signed by a CA) in user memory. During verification, the reader extracts the certificate, verifies the CA signature using the CA’s public key, and then uses the tag’s public key for challenge-response authentication. The entire certificate chain validation adds approximately 100–200 ms to the authentication time.