Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implement tests from "Finding Bugs in Cryptographic Hash Function Implementations" #17

Open
mmcloughlin opened this issue Feb 25, 2019 · 0 comments

Comments

@mmcloughlin
Copy link
Owner

@dgryski suggested the paper "Finding Bugs in Cryptographic Hash Function Implementations", by Nicky Mouha and Mohammad S Raunak and D. Richard Kuhn and Raghu Kacker https://eprint.iacr.org/2017/891

It would be worth implementing some of the tests here:

  • "Bit-Contribution Test" verifies that flipping all bits of various sized messages produces unique results
  • "Bit-Exclusion Test" modifies bits after the end of the buffer, to confirm there are no out-of-bounds reads affecting the result. This could affect Go assembly implementations, without the safety of bounds checking.
  • "Update Test" and "Combinatorial Update Test" test chunking behavior. I believe we have this covered in the fuzzers already.
  • The paper also references an "Extremely Large Message Test" which is covered by feed large inputs to fuzz functions #15

Not clear if this belongs in this repo or not. Possible candidates for x/crypto/cryptotest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant