{"id":3450,"date":"2005-04-25T18:28:57","date_gmt":"2005-04-25T18:28:57","guid":{"rendered":"http:\/\/warrenmyers.com\/blog\/?p=13"},"modified":"2005-04-25T18:28:57","modified_gmt":"2005-04-25T18:28:57","slug":"wolf1-almost-done-and-wolf2-proposed","status":"publish","type":"post","link":"https:\/\/merikebi.warrenmyers.com\/?p=3450","title":{"rendered":"Wolf1 almost done, and Wolf2 proposed"},"content":{"rendered":"<p>I have been working on finishing the imlpementation of my first one-way hash algorithm, named Wolf1. Over the weekend, I devised a second algorithm, aptly named Wolf2, which will be debuting on my website at the same time Wolf1 appears. The general form for Wolf1 is as follows:<\/p>\n<p><code>Wolf1 is a 256-bit one-way hash algorithm, which operates on 8 32-bit chunks, and uses the following special constants C0..3:<\/code><br \/>\n<code> C0 - 0x5538a3e5 0xf1ef632f 0x7df8a258 0xcef9c7ba 0x765f5cda 0x497fecf2 0xfa989ea3 0xd594974e<\/code><br \/>\n<code> C1 - 0xc1eac8f1 0xc9858068 0xc9858d68 0xf489d67b 0x16a22887 0x998aa773 0x342df4ad 0x9169f4b5<\/code><br \/>\n<code> C2 - 0xc3566e73 0xb8b539b1 0xf19dbaa9 0xb7252916 0x8b3156be 0x6b3163b7 0x59318bb2 0xa4e99a7a<\/code><br \/>\n<code> C3 - 0xc477357d 0x7a69bc6c 0x6bca3744 0xb2a0d222 0xc9a8a8b3 0x613b5ad5 0x68588990 0xbc486357<\/code><br \/>\n<code> an additional special constant R is defined as follows:<\/code><br \/>\n<code> R = (C0 ^ C1) + (C2 ^ C3)<\/code><br \/>\n<code> The following functions are defined:<\/code><br \/>\n<code> F1 (B,K,C0) -&gt; B = (B ^ K) + C0<\/code><br \/>\n<code> F2 (K,B,C1) -&gt; K = (K + B) ^ C1<\/code><br \/>\n<code> F3 (C0,C2,K) -&gt; C0 = (C0 ^ C2) + K<\/code><br \/>\n<code> F4 (C1,C3,B) -&gt; C1 = C1 ^ (B + C3)<\/code><br \/>\n<code> F5 (C2,B,K) -&gt; C2 = (B - C2) + K<\/code><br \/>\n<code> F6 (C3,B,R) -&gt; C3 = (C3 + B) - R<\/code><br \/>\n<code> F7 (R,C0,C1,C2,C3) -&gt; R = (C0 ^ C1) + (C2 ^ C3)<\/code><br \/>\n<code> After the functions F1..7 are performed on the current block B, the following rotations are applied per 32-bit chunk:<\/code><br \/>\n<code> if right-most bit is 1, rotate left by 1,3,5,7 bits, the value of the right-most 3 bits<\/code><br \/>\n<code> else rotate right by 0,2,4,6 bits, the value of the right-most 3 bits<\/code><br \/>\n<code> Other special values:<\/code><br \/>\n<code> A - ASCII sum of file contents, a 32-bit value<\/code><br \/>\n<code> S - size in bits of file, a 32-bit value<\/code><br \/>\n<code> Special rules:<\/code><br \/>\n<code> the last block is the last chunk of the file padded to exactly 192 bits with repeating pattern of 10..<\/code><br \/>\n<code> the last 64 bits of the last block is A &amp; S appended to the 192-bit chunk to make 256-bit block<\/code><br \/>\n<code> Hash signature is the final value of K<\/code><\/p>\n<p>That&#8217;s quite a mouthful, but it describes the full algorithm. Wolf2&#8217;s specification will be published in a few days.<\/p>\n<p>I am specifically looking for people to analyze the algorithm, and tell me of any problems with it. Being just an amateur, I can&#8217;t really predict the cryptographic strength of any algorithm I propose, though I can do some statistical tests. I don&#8217;t understand linear or differential cryptanalytic techniques, though I would like to learn how they work. If anyone can give a response as to the security\/one-wayness of the algorithm, and collision resistance, resistance to breaking, I would greatly appreciate it.<\/p>\n<p>&#8220;God may not play dice with the universe, but something strange is going on with the prime numbers.&#8221; &#8211;Paul Erd\u0151s<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been working on finishing the imlpementation of my first one-way hash algorithm, named Wolf1. Over the weekend, I devised a second algorithm, aptly named Wolf2, which will be debuting on my website at the same time Wolf1 appears. The general form for Wolf1 is as follows: Wolf1 is a 256-bit one-way hash algorithm, &hellip;<br \/><a href=\"https:\/\/merikebi.warrenmyers.com\/?p=3450\" class=\"more-link pen_button pen_element_default pen_icon_arrow_double\">Continue reading <span class=\"screen-reader-text\">Wolf1 almost done, and Wolf2 proposed<\/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-3450","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\/3450","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=3450"}],"version-history":[{"count":0,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=\/wp\/v2\/posts\/3450\/revisions"}],"wp:attachment":[{"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3450"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3450"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3450"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/merikebi.warrenmyers.com\/index.php?rest_route=%2Fwp%2Fv2%2Fkeyring_services&post=3450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}