This is a Python proof-of-concept implementation of the Secure Remote Password protocol. The notation used is similar to the one from the original protocol design. Some code snippets are borrowed from Wikipedia.
Bear in mind that this is only a poc implementation meaning that the server does not store the user data on any persistent storage i.e. a registered user will only be authenticated if the two requests occur in the same process life cycle.
Open a terminal and launch the server
python srp_server.py
Clients can issue requests of type register or authenticate
To register on a running server issue the following command
python srp_client.py register 'username' 'password'
To authenticate to the server
python srp_client.py authenticate 'username' 'password'