<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Allicient &#187; AHS</title>
	<atom:link href="http://www.allicient.co.uk/tag/ahs/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.allicient.co.uk</link>
	<description>Peter Maxwell's Information Security Site</description>
	<lastBuildDate>Wed, 16 Jun 2010 13:13:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sgàil Revisions &amp; Corrections</title>
		<link>http://www.allicient.co.uk/2009/01/21/sgail-revisions-corrections/</link>
		<comments>http://www.allicient.co.uk/2009/01/21/sgail-revisions-corrections/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 00:59:55 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Cryptography]]></category>
		<category><![CDATA[AHS]]></category>
		<category><![CDATA[cryptology]]></category>
		<category><![CDATA[hash algorithm]]></category>
		<category><![CDATA[hash competition]]></category>
		<category><![CDATA[NIST]]></category>
		<category><![CDATA[secure hash algorithm]]></category>
		<category><![CDATA[Sgàil]]></category>
		<category><![CDATA[SHA-3]]></category>
		<category><![CDATA[SHA-3 Zoo]]></category>

		<guid isPermaLink="false">http://www.allicient.co.uk/?p=104</guid>
		<description><![CDATA[Well, its finally been done &#8211; Sgàil has been updated to fix the error described in this post which allowed second pre-image and collision attacks.  An error in the reference implementation has been remedied, and a number of typographical corrections have been made to the specification.  The known answer tests and intermediate value [...]]]></description>
			<content:encoded><![CDATA[<p>Well, its finally been done &#8211; Sgàil has been updated to fix the error described in <a href="http://www.allicient.co.uk/2008/11/05/aww-psh/">this post</a> which allowed second pre-image and collision attacks.  An error in the reference implementation has been remedied, and a number of typographical corrections have been made to the specification.  The known answer tests and intermediate value results have also been regenerated.</p>
<p>Although version 0.4 is considered to be immune to the previous design error and was submitted to NIST, it has not yet been approved/rejected as an official change.  Updates will be posted as they happen.</p>
<p>Changelogs have been included in the Supporting_Documentation directory.</p>
<p>The performance of the reference implementation has dropped from 62 cycles/byte to 71 cycles/byte in asymptopic behaviour due to the corrections made to the key schedule.  It is expected that an optimised version can improve this to at least 40 cycles/byte; I&#8217;m looking at coding this in the near future.</p>
<p>UPDATED 11th December 2009: I really should have updated this about six months ago; the corrections were not accepted by NIST and Sgàil did <strong>not</strong> progress to Round 2.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.allicient.co.uk/2009/01/21/sgail-revisions-corrections/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aww, p*sh! [Sgàil: trivial collision in original submission]</title>
		<link>http://www.allicient.co.uk/2008/11/05/aww-psh/</link>
		<comments>http://www.allicient.co.uk/2008/11/05/aww-psh/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 17:45:16 +0000</pubDate>
		<dc:creator>peter</dc:creator>
				<category><![CDATA[Cryptography]]></category>
		<category><![CDATA[AHS]]></category>
		<category><![CDATA[collision]]></category>
		<category><![CDATA[cryptology]]></category>
		<category><![CDATA[hash algorithm]]></category>
		<category><![CDATA[hash competition]]></category>
		<category><![CDATA[NIST]]></category>
		<category><![CDATA[second pre-image]]></category>
		<category><![CDATA[secure hash algorithm]]></category>
		<category><![CDATA[Sgàil]]></category>
		<category><![CDATA[SHA-3]]></category>
		<category><![CDATA[SHA-3 Zoo]]></category>

		<guid isPermaLink="false">http://www.allicient.co.uk/?p=73</guid>
		<description><![CDATA[Sgàil, my submission to NIST&#8217;s SHA-3 competition, unfortunately has an error in it which makes finding a collision or second pre-image trivial.  The error crept in when I&#8217;d decided to change the key schedule late on from being a tree structure to a simple double block processing.
The measure which had originally protected the tree structure [...]]]></description>
			<content:encoded><![CDATA[<p>Sgàil, my submission to NIST&#8217;s SHA-3 competition, unfortunately has an error in it which makes finding a collision or second pre-image trivial.  The error crept in when I&#8217;d decided to change the key schedule late on from being a tree structure to a simple double block processing.</p>
<p>The measure which had originally protected the tree structure from block interchanges &#8211; the preliminary key &#8211; was unique for each 2048-bit block.  Unfortunately when redesigning the algorithm, I&#8217;d neglected to process a preliminary key for each 2048-bit block and instead processed a single preliminary key for each 4096-bit block.  The process where the 4096-bit block is reduced to the 2048-bit principle key uses the same preliminary key for both 2048-bit halves of the 4096-bit block, where they should have been different.  Hence the 2048-bit input pair is interchangable.</p>
<p>The resolution is to process a preliminary key for each 2048-bit input block and update the block counter at each 2048-bit input block rather than at each 4096-bit block.  The performance wouldn&#8217;t be significantly altered.  However since the submission deadline has now lapsed, I doubt any modifications will be accepted.</p>
<p>The following code generates a collision:</p>
<p>&#8212;&#8212;-</p>
<p>int main() {</p>
<p>u8 data__a[ SGAIL__INPUT_BLOCK__SIZE * 2 ];<br />
u8 data__b[ SGAIL__INPUT_BLOCK__SIZE * 2 ];<br />
u8 result__a[ 64 ];<br />
u8 result__b[ 64 ];</p>
<p>memset( data__a, 0, SGAIL__INPUT_BLOCK__SIZE * 2  );<br />
memset( data__b, 0, SGAIL__INPUT_BLOCK__SIZE * 2  );</p>
<p>data__a[ 0 ] = 1;<br />
data__a[ 256 ] = 2;</p>
<p>data__b[ 0 ] = 2;<br />
data__b[ 256 ] = 1;</p>
<p>Hash( 512, data__a, ( SGAIL__INPUT_BLOCK__SIZE * 2 ) * 8, result__a );<br />
Hash( 512, data__b, ( SGAIL__INPUT_BLOCK__SIZE * 2 ) * 8, result__b );</p>
<p>do__display_512_bit_hash__byte_wise( result__a );<br />
do__display_512_bit_hash__byte_wise( result__b );</p>
<p>}<br />
&#8212;&#8212;&#8211;</p>
<p>I will post a revision of Sgàil in the next few days with the error fixed, although I don&#8217;t know of its applicability as concerns the SHA-3 competition.</p>
<p>UPDATED 21st November 2008: Ok, maybe a bit more than a few days, keep getting side-tracked.  Will upload new revision once have fixed the specification document.</p>
<p>UPDATED 21st January 2009: Version 0.4 has been released <a href="http://www.allicient.co.uk/2009/01/21/sgail-revisions-corrections/">here</a> which corrects this error&#8230;. enjoy <img src='http://www.allicient.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>UPDATED 12th April 2010: Added [] extra meaning in title.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.allicient.co.uk/2008/11/05/aww-psh/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
