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

Consider HMAC-based constructions #15

Open
wussler opened this issue Jul 17, 2023 · 3 comments
Open

Consider HMAC-based constructions #15

wussler opened this issue Jul 17, 2023 · 3 comments
Assignees

Comments

@wussler
Copy link
Collaborator

wussler commented Jul 17, 2023

Given idealized assumptions, consider SHA2-based HMAC constrution:
HMAC(s, K1 || ... || Kn)

Given the following feedback from Felix

Qualitatively similar results [to Keccak] exist for HMAC [2], saying that H(X) = HMAC(s, X) for fixed s is indifferentiable from a random oracle when assuming an ideal Merkle-Damgard compression function.

https://eprint.iacr.org/2013/382
(e.g., Section 1.3: "Analogously, our positive results about HMAC imply as a special case that HMAC(K, M ), for any fixed constant K, is indifferentiable from a RO.")

@OR13
Copy link

OR13 commented Nov 13, 2023

Interpreting this issue, is it correct to say that:

this issue can be closed when the draft describes that SHA2 or SHA3 can be used, and gives some reasonable guidance to implementers on choosing one and naming the resulting hybrid suite?

@wussler
Copy link
Collaborator Author

wussler commented Nov 13, 2023

Yes. I'm just not so sure about naming the resulting suite, as we don't mention naming anywhere

@OR13
Copy link

OR13 commented Nov 16, 2023

Yeah, perhaps naming guidance is a step to far... I was mostly hoping to avoid ambiguity for cases like:

  • ML-KEM+X25519+SHA2
  • ML-KEM+X25519+SHA3

Pick the hash function that is used internally the most, in case of a tie, pick the hash function that has been battle tested for longer.

Avoid creating suites that only differ by the choice of hash function.

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

3 participants