Use cryptographically secure generador for private keys #118
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.
The random module should not be used for security purposes, therefore the use of this module to generate private keys is a security flaw. https://docs.python.org/3/library/random.html
Since this project is not targeting an specific python version, I'm not sure if it's wise to use the
secrets
module, because this module first appeared on in python 3.6. Instead I'm using_get_random_bytes()
(which is os.urandom under the hood) to generate cryptographically secure numbers.On the other hand and I'm not sure if this logic of generating random private keys is entirely secure. In my opinion, the right way of doing this is using ECDSA or using the library we already have in this project: