<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Sep 15, 2015 at 10:50 AM, Donald Stufft <span dir="ltr"><<a href="mailto:donald@stufft.io" target="_blank">donald@stufft.io</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="">On September 15, 2015 at 1:34:56 PM, Guido van Rossum (<a href="mailto:guido@python.org">guido@python.org</a>) wrote:<br>
> > I am fine with adding more secure ways of generating random numbers.<br>
> But we already have random.SystemRandom(), so there doesn’t<br>
> seem to be a hurry?<br>
<br>
</span>The problem isn't so much that there isn't a way of securely generating random <br>
numbers, but that the module, as it is right now, guides you towards using an <br>
insecure source of random numbers rather than a secure one. This means that<br>
unless you're familar with the random module or reading the online<br>
documentation you don't really have any idea that ``random.random()`` isn't<br>
secure. This is an attractive nuisance for anyone who *doesn't* need<br>
deterministic output from their random numbers and leads to situations where<br>
people are incorrectly using MT when they should be using SystemRandom because<br>
they don't know any better.<br>
</blockquote></div><br></div><div class="gmail_extra">That feels condescending, as does the assumption that (almost) every naive use of randomness is somehow a security vulnerability. The concept of secure vs. insecure sources of randomness isn't *that* hard to grasp.</div><div class="gmail_extra"><br>-- <br><div class="gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank">python.org/~guido</a>)</div>
</div></div>