Password-Authenticated Key Exchange

Turning a weak shared password into a strong session key without ever transmitting it — how EKE started it, why offline dictionary resistance is the defining property, and what OPAQUE and SRP get right and wrong.

Ordinary password authentication sends the password — over TLS, to a server that hashes and compares it. That works, and it concentrates risk: the server sees every password in plaintext at login, a compromised or malicious server harvests them, and TLS interception or a mis-issued certificate exposes them in transit. PAKE protocols remove the transmission entirely: two parties who share only a low-entropy password derive a strong shared key, and an attacker — including one who records everything — cannot mount an offline dictionary attack.

The defining property #

A password has maybe 20–40 bits of entropy. Any protocol whose transcript lets an attacker test candidate passwords offline is broken by definition, because testing a few billion candidates is cheap.

EKE: the original idea #

Bellovin and Merritt (1992) introduced Encrypted Key Exchange. The move, as Schneier presents it in ch. 22.5, is to use the shared password PP as a symmetric key to encrypt a freshly generated, random public key:

Why this defeats offline guessing: an eavesdropper who guesses PP and decrypts step 1 obtains a candidate public key — but a random public key is indistinguishable from random bytes, so there is nothing to check the guess against. Contrast a protocol that encrypts a known-format value under the password: the attacker decrypts with each candidate and checks whether the plaintext is well-formed, which is a verifier and hence an offline attack.

The final four steps are mutual confirmation: steps 3–5 prove to Alice that Bob knows KK, steps 4–6 prove the converse.

Balanced vs augmented #

EKE is balanced: both sides store the same password-derived value. That means a server database breach hands the attacker everything needed to impersonate users directly.

Augmented (asymmetric) PAKE fixes this: the server stores a verifier from which the password cannot be recovered cheaply, and which cannot be used directly to authenticate.

Protocol Type Status
EKE (1992) balanced historical — the origin
SPEKE, SPAKE2 balanced SPAKE2 standardized, used where both sides are trusted
SRP (Wu, 1998) augmented widely deployed — Apple iCloud, 1Password, ProtonMail. Ad-hoc design, no modern security proof, awkward maths
Dragonfly / SAE balanced WPA3 WiFi authentication (RFC 7664)
OPAQUE augmented current recommendation — CFRG-selected, proven secure, composes with TLS

Where PAKE actually fits #

The honest scope: PAKE is not a replacement for how most web applications authenticate today, and pretending otherwise is why it stayed niche for thirty years.

  • WiFi (WPA3/SAE) — the strongest real deployment. It fixed WPA2's offline attack, where capturing a handshake let an attacker grind the passphrase offline forever.
  • Device pairing and IoT provisioning — a short PIN bootstraps a strong channel, with no PKI.
  • End-to-end encrypted services — where the server must not learn the password because the password also derives the client's data-encryption key.
  • Password managers and sync — SRP's main habitat.

Note also that browsers have no native PAKE, so a web deployment means running it in JavaScript delivered by the server you are trying not to trust — which undercuts the threat model. Passkeys (WebAuthn) solve the same problem from a different direction, with platform support, and are the more practical answer for the web.

Source claims audit #

The EKE material was seeded from Applied Cryptography ch. 22.5.

Claim from source Status Notes
EKE construction: password encrypts a random public key; six-step protocol with mutual confirmation current Matches Bellovin & Merritt 1992
Eavesdropper cannot test password guesses without also breaking the public-key algorithm current This is the defining PAKE property
Knapsack instantiation fails because ciphertext distribution is non-uniform current and important The general rule — encrypted values must be indistinguishable from random — is what later breaks hinged on
RSA instantiation: encrypt only the exponent, send the modulus current as a caveat Correct, and a reason not to hand-roll
EKE presented as a general solution for network authentication outdated in emphasis EKE is balanced, so a server breach is total. Augmented PAKEs (SRP, OPAQUE) are what deployments need; the source predates both
Source predates SRP (1998), Dragonfly/WPA3, OPAQUE, and passkeys — Added; WPA3 is the largest real deployment and OPAQUE the current recommendation

Sources

  1. paperEncrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks (Bellovin & Merritt, 1992)
  2. bookApplied Cryptography, 2nd ed., ch. 22.5 — Encrypted Key Exchange (Schneier)
  3. docsRFC 9380 / OPAQUE: An Asymmetric PAKE Protocol (CFRG)
  4. docsRFC 8492 — Secure Password Ciphersuites for TLS (SRP/SPAKE)

Searches titles, aliases, headings, summaries, and full text.↑↓ move ↵ open esc close