A symmetric password-authenticated key exchange lets two parties that share a password authenticate each other and establish a session key. Unlike an asymmetric or augmented PAKE, both sides know the password or password-derived information. This makes short passwords practical when manually importing a long public key is inconvenient, such as pairing nearby devices. section 11.3 section 11.2.2
A simplified CPace exchange proceeds in phases:
- Both devices derive a generator for a predetermined cyclic group from their common password. section 11.3.2
- They use that generator as the base for an ephemeral Diffie–Hellman key exchange. section 11.3.2
- They derive the session key from the exchange output, ephemeral public keys, and a unique session identifier. section 11.3.2
- A careful implementation handles elliptic-curve group checks, hash-to-curve processing, and contextual metadata such as peer addresses. section 11.3.2
Connecting a device to home WiFi
Entering the same password on two devices illustrates the tradeoff: the user avoids importing a long public key, while the devices use a symmetric PAKE such as CPace to establish an authenticated connection. section 11.4 section 11.3
Figure 11.14 The CPace PAKE works by having the two devices create a generator based on a password and then use it to perform as a base for the usual ephemeral DH key exchange.
Shows the core CPace idea: derive a generator from the password, then use it for an ephemeral Diffie–Hellman exchange. section 11.3.2
