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

DRBG nonce lengths #1520

Closed
jvdsn opened this issue Jul 23, 2024 · 7 comments
Closed

DRBG nonce lengths #1520

jvdsn opened this issue Jul 23, 2024 · 7 comments
Assignees

Comments

@jvdsn
Copy link
Contributor

jvdsn commented Jul 23, 2024

According to #1432, the ACVP now supports DRBG capabilities with 0-length nonces, as long as the combination of entropy input+nonce is greater than 3/2 * security strength.

However, the table on https://github.com/livebe01/ACVP/blob/master/src/drbg/sections/05-capabilities.adoc still lists a minimum value for the nonces of all derivation function-based DRBGs. Is the table outdated?

@livebe01
Copy link
Collaborator

Hi @jvdsn, this is how I updated the documentation to address the change.

@jvdsn
Copy link
Contributor Author

jvdsn commented Jul 30, 2024

@livebe01 right, but that table still shows a minimum nonce length. Would it not be more accurate to set the minimum nonce length to 0 for all of them? Then the maximum entropy length would also need to be updated to support the case where entropy_input_len = 3/2*s and nonce_len = 0

@livebe01
Copy link
Collaborator

livebe01 commented Aug 2, 2024

Hi @jvdsn, to confirm, are you referring to Table 4?

@livebe01 livebe01 self-assigned this Aug 2, 2024
@jvdsn
Copy link
Contributor Author

jvdsn commented Aug 2, 2024

@livebe01 correct

@livebe01
Copy link
Collaborator

livebe01 commented Aug 2, 2024

I don't think the maximum entropy lengths would need to updated. I think most of those values are restrictions we built into ACVTS b/c we didn't want to deal w/ values that were too large.

There are a number of things going on in the DRBG spec. 1) We're trying to tie it in w/ SP 800-90A and the different restrictions and requirements it puts in place. 2) The DRBG spec has evolved over time. I wasn't its original author and I believe Table 4 used to be located in a different spot. Per the introduction to section 7.3, one of Table 4's intended uses was to default test values that are used. I've updated the DRBG spec several times to try to make it more cohesive and easier to understand, but we're happy to get feedback on them from others who need to read and try to understand them. 4) For the nonceLen, we're trying to communicate that one of the following requirements needs to be met:
a) nonceLen is at least half the maximum security strength or
b) the length of the nonce may be less than 1/2 the maximum security strength supported as long as the entropy input length + the nonce length >= 3/2 security strength.

How does #1522 look?

@jvdsn
Copy link
Contributor Author

jvdsn commented Aug 2, 2024

That looks reasonable to me

@livebe01
Copy link
Collaborator

livebe01 commented Aug 2, 2024

Great, thank you. I do think that's more clear. If you have any other thoughts, let me know.

@livebe01 livebe01 closed this as completed Aug 2, 2024
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