{"id":10847,"date":"2013-09-19T14:23:55","date_gmt":"2013-09-19T19:23:55","guid":{"rendered":"https:\/\/www.sportsfirings.com\/?p=10847"},"modified":"2013-09-19T14:48:25","modified_gmt":"2013-09-19T19:48:25","slug":"any-one-who-considers-arithmetical-methods-of-producing-random-digits-is-of-course-in-a-state-of-sin","status":"publish","type":"post","link":"https:\/\/www.sportsfirings.com\/?p=10847","title":{"rendered":"&#8220;Any one who considers arithmetical methods of producing random digits is, of course, in a state of sin.&#8221;"},"content":{"rendered":"<p>There&#8217;s <a href=\"http:\/\/blog.cryptographyengineering.com\/2013\/09\/the-many-flaws-of-dualecdrbg.html\">an interesting post over at the Cryptographic Engineering blog about Duel-EC<\/a>.<\/p>\n<blockquote><p><a href=\"http:\/\/blog.cryptographyengineering.com\/2013\/09\/the-many-flaws-of-dualecdrbg.html\">For those not following the story, Dual-EC is a pseudorandom number generator proposed by NIST for international use back in 2006. Just a few months later, Shumow and Ferguson made cryptographic history by pointing out that there might be an NSA backdoor in the algorithm. This possibility &#8212; fairly remarkable for an algorithm of this type &#8212; looked bad and smelled worse. If true, it spelled almost certain doom for anyone relying on Dual-EC to keep their system safe from spying eyes.<\/a><\/p><\/blockquote>\n<p>The post itself is pretty wonky, but a couple of scattershot points:<\/p>\n<blockquote><p><a href=\"http:\/\/blog.cryptographyengineering.com\/2013\/09\/the-many-flaws-of-dualecdrbg.html\">Flaw #1: Dual-EC has no security proof.<br \/>\nLet me spell this out as clearly as I can. In the course of proposing this complex and slow new PRG where the only damn reason you&#8217;d ever use the thing is for its security reduction, NIST forgot to provide one. This is like selling someone a Mercedes and forgetting to attach the hood ornament.<\/a><\/p><\/blockquote>\n<blockquote><p><a href=\"http:\/\/blog.cryptographyengineering.com\/2013\/09\/the-many-flaws-of-dualecdrbg.html\">Flaw #3: You can guess the original EC point from looking at the output bits.<\/a><\/p><\/blockquote>\n<blockquote><p><a href=\"http:\/\/blog.cryptographyengineering.com\/2013\/09\/the-many-flaws-of-dualecdrbg.html\">Flaw #4: If you know a certain property about the Dual_EC parameters, and can recover an output point, you can predict all subsequent outputs of the generator.<\/a><\/p><\/blockquote>\n<p>&#8230;<\/p>\n<blockquote><p><a href=\"http:\/\/blog.cryptographyengineering.com\/2013\/09\/the-many-flaws-of-dualecdrbg.html\">This is a huge deal in the case of SSL\/TLS, for example. If I use the Dual-EC PRG to generate the &#8220;Client Random&#8221; nonce transmitted in the beginning of an SSL connection, then the NSA will be able to predict the &#8220;Pre-Master&#8221; secret that I&#8217;m going to generate during the RSA handshake. Given this information the connection is now a cleartext read. This is not good.<\/a><\/p><\/blockquote>\n<blockquote><p><a href=\"http:\/\/blog.cryptographyengineering.com\/2013\/09\/the-many-flaws-of-dualecdrbg.html\">Flaw #5: Nobody knows where the recommended parameters came from.<\/a><\/p><\/blockquote>\n<p>So does all of this amount to a backdoor? Quoth Matthew Green,<\/p>\n<blockquote><p>&#8230;<a href=\"http:\/\/blog.cryptographyengineering.com\/2013\/09\/the-many-flaws-of-dualecdrbg.html\">including some kind of hypothetical backdoor would be a horrible, horrific idea &#8212; one that would almost certainly blow back at us.<\/a><br \/>\n<a href=\"http:\/\/blog.cryptographyengineering.com\/2013\/09\/the-many-flaws-of-dualecdrbg.html\">You&#8217;d think people with common sense would realize this. Unfortunately we can&#8217;t count on that anymore.<\/a><\/p><\/blockquote>\n<p>(<a href=\"http:\/\/en.wikiquote.org\/wiki\/John_von_Neumann\">Subject line hattip<\/a>.)<\/p>\n<p>(You know, I&#8217;m halfway tempted to start a Kickstarter for a truly random random number generator. Something based off atomic decay, perhaps. What&#8217;s stopping me is:<\/p>\n<ol>\n<li>I have no electronics design skills or ability. Of course, I could hire someone, but&#8230;<\/li>\n<li>I&#8217;d be surprised if someone hasn&#8217;t already done this.)<\/li>\n<\/ol>\n<p>(Edited to add: You could just <a href=\"http:\/\/www.rand.org\/pubs\/monograph_reports\/MR1418.html\">get your random numbers from here<\/a>, of course, while you&#8217;re waiting for the revolution. Nothing wrong with <strong>that<\/strong> plan, is there?)<\/p>\n<p>(Speaking of Big John von Neumann, I just finished <strong><a href=\"http:\/\/www.amazon.com\/gp\/product\/1400075998\/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1400075998&amp;linkCode=as2&amp;tag=stainles-20\">Turing&#8217;s Cathedral: The Origins of the Digital Universe<\/a><img loading=\"lazy\" decoding=\"async\" style=\"border: none !important; margin: 0px !important;\" alt=\"\" src=\"http:\/\/ir-na.amazon-adsystem.com\/e\/ir?t=stainles-20&amp;l=as2&amp;o=1&amp;a=1400075998\" width=\"1\" height=\"1\" border=\"0\" \/><\/strong>, about the early history of computing, with a strong concentration on the Princeton Institute for Advanced Study and von Neumann&#8217;s work. It&#8217;s an interesting book &#8211; I think it serves as a good introductory biography of von Neumann. Dyson wanders a bit into the mystic towards the end, a little bit more than I would have liked, which prevents me from fully endorsing it. But if you liked <strong><a href=\"http:\/\/www.amazon.com\/gp\/product\/0805072845\/ref=as_li_ss_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0805072845&amp;linkCode=as2&amp;tag=stainles-20\">Project Orion: The True Story of the Atomic Spaceship<\/a><img loading=\"lazy\" decoding=\"async\" style=\"border: none !important; margin: 0px !important;\" alt=\"\" src=\"http:\/\/ir-na.amazon-adsystem.com\/e\/ir?t=stainles-20&amp;l=as2&amp;o=1&amp;a=0805072845\" width=\"1\" height=\"1\" border=\"0\" \/><\/strong>, you should enjoy this book as well.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s an interesting post over at the Cryptographic Engineering blog about Duel-EC. For those not following the story, Dual-EC is a pseudorandom number generator proposed by NIST for international use back in 2006. Just a few months later, Shumow and Ferguson made cryptographic history by pointing out that there might be an NSA backdoor in [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,14,155,12,65],"tags":[],"class_list":["post-10847","post","type-post","status-publish","format-standard","hentry","category-books","category-clippings","category-cryptography","category-geek","category-sarcasm"],"_links":{"self":[{"href":"https:\/\/www.sportsfirings.com\/index.php?rest_route=\/wp\/v2\/posts\/10847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sportsfirings.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sportsfirings.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sportsfirings.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sportsfirings.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10847"}],"version-history":[{"count":6,"href":"https:\/\/www.sportsfirings.com\/index.php?rest_route=\/wp\/v2\/posts\/10847\/revisions"}],"predecessor-version":[{"id":10853,"href":"https:\/\/www.sportsfirings.com\/index.php?rest_route=\/wp\/v2\/posts\/10847\/revisions\/10853"}],"wp:attachment":[{"href":"https:\/\/www.sportsfirings.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sportsfirings.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sportsfirings.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}