cocagne / pysrp

Python implementation of the Secure Remote Password protocol (SRP)
MIT License
113 stars 42 forks source link

Support Alternate M1 Proof #19

Open TACIXAT opened 8 years ago

TACIXAT commented 8 years ago

Alternatively, in a password-only proof the calculation of "K" can be skipped and the shared "S" proven with:

Carol → Steve: M1 = H(A | B | SCarol). Steve verifies M1. Steve → Carol: M2 = H(A | M1 | SSteve). Carol verifies M2.

Wikipedia.

It appears the JavaScript implementations of SRP use this proof. I think they're wrong as I can't find it in the RFC, but it might be nice to have the option for both in Python for interoperability.