Botan 3.13.0
Crypto and TLS for C&
Botan::SPAKE2p Namespace Reference

Classes

class  ProverContext
class  ProverSecret
class  RegistrationRecord
class  SystemParameters
class  VerifierContext

Detailed Description

SPAKE2+ (RFC 9383) password authenticated key exchange

SPAKE2+ is an augmented PAKE; the two sides are asymmetric. The prover knows the password itself, while the verifier stores only a registration record derived from the password. An attacker who steals the registration record cannot impersonate the prover without first performing a dictionary attack on the record.

The expected message flow is

After the final confirmation step both sides can call shared_secret to obtain the session key (K_shared in RFC 9383)

Protocols which embed SPAKE2+ and perform the prover's key confirmation themselves (such as the proposed TLS PAKE extension) may instead call VerifierContext::skip_confirmation in place of the final step.