Skip to content

Commit

Permalink
Update docs/Secure-Coding-Guide-for-Python/CWE-693/CWE-330/README.md
Browse files Browse the repository at this point in the history
Co-authored-by: Hubert Daniszewski <[email protected]>
Signed-off-by: BartyBoi1128 <[email protected]>
  • Loading branch information
BartyBoi1128 and s19110 authored Dec 23, 2024
1 parent 6d0307a commit a9c364e
Showing 1 changed file with 1 addition and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Python's `random` module is a standard library module that provides functions to
[[MATSUMOTO, NISHIMURA 1998](https://dl.acm.org/doi/pdf/10.1145/272991.272995)], which is a deterministic algorithm, that, given a particular input, will always produce the same output [[Wikipedia 2024](https://en.wikipedia.org/wiki/Deterministic_algorithm)]. An attacker knowing or guessing the seed value can predict the entire sequence of the pseudorandom numbers. This also means that if two `Random` class objects are created using an identical seed, they will generate the same sequence of numbers, regardless of the Python environment.


Therefore, the random module is unsuitable for applications requiring high security as it does not incorporate cryptographic randomness, which means it is not resistant to reverse engineering. Its limited entropy makes it easier for attackers to deduce the internal state of the generator and predict future outputs.
Therefore, the `random` module is unsuitable for applications requiring high security as it does not incorporate cryptographic randomness, which means it is not resistant to reverse engineering. Its limited entropy makes it easier for attackers to deduce the internal state of the generator and predict future outputs.

Instead, for generating random numbers, it is recommended to use a more robust option, such as Python's `secrets` module.

Expand Down

0 comments on commit a9c364e

Please sign in to comment.