<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> </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. Not too much going on at the moment. I’m still the team leader but the group has been very quiet for some time. I haven’t had time to spend on it lately. At some point we started working on a better random generator that takes in multiple sources of input; Fortuna based on Schneier’s book. Never got around to finishing it. I think Chris’s Secure Random was also based on the same model and he did a version of Fortuna but never did the proper entropy gathering. It’s been a while so if I’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> </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. See gatherEntropy: which was done by Andreas. It uses platform specific implementations so it’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> </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. (Well actually an attack at the endpoint is more likely but that’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> </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> </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> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </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> </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> </o:p></p><div><p class=MsoNormal>2013/11/19 Frank Shearar <<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>><o:p></o:p></p><p class=MsoNormal>That's why I used the phrase "better encapsulated" :) 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 "get your<br>randomness here", 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'><<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>> wrote:<br>> It's because crypto must not rely on pseudo random generated numbers, they<br>> are considered too easy to crack.<br>> I guess that sound input was seen as a universal way to get some hardware<br>> noise...<br>> Nowadays, shouldn't it be something like /dev/random?<br>><br>><br>> 2013/11/19 Frank Shearar <<a href="mailto:frank.shearar@gmail.com">frank.shearar@gmail.com</a>><br>>><br>>> Does anyone know the current state of play of the crypto team?<br>>><br>>> We have a DSA implementation in "System-Digital Signatures" that<br>>> should belong in a package called "Crypto-Something", but if the other<br>>> stuff was better I'd rather delete this and use the proper stuff.<br>>><br>>> Also, we need a better encapsulated source of randomness than<br>>> "SoundService default randomBitsFromSoundInput: 512" because crypto<br>>> shouldn't depend on a sound package. I don't care if something _plugs<br>>> that in_, but the direct reference is suboptimal.<br>>><br>>> frank<br>>><br>><br>><br>><br>><o:p></o:p></p></div></div></div><p class=MsoNormal><o:p> </o:p></p></div></div></div></body></html>