Only parse 64 bit int#11
Closed
nmhancock wants to merge 1 commit into
Closed
Conversation
Collaborator
|
For various reasons, see RustCrypto/password-hashes#232, we are not following the C reference implementation. There are already a bunch of libraries out there that have used this implementation with the test vectors so breaking that isn't really an option unless it's for a good reason. I don't remember all the details, but looking at the paper it's not exactly clear how this should be done. I'm trying to retrace the steps I originally took in my mind and it seems to me that how it's currently done discards the least amount of data, which is probably why I decided to go that route. If you are interested, you could adjust the reference implementation to use this algorithm, which was approved by the author: henrycg/balloon#1 (comment). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I ran into an issue while implementing balloon hashing in javascript using this as a reference.
The issue resolved down to getting different values for
other, and that was because the python implementation generates a bigint from the entire buffer, rather than reading a 64 bit integer as in the C reference implementation.Note: This commit breaks all the unit tests, so if those test vectors are known good then the code below is a mistake. But if they're not this may be an issue.