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

Add keyed and derive_key variants for guts #442

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

devinrsmith
Copy link

This adds a struct Guts with methods new, new_keyed, and new_derived_key mirroring Hasher construction options.

@oconnor663
Copy link
Member

I've been planning a more extensive change here, where the guts module will provide functions that let you initialize or update a regular Hasher in advanced ways. That should support fancy use cases while still taking advantage of the full SIMD/threading performance of Hasher, without needing to reinvent the wheel.

@devinrsmith
Copy link
Author

Do you imagine that the guts advanced Hasher would be enough to support the bao implementation, or would bao still need something lower-level?

Any estimate on timeline for the more extensive changes?

I don't expect API stability for guts today; and if you are amenable, would be happy for this to be merged even if it will be replaced in the future.

@oconnor663
Copy link
Member

Do you imagine that the guts advanced Hasher would be enough to support the bao implementation

Yes, the goal here would be to at least support:

  • Bao as it currently works today
  • plus the keyed and derive_key modes, which Bao doesn't currently use but could in theory
  • plus a "pre-process the derive_key context string" option

Any estimate on timeline for the more extensive changes?

No I don't have a timeline, but I'll make a calendar note to prioritize it this weekend :)

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

Successfully merging this pull request may close these issues.

2 participants