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

AEAD robustness implementation examples #125

Closed
samuel-lucas6 opened this issue Jan 25, 2021 · 2 comments
Closed

AEAD robustness implementation examples #125

samuel-lucas6 opened this issue Jan 25, 2021 · 2 comments

Comments

@samuel-lucas6
Copy link
Collaborator

From the Robustness section for AEAD constructions:

If that turns out to be a concern, this can be solved in different ways:

  • By incorporating a key identifier in the nonce
  • By including a key identifier in the additional data
  • By including a 128-bit fixed string in the message and verifying it during the decryption process

The third bullet point is very clear. However, it's less clear how to create a key identifier for the first and second bullet point implementations. The papers on the subject are rather confusing if you're not used to the notation. Please could you explain a suitable method of generating a key identifier in the documentation. Thank you.

@jedisct1
Copy link
Owner

A key identifier is anything that can let your application uniquely identify a key, in a protocol handling key rotation.

This information doesn't have to be secret nor unpredictable. It can be a serial number (even a simple counter) or a random value, although padding to at least 128 bit wouldn't be a bad idea.

If this is confusing, I'd rather remove this from the documentation, especially since papers have been published on that subject.

@samuel-lucas6
Copy link
Collaborator Author

That makes sense. I assumed it was referring to deriving some sort of subkey before.

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

2 participants