Security
Recall the security requirements for PAKE protocols:
- Off-line dictionary attack resistance: No leaked information for attackers, which allows them to perform offline-exhaustive search to find the password.
- On-line dictionary attack resistance: An active attacker is allowed to test only one password per protocol.
- Forward secrecy: The session keys are still secure even when the password is later leaked.
- Known-session security: A disclosed session key doesn't affect the security of other established session.
Off-line dictionary attack resistance
Active attacker
Suppose Bob is an attacker who directly talk to Alice but he doesn't possess the shared secret . The data available for Bob include and Zero Knowledge Proofs (ZKP) for the respective exponents.
By protocol definition, , they are unknown for Bob when is a very large number. If is 160-bits, the probability to hit and are respectively and for Bob. Bob is impossible to guess right.
Passive attacker
The data available for an passive attacker include and their Zero Knowledge Proofs(ZKP). Same as above, the probability to his all is extremely low.
On-line dictionary attack resistance
Suppose Bob is an attacker who directly talk to Alice but he doesn't possess the shared secret . Bob can freely choose and the password . Then, the After receiving , Alice computes
Therefore, without , Bob is unable to compute .
Forward secrecy
In this case, we consider the password is already leaked to the attacker. However, the past session key still can not be computed because the attacker at least need to get (if the attacker is active, then is hold by himself). Thus, the probability to compute a right session key is overwhelming low.
Known-session security
Assume that the attacker is powerful enough to compromise a session, and learn all data of the compromised session like raw key and all private key .
Each session key is derived from one set of random number , so it's different in each session. Due to the session key is ephemeral, the attacker have no chance to compute the session key of other sessions even he have already compromised one.