Open LinusU opened 6 years ago
ping @yallie, would love your 👀 on this
Looks great! 👍
Don't you want to add the RFC5054 test vectors as a unit test?
Their test vectors are for the 1024-bit group while this library is currently hardcoded to the 2048-bit group.
We should probably/maybe add a way to select the group, but I also think it's really nice that a sensible one is picked for you and you don't really have to think about it 🤔
but I also think it's really nice that a sensible one is picked for you and you don't really have to think about it
Totally agree with that! :)
Wow, I did not know you could depend on two different versions of a package at once.
Sorry for not moving forward with this in a very long time. I would really like to figure out if we should pad HNxorHG or not 🤔
https://github.com/cocagne/pysrp/pull/38
If anyone has any information to chime in with I would be very happy to hear it!
Is there an authoritative source you can ask? The SRP authors, or the authors of the RFC ?
I tried emailing the four original authors of RFC 5054. Two of the email addresses bounced directly, but I'll keep this thread updated if I get a response from the other two.
just fyi: the master
branch of this package didn't work for me so i tried it with this PR, works well as a client to https://github.com/est31/csrp-gmp :+1:
Also: why don't you leave the decision to use padding or not to the user of the library, as an option/config for example?
Hey @LinusU, any updates on this? Is it ok to pin the package version to this PR?
Instead of migrating via different package versions, could it be a flag passed in?
Maybe at first the flag defaults to the current padding method, and recommend to people they explictly specify this as true
or false
. Then do a major revision update where the padding defaults to this RFC 5054 format going forward so that this is more compliant with other implementations by default?
Fixes #12
Migration guide:
While verifiers generated with an earlier version of this library will continue to work, the client and the server must either both be using the padding, or both not.
The recommended upgrade path is to have both versions running on your server, which gives you time to upgrade all the clients. This can be accomplished by depending on this library two times:
You will then have to implement another version of your endpoint, which uses the newer version.
The
login-v1
controller should import the library as such:The
login-v2
controller should import the library as usual: