And list dropped again.<br><br><div class="gmail_quote">---------- Forwarded message ---------<br>From: Ben Laurie <<a href="mailto:ben@links.org">ben@links.org</a>><br>Date: Wed Dec 03 2014 at 8:28:30 PM<br>Subject: Re: [Cryptography] Underhanded Crypto<br>To: John Denker <<a href="mailto:jsd@av8n.com">jsd@av8n.com</a>><br><br><br><div class="gmail_quote">On Wed Dec 03 2014 at 6:55:15 PM John Denker <<a href="mailto:jsd@av8n.com" target="_blank">jsd@av8n.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
On Wed Dec 03 2014 at 7:22:18 AM Ray Dillinger <<a href="mailto:bear@sonic.net" target="_blank">bear@sonic.net</a>> wrote:<br>
<br>
>> [....] relying on uninitialized memory alone,<br>
>> or even mostly, to produce a good PRNG state is crayzee.<br>
<br>
<br>
On 12/03/2014 05:20 AM, Ben Laurie retorted:<br>
> So crayzee its not what was going on. In fact, what was going on is what<br>
> you just described. Which you would've known if you actually bothered to<br>
> understand the issue.<br>
><br>
> But do carry on bloviating. It is _so_ enlightening.<br>
<br>
<br>
How firmly has it been established that there is no craziness<br>
is going on?  It seems to me that OpenSSL is a library.  The<br>
code in question<br>
  <a href="https://github.com/openssl/openssl/blob/master/crypto/rand/md_rand.c#L206" target="_blank">https://github.com/openssl/<u></u>ope<u></u>nssl/blob/master/crypto/<u></u>rand/<u></u>md_rand.c#L206</a><br>
  <a href="https://github.com/openssl/openssl/blob/master/crypto/rand/md_rand.c#L302" target="_blank">https://github.com/openssl/<u></u>ope<u></u>nssl/blob/master/crypto/<u></u>rand/<u></u>md_rand.c#L302</a><br>
is not called from within OpenSSL AFAICT, so presumably it gets<br>
called from some higher layer.  Has somebody checked all possible<br>
applications to verify that whenever purify complains about an<br>
uninitialized seed, the app is doing things correctly?  If so,<br>
please cite a reference so we can all read about it.<br>
<br>
Not as a strict proof, but as a plausible inference, experience<br>
suggests that folks who use an uninitialized seed are doing so<br>
because they don't trust their other seed-sources.  So at least<br>
sometimes, it is a blind man clutching at a straw that isn't there.<br>
Conversely, if there is a proof that uninitialized seeds are used<br>
only when they are not needed, please explain.<br></blockquote><div><br></div></div><div class="gmail_quote"><div>That is not the converse, and this is the core point.</div><div><br></div><div>We all know that low entropy sucks. Throwing in some extra entropy never hurts.</div><div><br></div><div>There is the orthogonal question of what to make of this in the face of Purify, valgrind et al. which (almost always rightly) view this entirely harmless practice as evil.</div><div><br></div><div>As you point out, it may mask other problems. OpenSSL provides the -DPURIFY option to remove the code that might mask, at the cost of losing any entropy that might have been available. Your call.</div><div><br></div><div>Don't blame OpenSSL for the failure of dynamic analysis perfection.</div></div><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Two wrongs do not make a right ... and fixing one wrong does not<br>
fix the other.  Reverting an iatrogenic error does not mean that<br>
the patient is cured;  the presenting complaint is still there.<br>
<br>
-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1<br>
<br>
iQIVAwUBVH9XP/<u></u>O9SFghczXtAQI9pg<u></u>//<u></u>WKhp0R7zP4lojjLaeg0SWYUNWtVv<u></u>60<u></u>DO<br>
KR1R6mWmbp8LcKsWNFCS9WBrbIPFP5<u></u><u></u>k0lelTQZTqvoUtlM452KIHDmFCxm+/<u></u><u></u>Tdpj<br>
aDZzu1CixLBCCnsL+<u></u>xU5KSDGTicogO<u></u>1q1cSwvyyIV6yPK2g<u></u>C+xt0/<u></u>heTITJHC2nh<br>
+Wy+<u></u>MAEwrhHZcM25aORbWnuJgjHWuL<u></u>A0Y/<u></u>Boy3AcYCXqkgO+3a49VdqS/+<u></u>QuCgzu<br>
+GLF6DX2jyyBrLPt/z1Xvjy+BK+<u></u>qx4<u></u>iddqEr5i5db+<u></u>OfxNn3zcshBDvl1cKE<u></u>d4vu<br>
KILQqghzZGl0DzM6Y7Vwdk/<u></u>QdtyOxv<u></u>BGoGioYDnQVMQ06t4Nn9Y0w<u></u>cKz4C6I<u></u>euAj<br>
THuB7UDbeM3rtL5c/pCGVvonKH09/<u></u>p<u></u>eycM2q+U/SI/gZ0Ow+u6U2/<u></u>Whq22OT<u></u>zbeq<br>
NyKyJl48UsrVHAyk3PSZUNFfz8EpDP<u></u><u></u>+<u></u>qRVtZ5lkvLb4CPArqVXrq6XAYpifw<u></u>p<u></u>oJZ<br>
Ra4uhYptMjHMunWW/<u></u>wZzCCQMUGjUNx<u></u>1nIyi06ITfOtKoX2m<u></u>T4zOf0/<u></u>yWmUocu+4X<br>
fRPMwalh+<u></u>9cT9TCwIqTZAuugDgBWqC<u></u>jPGO12z6A<u></u>uhL7hugHIeAwKB4gxS77v<u></u>8MiB<br>
eZHc3ChvOE3WN0FEotZkrBWGLZlbyE<u></u><u></u>HInydyVovVT/<u></u>9Wof9cMCZDkYbVoSKO<u></u>VAb2<br>
bk3WvNvq6+4=<br>
=gevo<br>
-----END PGP SIGNATURE-----<br>
______________________________<u></u><u></u>_________________<br>
The cryptography mailing list<br>
<a href="mailto:cryptography@metzdowd.com" target="_blank">cryptography@metzdowd.com</a><br>
<a href="http://www.metzdowd.com/mailman/listinfo/cryptography" target="_blank">http://www.metzdowd.com/<u></u>mailma<u></u>n/listinfo/cryptography</a><br>
</blockquote></div></div>