Abstract cryptography lattice diagram representing post-quantum signatures
Security 3 min read

ML-DSA-65 vs ECDSA: what post-quantum attestation changes for verifiers

Your verifier checks a signature today. Post-quantum migration means the algorithm on the attestation path matters as much as the yes/no answer.

If you verify eligibility outcomes, you already trust a signature. Today that is often ECDSA on a P-256 curve: small, fast, everywhere. The problem is not tomorrow's outage. It is tomorrow's attacker with a cryptographically relevant quantum computer, and the NCSC migration clock that already runs.

Picture a housing association that stores five years of right-to-rent attestations. Each record carries a compact ECDSA signature that verifiers check in milliseconds. That design is sound for 2026. The question is whether those signatures still mean anything in 2036 if the private key material was ever exposed to a harvest-now-decrypt-later adversary. Attestations are long-lived. Algorithms should be chosen with that horizon in mind.

ECDSA vs ML-DSA-65 at a glance

PropertyECDSA (P-256)ML-DSA-65 (FIPS 204)
Quantum resistanceNoDesigned for post-quantum security
Typical signature size~64 bytes~3.3 KB
Public key size~33 bytes compressed~1.9 KB
Verifier ecosystemUniversalGrowing, must be pinned
NCSC migration priorityDeprioritise for new attestationsPreferred for new high-value proofs

What changes for verifiers

When attestations move to ML-DSA-65, verifiers gain three new jobs. First, algorithm negotiation: reject ambiguous signatures and pin ML-DSA-65 for new proofs while you sunset ECDSA on a published timeline. Second, payload budgeting: larger signatures affect JWTs, webhooks, and offline QR codes, so measure your worst case now. Third, key rotation: publish and pin ML-DSA public keys the same way you pin TLS certificates.

Post-quantum migration is not a library upgrade you schedule for next quarter. It is a contract with future auditors about whether today's yes still proves anything tomorrow.

Operational note: log which algorithm validated each decision. Mixed fleets are normal for years. Ambiguous logs are not.

Coexistence strategy

Most teams will run dual verify for a period: accept ECDSA on legacy attestations with short TTL, issue ML-DSA-65 on all new proofs. Document the cutover date in your security policy and in customer-facing API docs.

AffixIO signs eligibility outcomes with ML-DSA-65 today, so the attestation path is not waiting on a future migration project. Read the NCSC alignment page at NCSC, benchmark your estate with PQC Gauge, and review verify responsibilities on Security.

Where size actually hurts

Three integration points feel the signature growth first. HTTP headers and webhook bodies that assumed 64-byte signatures may hit proxy limits. QR codes that embed signed outcomes need larger modules or shorter TTL with online verify. Offline queues on edge devices need storage headroom for provisional payloads. None of these are blockers if you measure early.

On the host

The prove step

Where AffixIO fits in your attestation path

Post-quantum work is an estate programme. Eligibility attestations are a sharp place to start because the records last. AffixIO signs those outcomes with ML-DSA-65 now.

  1. StaysDecision host
  2. Runs hereSign ML-DSA-65
  3. LeavesKeyed outcome

It sits at the moment your system says eligible or not eligible. Verifiers pin public keys, check signatures, and log the algorithm. ECDSA elsewhere can follow a published cutover. This path does not wait on 2031.

What stays on the host

  • The verify path. Keys and documentation live on Security.
  • The inventory. PQC Gauge shows where classical signatures still sit.
  • Procurement context. The NCSC page is for the paper trail, not a claim of endorsement.
  • Payload design. Webhooks, QR and offline queues already expect the larger signature.

What the verifier receives

  • An explicit algorithm. Not a buried bureau score.
  • A public key to pin. Dual-run logs can name which algorithm validated each decision.
  • No extra migration debt. New proofs on this path are already ML-DSA-65.
  • A size you can measure. Run proofs on a real integration before you freeze message formats.

Measure ML-DSA-65 payloads on your path

Hub sign-up is free. 100 SDK proof credits for 30 days after email confirmation. No card.

Free Hub trial

100 proofs. No card. Yours in minutes.

Sign up free, confirm your email, and redeem 100 SDK proof credits for 30 days. Run real eligibility checks on your stack before you commit to a licence.

  • Free sign-up at Hub
  • 100 proofs after email confirmation
  • 30-day window to use them
  • No overage on trial

Questions we hear often

Short answers for teams evaluating eligibility checks, audits, and privacy posture.

Should we stop using ECDSA immediately?

Not everywhere at once. NCSC timelines point to planning by 2028, priority migration by 2031, and completion by 2035. Start with high-value attestations: eligibility decisions, audit logs, and long-lived credentials.

What is ML-DSA-65?

ML-DSA-65 is a module-lattice digital signature algorithm standardised as NIST FIPS 204. It is designed to resist known quantum attacks on classical schemes like ECDSA and RSA.

Do verifiers need new libraries?

Yes. Your verifier must understand ML-DSA public keys and signature encoding. AffixIO publishes attestation keys and documents the verify path so you can pin algorithms explicitly.

Are ML-DSA signatures much larger than ECDSA?

Yes. Expect larger keys and signatures. That affects headers, QR payloads, and offline queues. Design for the size now rather than assuming 64-byte ECDSA forever.