-
Notifications
You must be signed in to change notification settings - Fork 17
New API PoC #4
base: calc_x
Are you sure you want to change the base?
New API PoC #4
Conversation
…Drop securer_randomer in favor of direct use of RbNaCl RNG
…to convert to hex
… the protocol spec or the wikipedia sample code
…uld not have to know to do that.
…that Bignum is used more generally.
…ng nil quietly. Also allows stricter type checking.
…sic usage, could be further integrated.
Allow proper handling of safety check exceptions
Related to #3 |
Hi @Ptico Thanks for taking this challenge on. Your ideas are good. Before we get into the API changes there are a couple of things that probably need to be addressed. Your work is based off of my experimental fork with the intention to make the library even more secure. In the interim there has been a new release on the master branch and this work-in-progress branch is out of date. I think it needs to be rebased off of master and get it back in sync again. My biggest concern is that the new branch represents breaking changes with the Javascript SRP client that this ruby code works with. This is a library that I don't own and I imagine that the owner would be reluctant to take on the necessary changes since they would be breaking changes. This means I would likely need to fork and maintain that tool as well, which is possible, but I am a bit reluctant to take on. I can take on the rebase, but that means your significant work will be out of date. What are your thoughts on the best approach to tackle these issues? Cheers. |
Hi, this is just a PoC, and needs a lot of work, so I can merge changes manually, but some of them may need your assistance or opinions in IRC or something like this. My team got it working with another JS library for our internal project, but I have a plan to implement the better one with my guys. So, if you have some time for this, please, mail me your preferred IM contact to andriy@aejis.eu and let's discuss |
Hi. I've rebased the calc_x branch against the master branch and added one small additional commit to consistently use the Do you have a pointer to the JS lib you got working? I'll send you contact info in email and we can chat sometime this week. |
Hi @grempe Next steps is:
Things i want to discuss:
Auth = SIRP::Factory(prime_length: 1024, hash: Digest::SHA256)
credentials = Auth.register(username, password)
start = Auth::Server.start(user, aa)
finish = Auth::Server.finish(proof, mm) With defaults: Prime[2048], Digest::SHA256 and Backend::SCryptHMAC
Also, I want you to review changes in this PR as a basis for later work. Thanks |
I'll try to take a look at this and make comments this weekend. |
Any updates on this PR? I am looking for a Ruby Implementation of SRP-6a and would like to be using SHA256 for hashing. Will those changes be integrated into the project in the foreseeable future? |
I’ve started another, more modular version of this PR https://github.com/esrp/ruby The development temporary stalled and lacks high level API, but low level API is fully working (including all SHA versions), so feel free to contact me if you need assistance with it. However, I would be happy to finish my work with this PR |
This is very early prototype (contain bugs and untested code) of proposed API changes. Just for discussion.
For now it looks like this: