Remove hint.html and index.html

As per discussions on GitHub the index.html and hint.html files should
be deleted in favour of README.md files (from any
.text/.txt/.markdown/.md files which will be turned into README.md in an
upcoming commit).
This commit is contained in:
Cody Boone Ferguson committed 2023-02-08 05:07:05 -08:00
1 parent ee8a36310f
commit 77fb0f11a2
143 files changed
-28606

No files matched your search

-152
View File
@@ -1,152 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="GENERATOR" content="mkd2html 2.1.5a DL=DISCOUNT">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<link rel="stylesheet"
type="text/css"
href="../hint.css">
<title>Most conspiratorial</title>
</head>
<body>
<h1>Most conspiratorial</h1>
<p>Aaron Grothe<br>
2205 South 51st Street<br>
Omaha, NE 68106<br>
US<br>
<a href="&#109;&#97;&#105;&#108;&#116;&#x6f;&#x3a;&#x61;&#x6a;&#x67;&#x72;&#111;&#116;&#x68;&#x65;&#64;&#121;&#97;&#104;&#111;&#111;&#46;&#x63;&#111;&#109;">&#97;&#x6a;&#103;&#x72;&#111;&#116;&#x68;&#x65;&#64;&#x79;&#x61;&#104;&#111;&#111;&#x2e;&#x63;&#x6f;&#x6d;</a></p>
<p>David Madore<br>
<a href="http://www.madore.org/~david/">http://www.madore.org/~david/</a></p>
<h2>Judges' comments:</h2>
<h3>To build:</h3>
<pre><code>make grothe
</code></pre>
<h3>To run:</h3>
<pre><code># To create a shared secret shared among M people with N+1 needed to reconstruct
./grothe -secret 1-/dev/urandom 2-/dev/urandom ... N-/dev/urandom \
1+shared1 2+shared2 ... M+sharedM
# To reconstruct the original (an arbitrary combination of N+1 or
# more shared files with their proper numbers)
./grothe I-sharedI J-sharedJ K-sharedK ... +reconstructed
</code></pre>
<h3>Try:</h3>
<pre><code>./grothe -grothe.c 1+grothe.c.1 2+grothe.c.2
./grothe -cookie_recipe.txt 1-/dev/urandom 2-/dev/urandom \
1+cookie_piece1.dat 2+cookie_piece2.dat 3+cookie_piece3.dat 4+cookie_piece4.dat
./grothe 1-cookie_piece1.dat 2-cookie_piece2.dat 4-cookie_piece4.dat
+cookie_recipe_restore.txt
</code></pre>
<h3>Selected Judges Remarks:</h3>
<p>Also known as Best abuse of the judging process.</p>
<p>The IOCCC 2012 submission page didn&rsquo;t enforce the 2048 meaningful
character limit. This entry, as submitted, weighed in at 2222 chars
but was, luckily for it, extremely easy to bring down below the
limit. There were a number of strings that when concatenated allowed
the program to slide under the limit.</p>
<p>It was clear to the judges that the extra size was an entry
beautification step. Had it not, this entry would have been
rejected in round 0.</p>
<p>The judges also took some liberty obfuscating this entry a litte more.</p>
<p>How does this entry work? The only place multiplication is used is
to perform the atoi conversion.</p>
<h2>Author&rsquo;s comments:</h2>
<p><strong>Description</strong></p>
<p>This program implements a version of Shamir&rsquo;s Secret Sharing. Shamir&rsquo;s Secret
Sharing allows you to encrypt a file into N parts where it will take M parts to
recreate the original file. E.g. you can split the secret recipe for Crystal Pepsi
into 3 parts and require two of them be available to extract the original recipe.</p>
<p>Actually surprisingly useful for an IOCCC entry :-)</p>
<p><strong>Usage</strong></p>
<p>To share a secret</p>
<p>E.g.</p>
<p>file to be shared - cookie_recipe.txt
number of pieces - 2 + file to be shared
total number of pieces created by program 4
pieces needed to reassemble recipe 3 or greater</p>
<p><strong>example usage</strong></p>
<p># to share secret into 4 pieces of which at least 3 will be needed to get back the recipe</p>
<pre><code>./grothe \
-cookie_recipe.txt
1-/dev/urandom 2-/dev/urandom
1+cookie_piece1.dat 2+cookie_piece2.dat 3+cookie_piece3.dat 4+cookie_piece4.dat
</code></pre>
<p># put recipe back together using 1, 2 and 4th piece</p>
<pre><code>./grothe \
1-cookie_piece1.dat 2-cookie_piece2.dat 4-cookie_piece4.dat
+cookie_recipe_restore.txt
</code></pre>
<p><strong>Limitations</strong></p>
<ul>
<li>program is limited to 256 input and output files and will slow down dramatically when you get past 20-50 inputs and outputs</li>
</ul>
<p><strong>Obfuscations</strong></p>
<ul>
<li>nothing is done consistently throughout the program E.g i+=1, i=i+1, i++ and ++i are all used in the program. The mark of true code buggery. - &ldquo;A foolish consistency is the hobgoblin of little minds&rdquo; - Ralph Waldo Emerson</li>
<li>uses the most powerful obfuscation of all &ldquo;Math&rdquo;. &ldquo;Any sufficiently advanced cryptography is indistinguasble from magic&rdquo; - Apologies to Arthur C. Clarke</li>
<li>shadows variables by using brackets in main program to create local copies of variables that are the same as global scope variables. -Wshadow should probably be a part of -Wall in gcc</li>
<li>uses array_index[array_name] instead of array_name[array_index] in several places. Still don&rsquo;t know why C continues to allow this
( error strings are encoded with offsets that are also used to select them in the case statement. All strings are located in one function for easy localization</li>
<li>liberal use of octal numbers, hexadecimal numbers and regular decimal numbers throughout program</li>
<li>variables and function names are semi-random and upper and lower case characters are used</li>
<li>use of #defines from stdio.h, stdlib.h for values _STDIO_H and EXIT_SUCCESS used to represent 1 and 0 respectively in the program</li>
<li>arrays only need to be 256x256 most are set to greater values than they need to be so trying to figure it out can be a bit tough</li>
</ul>
<p><strong>References</strong></p>
<ul>
<li>Shamir&rsquo;s Secret Sharing - <a href="http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing">http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing</a></li>
<li>David Madore&rsquo;s implementation of Shamir&rsquo;s Secret Sharing - <a href="http://www.madore.org/~david/programs/programs-1.36.html">http://www.madore.org/~david/programs/programs-1.36.html</a></li>
<li>Steve&rsquo;s Recipe Database - source for the $25k Cookie Recipe - <a href="http://recipes.stevex.net/">http://recipes.stevex.net/</a></li>
</ul>
<hr />
<TABLE><TR>
<TD><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a></TD>
<TD><P>&copy; Copyright 1984-2015,
<A HREF="/judges.html">Leo Broukhis, Simon Cooper, Landon Curt Noll</A>
- All rights reserved<BR>
This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.</P></TD>
<TD>&nbsp;<!--<a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>--></TD>
</TR></TABLE>
</body>
</html>