SPEKE (Simple Password Exponential Key Exchange) is a cryptographic method for passwordauthenticated key agreement. In cryptography, a passwordauthenticated key agreement method is an interactive method for two or more parties to establish cryptographic keys based on one or more partys knowledge of a password. ...
Description
The protocol consists of little more than a DiffieHellman key exchange where the DiffieHellman generator g is created from a hash of the password. DiffieHellman key exchange (alternatively key agreement or key negotiation) is a cryptographic protocol which allows two parties to agree on a secret key over an insecure communications channel. ...
In cryptography, a cryptographic hash function is a hash function with certain additional security properties to make it suitable for use as a primitive in various information security applications, such as authentication and message integrity. ...
Here is one simple form of SPEKE:  Alice and Bob agree to use an appropriately large and randomly selected safe prime p.
 Alice and Bob agree on a shared password π.
 Alice and Bob both construct g = hash(π)^{2} mod p. (Squaring makes g a generator of the prime order subgroup of the multiplicative group of integers modulo p.)
 Alice chooses a secret random integer a, then sends Bob g^{a} mod p.
 Bob chooses a secret random integer b, then sends Alice g^{b} mod p.
 Alice and Bob each abort if their received values are not in the range [2,p2], to prevent small subgroup confinement attack.
 Alice computes K = (g^{b} mod p)^{a} mod p.
 Bob computes K = (g^{a} mod p)^{b} mod p.
Both Alice and Bob will arrived at the same value for K if and only if they use the same value for π. Once Alice and Bob compute the shared secret K they can use it in a key confirmation protocol to prove to each other that they know the same password π, and to derive a shared secret encryption key for sending secure and authenticated messages to each other. Alice and Bob are conventional placeholder terms referring to common archetypal characters used in explanations in fields such as cryptography and physics. ...
A safe prime is a prime number of the form 2p + 1, where p is also a prime. ...
In its simplest form, multiplication is a quick way of adding identical numbers. ...
Unlike unauthenticated DiffieHellman, SPEKE prevents man in the middle attack by the incorporation of the password. An attacker who is able to read and modify all messages between Alice and Bob cannot learn the shared key K and cannot make more than one guess for the password in each interaction with a party that knows it. In cryptography, a man in the middle attack (MITM) is an attack in which an attacker is able to read, insert and modify at will, messages between two parties without either party knowing that the link between them has been compromised. ...
In general, SPEKE can use any prime order group that is suitable for public key cryptography, including elliptic curve cryptography. Elliptic curve cryptography (ECC) is an approach to publickey cryptography based on the mathematics of elliptic curves. ...
History SPEKE was first described by David Jablon in 1996 (1), and refined and enhanced in 1997 (2) with additional variations, including an augmented password authenticated key agreement method called BSPEKE. The protocol is one of the older and wellknown in the relatively new field of passwordauthenticated key exchange, and no flaws have been published for it since 1997 (2). A paper published by MacKenzie in 2001 (3) presents a proof in the random oracle model that SPEKE is a secure PAKE protocol (using a somewhat relaxed definition) based on a variation of the Decision DiffieHellman assumption. Since 1999, the protocol has been used by several companies in a variety of products, typically supplementing other cryptographic techniques.
Patents U.S. Patent 6,226,383 describes several variations of the method.
Standards Standards that describe SPEKE include IEEE P1363.2 and ISO/IEC Draft 117704.
References  D. Jablon. Strong PasswordOnly Authenticated Key Exchange. Computer Communication Review, ACM SIGCOMM, vol. 26, no. 5, pp. 526, October 1996 Author's link.
 D. Jablon. Extended Password Key Exchange Protocols Immune to Dictionary Attacks. Proceedings of the Sixth Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE '97), IEEE Computer Society, June 1820, 1997, Cambridge, MA, pp. 248255. Author's link.
 P. MacKenzie. On the Security of the SPEKE PasswordAuthenticated Key Exchange Protocol. Cryptology ePrint Archive: Report 2001/057.
See also  Passwordauthenticated key agreement
 Password
 IEEE 1363
 DiffieHellman key exchange
In cryptography, a passwordauthenticated key agreement method is an interactive method for two or more parties to establish cryptographic keys based on one or more partys knowledge of a password. ...
A password is a form of authentication which uses secret data to control access to a resource. ...
DiffieHellman key exchange (alternatively key agreement or key negotiation) is a cryptographic protocol which allows two parties to agree on a secret key over an insecure communications channel. ...
External links  Links for passwordbased cryptography
