<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Corbel;
        panose-1:2 11 5 3 2 2 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi Frank,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>As for status of the Crypto team.&nbsp; Not too much going on at the moment. &nbsp;&nbsp;I&#8217;m still the team leader but the group has been very quiet for some time.&nbsp; I haven&#8217;t had time to spend on it lately.&nbsp; At some point we started working on a better random generator that takes in multiple sources of input; Fortuna based on Schneier&#8217;s book.&nbsp; Never got around to finishing it.&nbsp; I think Chris&#8217;s Secure Random was also based on the same model and he did a version of Fortuna but never did the proper entropy gathering.&nbsp; It&#8217;s been a while so if I&#8217;m wrong please feel free to correct me.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>There is a plugin implementation available on the croquet plugin.&nbsp; See gatherEntropy: which was done by Andreas.&nbsp; It uses platform specific implementations so it&#8217;s a pretty good choice. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>We really should finish this work since any real attack on security starts with bad random number generators.&nbsp; (Well actually an attack at the endpoint is more likely but that&#8217;s a different email).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>All the best,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:14.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><b><span style='font-size:14.0pt;font-family:"Corbel","sans-serif";color:#4F81BD'>Ron Teitelbaum<o:p></o:p></span></b></p><p class=MsoNormal><i><span style='font-size:9.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Head Of Engineering<o:p></o:p></span></i></p><p class=MsoNormal><b><span style='font-size:9.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>3d Immersive Collaboration Consulting<o:p></o:p></span></b></p><p class=MsoNormal><span style='font-size:8.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><a href="mailto:ron@3dicc.com"><span style='color:blue'>ron@3dicc.com</span></a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:8.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Follow Me On Twitter: <a href="https://twitter.com/RonTeitelbaum"><span style='color:blue'>@RonTeitelbaum</span></a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:8.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><a href="http://www.3dicc.com/"><span style='color:blue'>www.3dicc.com</span></a> <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:8.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><a href="https://plus.google.com/u/0/b/108936249366287171125/108936249366287171125/posts"><span style='color:blue'>3d ICC on G+</span></a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> squeak-dev-bounces@lists.squeakfoundation.org [mailto:squeak-dev-bounces@lists.squeakfoundation.org] <b>On Behalf Of </b>Nicolas Cellier<br><b>Sent:</b> Tuesday, November 19, 2013 4:43 PM<br><b>To:</b> The general-purpose Squeak developers list<br><b>Subject:</b> Re: [squeak-dev] Crypto support?<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p><div><div><div><div><p class=MsoNormal>Sure that makes sense. Historically there were no such service in the System.<br>I wanted to remind that crypto has to care that randomness comes from sufficiently random source, not just a random random source.<o:p></o:p></p></div><p class=MsoNormal>If the contract is explicit enough (Smalltalk cryptoLevelRandom?), then it can move to the System.<o:p></o:p></p></div><p class=MsoNormal>But would it serve other purpose than crypto?<o:p></o:p></p></div><p class=MsoNormal>I would rather implement a CryptoRandom class part of Crypto package, either via plugin or FFI to wrap over /dev/random or equivalent...<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p><div><p class=MsoNormal>2013/11/19 Frank Shearar &lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;<o:p></o:p></p><p class=MsoNormal>That's why I used the phrase &quot;better encapsulated&quot; :) I don't care<br>particularly _where_ the randomness comes from (and on a Unix machine,<br>/dev/random or /dev/urandom (I can't remember which) is the proper<br>place). I just really, really don't want a Crypto package depending on<br>a Sound package. So if System supplied a hook that declared &quot;get your<br>randomness here&quot;, and the base image _happened_ to connect that to<br>one's mic, that would be OK. But the direct dependency is bonkers.<br><br>frank<br><br>On 19 November 2013 21:27, Nicolas Cellier<o:p></o:p></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'>&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt; wrote:<br>&gt; It's because crypto must not rely on pseudo random generated numbers, they<br>&gt; are considered too easy to crack.<br>&gt; I guess that sound input was seen as a universal way to get some hardware<br>&gt; noise...<br>&gt; Nowadays, shouldn't it be something like /dev/random?<br>&gt;<br>&gt;<br>&gt; 2013/11/19 Frank Shearar &lt;<a href="mailto:frank.shearar@gmail.com">frank.shearar@gmail.com</a>&gt;<br>&gt;&gt;<br>&gt;&gt; Does anyone know the current state of play of the crypto team?<br>&gt;&gt;<br>&gt;&gt; We have a DSA implementation in &quot;System-Digital Signatures&quot; that<br>&gt;&gt; should belong in a package called &quot;Crypto-Something&quot;, but if the other<br>&gt;&gt; stuff was better I'd rather delete this and use the proper stuff.<br>&gt;&gt;<br>&gt;&gt; Also, we need a better encapsulated source of randomness than<br>&gt;&gt; &quot;SoundService default randomBitsFromSoundInput: 512&quot; because crypto<br>&gt;&gt; shouldn't depend on a sound package. I don't care if something _plugs<br>&gt;&gt; that in_, but the direct reference is suboptimal.<br>&gt;&gt;<br>&gt;&gt; frank<br>&gt;&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt;<o:p></o:p></p></div></div></div><p class=MsoNormal><o:p>&nbsp;</o:p></p></div></div></div></body></html>