<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	>
<channel>
	<title>Comments on: keksum, a Keccak implementation in C as standalone Unix utility: genesis</title>
	<atom:link href="http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/feed/" rel="self" type="application/rss+xml" />
	<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/</link>
	<description>The search for invariants</description>
	<pubDate>Sun, 19 Apr 2026 03:47:16 +0000</pubDate>
	<generator>http://polimedia.us</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: That, in a word, is the corner that I'm painted into, even though this seems an incredibly obscure situation of having a top-level macro which inserts a top-level definition, which may or may not be previously defined and depends on the interpreter's inte</title>
		<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/#comment-2989</link>
		<dc:creator>That, in a word, is the corner that I'm painted into, even though this seems an incredibly obscure situation of having a top-level macro which inserts a top-level definition, which may or may not be previously defined and depends on the interpreter's inte</dc:creator>
		<pubDate>Tue, 26 Nov 2024 21:54:20 +0000</pubDate>
		<guid isPermaLink="false">http://fixpoint.welshcomputing.com/?p=70#comment-2989</guid>
		<description>[...] Result of a keksum [...]</description>
		<content:encoded><![CDATA[<p>[...] Result of a keksum [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: File-level error recovery for keksum &#171; Fixpoint</title>
		<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/#comment-2605</link>
		<dc:creator>File-level error recovery for keksum &#171; Fixpoint</dc:creator>
		<pubDate>Sat, 09 Mar 2024 21:03:30 +0000</pubDate>
		<guid isPermaLink="false">http://fixpoint.welshcomputing.com/?p=70#comment-2605</guid>
		<description>[...] experience using and teaching with my keksum utility informed that its main deficiency was not in fact the lack of an equivalent to GNU's old [...]</description>
		<content:encoded><![CDATA[<p>[...] experience using and teaching with my keksum utility informed that its main deficiency was not in fact the lack of an equivalent to GNU's old [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: The simplest way yet to fetch Bitcoin code &#171; Fixpoint</title>
		<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/#comment-1960</link>
		<dc:creator>The simplest way yet to fetch Bitcoin code &#171; Fixpoint</dc:creator>
		<pubDate>Fri, 04 Feb 2022 00:22:04 +0000</pubDate>
		<guid isPermaLink="false">http://fixpoint.welshcomputing.com/?p=70#comment-1960</guid>
		<description>[...] keksum - for verifying patch output hashes; as a concession to the bootstrapping conundrum, this checking is skipped with a warning displayed if this utility is not found on the system. (Signatures are always checked.) [...]</description>
		<content:encoded><![CDATA[<p>[...] keksum - for verifying patch output hashes; as a concession to the bootstrapping conundrum, this checking is skipped with a warning displayed if this utility is not found on the system. (Signatures are always checked.) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: EuCrypt addition: Keccak File Hashing &#171; Ossa Sepia</title>
		<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/#comment-300</link>
		<dc:creator>EuCrypt addition: Keccak File Hashing &#171; Ossa Sepia</dc:creator>
		<pubDate>Wed, 08 Jul 2020 13:37:55 +0000</pubDate>
		<guid isPermaLink="false">http://fixpoint.welshcomputing.com/?p=70#comment-300</guid>
		<description>[...] of files both raw and in the more usual numerical format (e.g. hex as given for instance by the keksum implementation). More importantly for me, Eulora's client can now check the hash of a received file [...]</description>
		<content:encoded><![CDATA[<p>[...] of files both raw and in the more usual numerical format (e.g. hex as given for instance by the keksum implementation). More importantly for me, Eulora's client can now check the hash of a received file [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: V in Perl with parsing fix, keksum, and starter, plus the ill-fated vdiff &#171; Fixpoint</title>
		<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/#comment-230</link>
		<dc:creator>V in Perl with parsing fix, keksum, and starter, plus the ill-fated vdiff &#171; Fixpoint</dc:creator>
		<pubDate>Thu, 02 Apr 2020 17:50:44 +0000</pubDate>
		<guid isPermaLink="false">http://fixpoint.welshcomputing.com/?p=70#comment-230</guid>
		<description>[...] second patch, "v_keksum_busybox", swaps keksum and patch in for ksum and vpatch, making V presses possible again on systems with little more than [...]</description>
		<content:encoded><![CDATA[<p>[...] second patch, "v_keksum_busybox", swaps keksum and patch in for ksum and vpatch, making V presses possible again on systems with little more than [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adventures in the forest of V &#171; Fixpoint</title>
		<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/#comment-222</link>
		<dc:creator>Adventures in the forest of V &#171; Fixpoint</dc:creator>
		<pubDate>Tue, 31 Mar 2020 19:11:11 +0000</pubDate>
		<guid isPermaLink="false">http://fixpoint.welshcomputing.com/?p=70#comment-222</guid>
		<description>[...] to press the Bitcoin code, or rather the VTree that grew from it, swap out the hash with my own keksum so as to avoid a hefty and otherwise unnecessary GNAT requirement, add my version of the classic [...]</description>
		<content:encoded><![CDATA[<p>[...] to press the Bitcoin code, or rather the VTree that grew from it, swap out the hash with my own keksum so as to avoid a hefty and otherwise unnecessary GNAT requirement, add my version of the classic [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: From the forum log, 24-26 December 2019 &#171; Fixpoint</title>
		<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/#comment-171</link>
		<dc:creator>From the forum log, 24-26 December 2019 &#171; Fixpoint</dc:creator>
		<pubDate>Sun, 26 Jan 2020 02:41:00 +0000</pubDate>
		<guid isPermaLink="false">http://fixpoint.welshcomputing.com/?p=70#comment-171</guid>
		<description>[...] signed and mirrored jfw's updated keksum genesis and noted he had borked the article [...]</description>
		<content:encoded><![CDATA[<p>[...] signed and mirrored jfw's updated keksum genesis and noted he had borked the article [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacob Welsh</title>
		<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/#comment-138</link>
		<dc:creator>Jacob Welsh</dc:creator>
		<pubDate>Thu, 19 Dec 2019 11:43:54 +0000</pubDate>
		<guid isPermaLink="false">http://fixpoint.welshcomputing.com/?p=70#comment-138</guid>
		<description>Updated to fix the noted problems except for &lt;a href="http://ossasepia.com/2020/04/21/ossasepia-logs-for-18-Dec-2019#1013482" rel="nofollow"&gt;improved full-program tests&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>Updated to fix the noted problems except for <a href="http://ossasepia.com/2020/04/21/ossasepia-logs-for-18-Dec-2019#1013482" rel="nofollow">improved full-program tests</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacob Welsh</title>
		<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/#comment-128</link>
		<dc:creator>Jacob Welsh</dc:creator>
		<pubDate>Sun, 15 Dec 2019 20:45:50 +0000</pubDate>
		<guid isPermaLink="false">http://fixpoint.welshcomputing.com/?p=70#comment-128</guid>
		<description>Will Haack &lt;a href="http://ossasepia.com/2020/04/21/ossasepia-logs-for-13-Dec-2019#1012909" rel="nofollow"&gt;reports&lt;/a&gt; successful build and run on OSX 10.9 after removal of -static from LDFLAGS in the Makefile. Some hitches were encountered in getting the tests to run.

From &lt;a href="http://ossasepia.com/2020/04/21/ossasepia-logs-for-14-Dec-2019#1013020" rel="nofollow"&gt;the #o log&lt;/a&gt; :

&lt;strong&gt;diana_coman&lt;/strong&gt;: jfw: I went through your keksum proggy and it's been quite a pleasure really; a few nitpicks on top of those: 1. why default/fallthrough on "bad option" instead of the more useful help option? 2. you have nicely \t everywhere except in usage_err in main.c where it's \s 3. just out of curiosity really since otherwise it's of course not a problem at all: since you unrolled various bits basically + made the table for rho, how/why did you choose where to stop with the unrolling anyway? and why not use the constants for iota instead of calc each time (ie lfsr)? 4. why oh why only self-gen test? not like there weren't values and/or ways to obtain them, lolz!
&lt;strong&gt;diana_coman&lt;/strong&gt;: jfw: anyways, once you regrind perhaps to fix the test at least, I'll gladly sign and mirror it.

&lt;strong&gt;jfw&lt;/strong&gt;: 1. usage_err does show the help, but returns a failure status whereas explicit help returns success.
&lt;strong&gt;jfw&lt;/strong&gt;: 2. mixed spaces and tab too, good catch!
&lt;strong&gt;jfw&lt;/strong&gt;: 3. iirc I unrolled where it would allow precomputing arithmetic and especially mod-5 ops in inner loops. Iota does relatively little work, just touching one lane per round, so I preferred to keep it in 'source' form rather than magic numbers which you'd then have to verify against someone else's.
&lt;strong&gt;jfw&lt;/strong&gt;: The table in rho I cribbed straight from the pdf.
&lt;strong&gt;jfw&lt;/strong&gt;: 4. just to clarify, I did use the provided tests for the permutation, but don't recall seeing any for the sponge, perhaps I should look harder.

&lt;strong&gt;jfw&lt;/strong&gt;: "It seems you forgot to update the expected test hash in test-sponge.sh so now the test will fail." - yep, that's what I meant in &lt;a href="http://ossasepia.com/2020/04/21/ossasepia-logs-for-13-Dec-2019#1012925" rel="nofollow"&gt;http://logs.ossasepia.com/log/ossasepia/2019-12-13#1012925&lt;/a&gt;
&lt;strong&gt;ossabot&lt;/strong&gt;: Logged on 2019-12-13 17:32:13 jfw: gah, one test broken anyway by the default capacity change, but otherwise working for me, let me check on those errors.

&lt;strong&gt;jfw&lt;/strong&gt;: "why the -Woverlength-strings in main.c, isn't that included in -pedantic" - the way the pragma works is to *disable* that warning as it's tripped by the help text. The 'wat' expands to roughly: 'why does c89 allow compilers to limit strings to something as low as 509 characters? wtf am I supposed to do about this? I have no intention of supporting such broken compilers, next they'll be limiting source file length too.'</description>
		<content:encoded><![CDATA[<p>Will Haack <a href="http://ossasepia.com/2020/04/21/ossasepia-logs-for-13-Dec-2019#1012909" rel="nofollow">reports</a> successful build and run on OSX 10.9 after removal of -static from LDFLAGS in the Makefile. Some hitches were encountered in getting the tests to run.</p>
<p>From <a href="http://ossasepia.com/2020/04/21/ossasepia-logs-for-14-Dec-2019#1013020" rel="nofollow">the #o log</a> :</p>
<p><strong>diana_coman</strong>: jfw: I went through your keksum proggy and it's been quite a pleasure really; a few nitpicks on top of those: 1. why default/fallthrough on "bad option" instead of the more useful help option? 2. you have nicely \t everywhere except in usage_err in main.c where it's \s 3. just out of curiosity really since otherwise it's of course not a problem at all: since you unrolled various bits basically + made the table for rho, how/why did you choose where to stop with the unrolling anyway? and why not use the constants for iota instead of calc each time (ie lfsr)? 4. why oh why only self-gen test? not like there weren't values and/or ways to obtain them, lolz!<br />
<strong>diana_coman</strong>: jfw: anyways, once you regrind perhaps to fix the test at least, I'll gladly sign and mirror it.</p>
<p><strong>jfw</strong>: 1. usage_err does show the help, but returns a failure status whereas explicit help returns success.<br />
<strong>jfw</strong>: 2. mixed spaces and tab too, good catch!<br />
<strong>jfw</strong>: 3. iirc I unrolled where it would allow precomputing arithmetic and especially mod-5 ops in inner loops. Iota does relatively little work, just touching one lane per round, so I preferred to keep it in 'source' form rather than magic numbers which you'd then have to verify against someone else's.<br />
<strong>jfw</strong>: The table in rho I cribbed straight from the pdf.<br />
<strong>jfw</strong>: 4. just to clarify, I did use the provided tests for the permutation, but don't recall seeing any for the sponge, perhaps I should look harder.</p>
<p><strong>jfw</strong>: "It seems you forgot to update the expected test hash in test-sponge.sh so now the test will fail." - yep, that's what I meant in <a href="http://ossasepia.com/2020/04/21/ossasepia-logs-for-13-Dec-2019#1012925" rel="nofollow">http://logs.ossasepia.com/log/ossasepia/2019-12-13#1012925</a><br />
<strong>ossabot</strong>: Logged on 2019-12-13 17:32:13 jfw: gah, one test broken anyway by the default capacity change, but otherwise working for me, let me check on those errors.</p>
<p><strong>jfw</strong>: "why the -Woverlength-strings in main.c, isn't that included in -pedantic" - the way the pragma works is to *disable* that warning as it's tripped by the help text. The 'wat' expands to roughly: 'why does c89 allow compilers to limit strings to something as low as 509 characters? wtf am I supposed to do about this? I have no intention of supporting such broken compilers, next they'll be limiting source file length too.'</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Diana Coman</title>
		<link>http://jfxpt.com/2019/keksum-a-keccak-implementation-in-c-as-standalone-unix-utility-genesis/#comment-122</link>
		<dc:creator>Diana Coman</dc:creator>
		<pubDate>Sat, 14 Dec 2019 11:26:05 +0000</pubDate>
		<guid isPermaLink="false">http://fixpoint.welshcomputing.com/?p=70#comment-122</guid>
		<description>It seems you forgot to update the expected test hash in test-sponge.sh so now the test will fail.

Also, why the -Woverlength-strings in main.c, isn't that included in -pedantic that I see you are using anyway in Makefile? (The "wat" comment is... very helpful, too :D )</description>
		<content:encoded><![CDATA[<p>It seems you forgot to update the expected test hash in test-sponge.sh so now the test will fail.</p>
<p>Also, why the -Woverlength-strings in main.c, isn't that included in -pedantic that I see you are using anyway in Makefile? (The "wat" comment is... very helpful, too :D )</p>
]]></content:encoded>
	</item>
</channel>
</rss>
