A Secure Two-party Password-authenticated Key Exchange Protocol
How to construct random functions