<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Nov 27, 2016 at 11:02 AM, ianG <span dir="ltr"><<a href="mailto:iang@iang.org" target="_blank">iang@iang.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 26/11/2016 09:38, Salz, Rich wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Absolutely right.  Only TRNGs that make raw data available should be trusted.  Further, the source should have a simple physical model which is proven out by measurements, preferably continuously.<br>
</blockquote>
<br>
Meanwhile, back in the real world...  What should OpenSSL do, given the wide number of platforms and huge uninformed community that depends on it, do?<br>
</blockquote>
<br></span>
It should read from /dev/urandom [1]</blockquote><div><br></div><div>Ian, would you agree that something on the platform needs to first ensure that /dev/random is well seeded before OpenSSL reads from /dev/urandom?  I suggested perhaps OpenSSL should read 1024 bits from /dev/random, and all later bits from /dev/urandom, but then every app that needs cryptographically unpredictable numbers would each independently reseed the entropy pool.</div><div><br></div><div>Maybe Linux could provide a way to read total entropy generated since boot?  That could be used to compute how much data to read from /dev/random, and in most cases it would be 0.</div><div><br></div><div>Bill</div></div></div></div>