Change rand_pool_bytes_needed to handle less entropy than 1 per 8 bits#6150
Closed
levitte wants to merge 2 commits intoopenssl:masterfrom
Closed
Change rand_pool_bytes_needed to handle less entropy than 1 per 8 bits#6150levitte wants to merge 2 commits intoopenssl:masterfrom
levitte wants to merge 2 commits intoopenssl:masterfrom
Conversation
2df3d78 to
a5ef709
Compare
mspncp
approved these changes
May 2, 2018
crypto/rand/rand_lib.c
Outdated
Contributor
There was a problem hiding this comment.
Nit: 'entropy_factor' -> |entropy_factor|
crypto/include/internal/rand_int.h
Outdated
Contributor
There was a problem hiding this comment.
Nit: IIRC, I used vertical bars instead of single quotes around parameter names throughout the documenting comments: 'entropy_factor' -> |entropy_factor|
Member
Author
There was a problem hiding this comment.
Well, as you noticed yourself, you weren't entirely consistent, the comment above this specific function had ' ;-) . But I'll change that in both places
rand_pool_bytes_needed() was constructed in such a way that the smallest acceptable entropy factor was 1 entropy bits per 8 bits of data. At the same time, we have a DRBG_MINMAX_FACTOR that allows weaker source, as small as 1 bit of entropy per 128 bits of data. The conclusion is that rand_pool_bytes_needed() needs to change to support weaker entropy sources. We therefore change the input of entropy per byte to be an entropy factor instead. This entropy factor expresses how many bits of data it takes (on average) to get 1 bit of entropy.
a5ef709 to
4328d20
Compare
levitte
added a commit
that referenced
this pull request
May 2, 2018
rand_pool_bytes_needed() was constructed in such a way that the smallest acceptable entropy factor was 1 entropy bits per 8 bits of data. At the same time, we have a DRBG_MINMAX_FACTOR that allows weaker source, as small as 1 bit of entropy per 128 bits of data. The conclusion is that rand_pool_bytes_needed() needs to change to support weaker entropy sources. We therefore change the input of entropy per byte to be an entropy factor instead. This entropy factor expresses how many bits of data it takes (on average) to get 1 bit of entropy. Reviewed-by: Matthias St. Pierre <[email protected]> (Merged from #6150)
Member
Author
|
Merged into master / 1.1.1. 6ebb49f Change rand_pool_bytes_needed to handle less entropy than 1 per 8 bits |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
rand_pool_bytes_needed() was constructed in such a way that the
smallest acceptable entropy factor was 1 entropy bits per 8 bits of
data. At the same time, we have a DRBG_MINMAX_FACTOR that allows
weaker source, as small as 1 bit of entropy per 128 bits of data.
The conclusion is that rand_pool_bytes_needed() needs to change to
support weaker entropy sources. We therefore change the input of
entropy per byte to be an entropy factor instead. This entropy factor
expresses how many bits of data it takes (on average) to get 1 bit of
entropy.