{"id":9,"date":"2005-04-21T18:26:33","date_gmt":"2005-04-21T18:26:33","guid":{"rendered":"http:\/\/warrenmyers.com\/blog\/?p=9"},"modified":"2005-04-21T18:26:33","modified_gmt":"2005-04-21T18:26:33","slug":"first-hashing-follow-up","status":"publish","type":"post","link":"https:\/\/merikebi.warrenmyers.com\/?p=9","title":{"rendered":"First hashing follow-up"},"content":{"rendered":"<p>In speaking with one of my professors this afternoon, and in re-reading the one-way hash chapter in Bruce Schneier&#8217;s excellent book <em>Applied Cryptography<\/em>, I&#8217;ve discovered that the only reasonable way of writing my hashing algorithm is to stick to chunks that are register-sized, or at most the size of all of the available registers (4 on IA32). Implementing such an algorithm, then, will limit me to 128-bit operations on an x86 processor, and having to join the two halves of the hash together to build the entire 256-bit signature. While this isn&#8217;t ideal, it&#8217;s substantially faster than the methods I wrote about yesterday, which amount to building a virtual machine for my algorithm to run inside of.<\/p>\n<p>I am now reworking my algorithm a bit to comply with these new restrictions. Until somebody goes off and builds a processor for general use like the one I describe in my second <a href=\"http:\/\/cnx.rice.edu\/content\/m12460\/latest\">Connexions paper<\/a> (though IBM&#8217;s new Cell architecture is close), I&#8217;ll need to work within these restricted rules. I&#8217;m going to write reference implementations of the algorithm for x86, x86-64, and PowerPC architectures over the next several days, and publish them along with the design criteria and algorithm specification here on my website.<\/p>\n<p>&#8220;Science is facts; just as houses are made of stones, so is science made of facts; but a pile of stones is not a house and a collection of facts is not necessarily science.&#8221; &#8211;Henri Poincare<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In speaking with one of my professors this afternoon, and in re-reading the one-way hash chapter in Bruce Schneier&#8217;s excellent book Applied Cryptography, I&#8217;ve discovered that the only reasonable way of writing my hashing algorithm is to stick to chunks that are register-sized, or at most the size of all of the available registers (4 &hellip;<br \/><a href=\"https:\/\/merikebi.warrenmyers.com\/?p=9\" class=\"more-link pen_button pen_element_default pen_icon_arrow_double\">Continue reading <span class=\"screen-reader-text\">First hashing follow-up<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[41],"tags":[],"keyring_services":[],"class_list":["post-9","post","type-post","status-publish","format-standard","hentry","category-technical"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=9"}],"version-history":[{"count":0,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts\/9\/revisions"}],"wp:attachment":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fkeyring_services&post=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}