These methods safely prove knowledge of the password, without revealing it anyone who doesn't already know it.
All strong methods use public- key techniques.
But rather than requiring stored keys or a certificate hierarchy, ZKPPs use ephemeral keys. Temporary pairs of public and private keys are randomly created, used once, and then discarded as soon as the authentication is complete. Interestingly, the first strong methods used the password as a symmetric key, but with very careful design they avoided dictionary attack . Li Gong, Mark Lomas, Roger Needham, and Jerome Saltzer, developed the Secret Public Key methods. They are the ultimate in security when authentication must be based on a user-chosen password.