<div dir="ltr">All,<div><br></div><div>As most probably know the OpenBSD guys are developing a fork of OpenSSL 1.0.1g called LibreSSL:</div><ul><li>OpenSSL 1.0.1g was a 388,00 line code base.<br></li><li>About 90,000 lines of C source code deleted, about 150,000 lines of files.<br>


</li><li>Approximately at 500,000 line unifigg from 1.0.1g at this point.<br></li><li>Many bugs fixed<br></li><li>The cleaning continues, but we have now started adding new features (ciphers)<br></li><li>The code has become more readable - portions still remain scary.</li>


</ul><div>(<a href="http://www.openbsd.org/papers/bsdcan14-libressl/mgp00026.html" target="_blank">http://www.openbsd.org/papers/bsdcan14-libressl/mgp00026.html</a>)</div><div><br></div><div>Notably for this forum:</div>

<div><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px">
<div>OpenSSL's attempt to be a random subsystem resulted in all sorts of horrors:</div></blockquote><ul><li>EGD considered harmful - really, userland has no business in this.<br></li><li>Library can decide "Oh Noes, We need something random..." and then:<br>

</li><li>Your RSA Private key is pretty random<br></li></ul><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><blockquote style="margin:0 0 0 40px;border:none;padding:0px">char seed[] = "String to Give the Random Number Generator Randomness";</blockquote>

<blockquote style="margin:0 0 0 40px;border:none;padding:0px">gitpid();</blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px">gettimeofday();</blockquote></blockquote><ul><li>Since many of these were always "there" - these become an attack target - modify the word to enable them and you have predictable key generation<br>

</li></ul><br>

<div>(<a href="http://www.openbsd.org/papers/bsdcan14-libressl/mgp00017.html" target="_blank">http://www.openbsd.org/papers/bsdcan14-libressl/mgp00017.html</a>)</div><div>  </div><div>They are naturally focusing on OpenBSD compatibility, which will necessarily delay any ports back to Linux and other OSes:</div>


<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>We are looking for funding commitment to:</div></blockquote><div><ul><li>Sponsor several developers to re-write some key pieces of the codebase<br>

</li><li>Sponsor some efforts of the portability/ports people to track the effects of changes through the ports tree and push changes upstream.<br></li><li>In a nutshell, a significant funding commitment for a couple of years. We would like to speed the rewrite of this library but not at the expense of our usual resources to maintain OpenBSD, OpenSSH and related projects.<br>

</li><li>Yes we have asked the Linux Foundation. They have not yet committed to support us.</li></ul></div><div>(<a href="http://www.openbsd.org/papers/bsdcan14-libressl/mgp00033.html" target="_blank">http://www.openbsd.org/papers/bsdcan14-libressl/mgp00033.html</a>)</div>


<div><br></div><div>Regards,</div><div>Gary</div><div><br></div></div>