<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://boincsynergy.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=Enigma%40Home</id>
	<title>Enigma@Home - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://boincsynergy.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=Enigma%40Home"/>
	<link rel="alternate" type="text/html" href="https://boincsynergy.ca/wiki/index.php?title=Enigma@Home&amp;action=history"/>
	<updated>2026-07-16T07:25:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://boincsynergy.ca/wiki/index.php?title=Enigma@Home&amp;diff=1722&amp;oldid=prev</id>
		<title>Al Piskun: add stats</title>
		<link rel="alternate" type="text/html" href="https://boincsynergy.ca/wiki/index.php?title=Enigma@Home&amp;diff=1722&amp;oldid=prev"/>
		<updated>2026-07-15T20:58:06Z</updated>

		<summary type="html">&lt;p&gt;add stats&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:58, 15 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot;&gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| released             = {{Start date and age|2006|01|09}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| released             = {{Start date and age|2006|01|09}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| completed            = Yes&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| completed            = Yes&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| discontinued         = &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Yes&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| discontinued         =  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| repository           = {{URL|https://github.com/jbo-85/enigma-suite}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| repository           = {{URL|https://github.com/jbo-85/enigma-suite}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| programming language = C, Python&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| programming language = C, Python&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| operating system     = Windows, Linux, macOS, Android&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| operating system     = Windows, Linux, macOS, Android&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| stats as of          = {{Start date and age|2019|07|17}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| average performance  = 20079.27 GigaFLOPS&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| active users         = 302&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| total users          = 69398&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| active hosts         = 938&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| total hosts          = 152157&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| website              = {{URL|http://www.enigmaathome.net/}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| website              = {{URL|http://www.enigmaathome.net/}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| license              = GPL-2.0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| license              = GPL-2.0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Al Piskun</name></author>
	</entry>
	<entry>
		<id>https://boincsynergy.ca/wiki/index.php?title=Enigma@Home&amp;diff=1721&amp;oldid=prev</id>
		<title>Al Piskun: add wayback link</title>
		<link rel="alternate" type="text/html" href="https://boincsynergy.ca/wiki/index.php?title=Enigma@Home&amp;diff=1721&amp;oldid=prev"/>
		<updated>2026-07-15T20:36:46Z</updated>

		<summary type="html">&lt;p&gt;add wayback link&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:36, 15 July 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l22&quot;&gt;Line 22:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 22:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Enigma@Home&#039;&#039;&#039; was a [[BOINC]] volunteer computing project that attacked genuine, unsolved [[wikipedia:Enigma-M4|Enigma M4]] cipher messages from the Second World War using a combination of brute force search and hill climbing cryptanalysis. The project was a BOINC &quot;wrapper&quot; around Stefan Krah&#039;s &#039;&#039;&#039;M4 Project&#039;&#039;&#039; (also called the &#039;&#039;&#039;M4 Message Breaking Project&#039;&#039;&#039;), which was launched independently in January 2006 before being ported to the BOINC platform to draw on a much larger pool of volunteered computer time.&amp;lt;ref name=&quot;bytereef-m4&quot;&amp;gt;{{Cite web |title=M4 Message Breaking Project |url=https://www.bytereef.org/m4_project.html |website=bytereef.org |authors=Stefan Krah |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&quot;networkworld&quot;&amp;gt;{{Cite web |title=Still trying to crack Nazi Enigma messages |url=https://www.networkworld.com/article/2247101/still-trying-to-crack-nazi-enigma-messages.html |website=Network World |date=2009-08-31 |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt; Over the project&#039;s lifetime, volunteers helped recover the plaintext of several authentic [[wikipedia:Kriegsmarine|Kriegsmarine]] radio messages that had defeated Allied codebreakers at [[wikipedia:Bletchley Park|Bletchley Park]] during the war and had remained unbroken ever since.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://web.archive.org/web/20190401042546/http://www.enigmaathome.net/ &lt;/ins&gt;Enigma@Home&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]&lt;/ins&gt;&#039;&#039;&#039; was a [[BOINC]] volunteer computing project that attacked genuine, unsolved [[wikipedia:Enigma-M4|Enigma M4]] cipher messages from the Second World War using a combination of brute force search and hill climbing cryptanalysis. The project was a BOINC &quot;wrapper&quot; around Stefan Krah&#039;s &#039;&#039;&#039;M4 Project&#039;&#039;&#039; (also called the &#039;&#039;&#039;M4 Message Breaking Project&#039;&#039;&#039;), which was launched independently in January 2006 before being ported to the BOINC platform to draw on a much larger pool of volunteered computer time.&amp;lt;ref name=&quot;bytereef-m4&quot;&amp;gt;{{Cite web |title=M4 Message Breaking Project |url=https://www.bytereef.org/m4_project.html |website=bytereef.org |authors=Stefan Krah |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&quot;networkworld&quot;&amp;gt;{{Cite web |title=Still trying to crack Nazi Enigma messages |url=https://www.networkworld.com/article/2247101/still-trying-to-crack-nazi-enigma-messages.html |website=Network World |date=2009-08-31 |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt; Over the project&#039;s lifetime, volunteers helped recover the plaintext of several authentic [[wikipedia:Kriegsmarine|Kriegsmarine]] radio messages that had defeated Allied codebreakers at [[wikipedia:Bletchley Park|Bletchley Park]] during the war and had remained unbroken ever since.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==History==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==History==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Al Piskun</name></author>
	</entry>
	<entry>
		<id>https://boincsynergy.ca/wiki/index.php?title=Enigma@Home&amp;diff=1720&amp;oldid=prev</id>
		<title>Al Piskun: first light</title>
		<link rel="alternate" type="text/html" href="https://boincsynergy.ca/wiki/index.php?title=Enigma@Home&amp;diff=1720&amp;oldid=prev"/>
		<updated>2026-07-15T20:33:49Z</updated>

		<summary type="html">&lt;p&gt;first light&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox software&lt;br /&gt;
| name                 = Enigma@Home&lt;br /&gt;
| screenshot           = Four_Rotor_Enigma_Museum_fur_Kommunikation_Frankfurt.JPG&lt;br /&gt;
| caption              = A four rotor Kriegsmarine Enigma M4, the machine type whose original wartime radio traffic Enigma@Home tried to decipher&lt;br /&gt;
| description          = Enigma@Home was a completed Mathematics and Cryptography BOINC project that used distributed hill climbing cryptanalysis to break original, previously unsolved German Kriegsmarine Enigma M4 radio messages from the Second World War, based on Stefan Krah&amp;#039;s M4 Project.&lt;br /&gt;
| status               = Completed&lt;br /&gt;
| category             = Mathematics, Cryptography&lt;br /&gt;
| compute              = CPU &amp;amp; GPU&lt;br /&gt;
| dependencies         = None for the CPU client; the GPU application required CUDA or OpenCL drivers&lt;br /&gt;
| developer            = Stefan Krah&lt;br /&gt;
| author               = Stefan Krah&lt;br /&gt;
| sponsor              = None (independent volunteer effort)&lt;br /&gt;
| maintainer           = Inactive&lt;br /&gt;
| released             = {{Start date and age|2006|01|09}}&lt;br /&gt;
| completed            = Yes&lt;br /&gt;
| discontinued         = Yes&lt;br /&gt;
| repository           = {{URL|https://github.com/jbo-85/enigma-suite}}&lt;br /&gt;
| programming language = C, Python&lt;br /&gt;
| operating system     = Windows, Linux, macOS, Android&lt;br /&gt;
| website              = {{URL|http://www.enigmaathome.net/}}&lt;br /&gt;
| license              = GPL-2.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Enigma@Home&amp;#039;&amp;#039;&amp;#039; was a [[BOINC]] volunteer computing project that attacked genuine, unsolved [[wikipedia:Enigma-M4|Enigma M4]] cipher messages from the Second World War using a combination of brute force search and hill climbing cryptanalysis. The project was a BOINC &amp;quot;wrapper&amp;quot; around Stefan Krah&amp;#039;s &amp;#039;&amp;#039;&amp;#039;M4 Project&amp;#039;&amp;#039;&amp;#039; (also called the &amp;#039;&amp;#039;&amp;#039;M4 Message Breaking Project&amp;#039;&amp;#039;&amp;#039;), which was launched independently in January 2006 before being ported to the BOINC platform to draw on a much larger pool of volunteered computer time.&amp;lt;ref name=&amp;quot;bytereef-m4&amp;quot;&amp;gt;{{Cite web |title=M4 Message Breaking Project |url=https://www.bytereef.org/m4_project.html |website=bytereef.org |authors=Stefan Krah |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;networkworld&amp;quot;&amp;gt;{{Cite web |title=Still trying to crack Nazi Enigma messages |url=https://www.networkworld.com/article/2247101/still-trying-to-crack-nazi-enigma-messages.html |website=Network World |date=2009-08-31 |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt; Over the project&amp;#039;s lifetime, volunteers helped recover the plaintext of several authentic [[wikipedia:Kriegsmarine|Kriegsmarine]] radio messages that had defeated Allied codebreakers at [[wikipedia:Bletchley Park|Bletchley Park]] during the war and had remained unbroken ever since.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
===Origins: the M4 Project===&lt;br /&gt;
The three original ciphertexts targeted by the project were intercepted by the British destroyer [[wikipedia:HMS Hurricane (H06)|HMS &amp;#039;&amp;#039;Hurricane&amp;#039;&amp;#039;]] in the North Atlantic on 25 November 1942, during the ten month period the British called the &amp;quot;black-out&amp;quot;, when Bletchley Park&amp;#039;s Naval Enigma section could not read Kriegsmarine traffic enciphered with the newly introduced four rotor Enigma M4.&amp;lt;ref name=&amp;quot;wp-enigmam4&amp;quot;&amp;gt;{{Cite web |title=Enigma-M4 |url=https://en.wikipedia.org/wiki/Enigma-M4 |website=Wikipedia |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt; The intercepts were published by historian Ralph Erskine in a 1996 letter to the journal &amp;#039;&amp;#039;[[wikipedia:Cryptologia|Cryptologia]]&amp;#039;&amp;#039; and were widely assumed to be permanently unbreakable, since a ciphertext-only attack on the M4 has to search a key space of roughly&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;N = 1344 \times 676 \times 439{,}400 \times 150{,}738{,}274{,}937{,}250 \approx 6.02 \times 10^{25}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
possible machine settings, a figure corresponding to a key length of almost 86 bits once the choice of rotors, ring settings, rotor start positions, and plugboard wiring are all combined.&amp;lt;ref name=&amp;quot;wp-enigmam4&amp;quot; /&amp;gt; The project was catalogued on the official BOINC project wiki under the &amp;quot;Mathematics and Games Projects&amp;quot; category.&amp;lt;ref name=&amp;quot;berkeleywiki&amp;quot;&amp;gt;{{Cite web |title=Enigma@Home |url=https://boinc.berkeley.edu/wiki/Enigma@Home |website=BOINC official wiki |publisher=University of California, Berkeley |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In January 2006, [[wikipedia:Stefan Krah|Stefan Krah]], a German-born violinist and cryptography hobbyist, wrote a message-breaking program and began recruiting volunteers on internet newsgroups, attracting around 45 participants in the project&amp;#039;s first weeks.&amp;lt;ref name=&amp;quot;bbc2006&amp;quot;&amp;gt;{{Cite web |title=Online amateurs crack Enigma codes |url=http://news.bbc.co.uk/2/hi/technology/4763854.stm |website=BBC News |date=2006-03-01 |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;networkworld&amp;quot; /&amp;gt; Krah named the effort the M4 Project, after the four rotor machine.&amp;lt;ref name=&amp;quot;bbc2006&amp;quot; /&amp;gt; Rather than attempting the full plugboard search, the client software brute forced only the rotor choice, ring settings, and rotor start positions, a much smaller space of&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;N_{\text{search}} = 1344 \times 676 \times 439{,}400 \approx 3.99 \times 10^{11}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
candidate settings, and used a hill climbing algorithm to recover the plugboard wiring for each candidate, scoring decrypted candidate plaintext against [[wikipedia:Sinkov statistics|Sinkov statistics]] of German language text.&amp;lt;ref name=&amp;quot;bytereef-m4&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Breaking the Erskine messages===&lt;br /&gt;
The first of the three 1942 messages was broken on 20 February 2006, only about six weeks after the project began. It proved to be a routine contact report sent by [[wikipedia:Hartwig Looks|Hartwig Looks]], commander of the [[wikipedia:German submarine U-264|German submarine U-264]], describing a depth charge attack and giving the U-boat&amp;#039;s position, course, speed, and local weather.&amp;lt;ref name=&amp;quot;hoerenberg-m4&amp;quot;&amp;gt;{{Cite web |title=The M4 message breaking project |url=https://enigma.hoerenberg.com/index.php?cat=M4+Project+2006 |website=ENIGMA M4 |authors=Michael Hoerenberg |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;wp-enigmam4&amp;quot; /&amp;gt; A second message from the same batch was broken on 7 March 2006.&amp;lt;ref name=&amp;quot;hoerenberg-m4&amp;quot; /&amp;gt; The third message resisted brute-force hill climbing for several more years; it is believed to have been partly enciphered as an &amp;quot;Offizier&amp;quot; message, meaning it was doubly encrypted with an additional, officer-only substitution before being enciphered a second time on the M4 itself, which defeats a straightforward attack.&amp;lt;ref name=&amp;quot;networkworld&amp;quot; /&amp;gt; It was finally solved on 14 January 2013, not through raw distributed brute force but after cryptanalyst Daniel J. Girard and Michael Hörenberg, working independently of the BOINC client, located a usable crib during a joint search of U-boat war diaries; the crib let Girard&amp;#039;s own bombe-simulator and hillclimbing software recover the plaintext directly.&amp;lt;ref name=&amp;quot;hoerenberg-m4&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;girard2016&amp;quot;&amp;gt;{{Cite journal |title=Breaking &amp;quot;Tirpitz&amp;quot;: Cryptanalysis of the Japanese-German joint naval cipher |authors=Daniel J. Girard |journal=Cryptologia |volume=40 |issue=5 |pages=428–451 |year=2016 |doi=10.1080/01611194.2015.1087073}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===The Norrköping messages===&lt;br /&gt;
After the original three Erskine messages had all been solved, researchers located a further cache of Enigma intercepts made by the Swedish security police at [[wikipedia:Norrköping|Norrköping]] between December 1939 and April 1940, comprising more than twenty additional naval intercepts along with a handful of Army and Luftwaffe messages.&amp;lt;ref name=&amp;quot;norrkoping&amp;quot;&amp;gt;{{Cite web |title=The Norrköping Enigma messages |url=https://enigma.hoerenberg.com/index.php?cat=Norrk%C3%B6ping+messages |website=ENIGMA M4 |authors=Dan Girard |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt; Enigma@Home&amp;#039;s BOINC infrastructure turned its distributed computing power to this archive, breaking a message referred to on the project&amp;#039;s forums as &amp;quot;FNYG MXHU&amp;quot; in June 2013, and, following a further burst of activity after new intercepts surfaced in mid-2017, the messages code-named &amp;quot;KLDIO&amp;quot; on 2 August 2017 and &amp;quot;FTNBK&amp;quot; on 15 September 2017.&amp;lt;ref name=&amp;quot;fnyg-mxhu&amp;quot;&amp;gt;{{Cite web |title=Enigma@Home - FNYG MXHU message broken |url=https://boinc.berkeley.edu/forum_thread.php?id=8464 |website=BOINC Message Boards |date=2013-06 |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;kldio-broken&amp;quot;&amp;gt;{{Cite web |title=KLDIO broken |url=http://www.enigmaathome.net/forum_thread.php?id=1101 |website=Enigma@Home Message Boards |date=2017-08-02 |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;ftnbk-broken&amp;quot;&amp;gt;{{Cite web |title=FTNBK broken |url=http://www.enigmaathome.net/ |website=Enigma@Home News |date=2017-09-15 |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt; Around the same period the project added a [[Gridcoin]]-compatible GPU application, encouraging cryptocurrency mining teams to contribute additional compute power, and released CUDA and OpenCL builds capable of running on graphics cards from the Fermi generation onward.&amp;lt;ref name=&amp;quot;bc-team&amp;quot;&amp;gt;{{Cite web |title=Enigma@home |url=https://www.bc-team.org/viewtopic.php?t=313 |website=BOINC Confederation Forums |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;ve3nea-cuda&amp;quot;&amp;gt;{{Cite web |title=enigma-cuda |url=https://github.com/VE3NEA/enigma-cuda |website=GitHub |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The improved hill climbing and partial plugboard exhaustion techniques developed and tested during this later phase of the project were subsequently documented in the peer-reviewed literature by Olaf Ostwald and Frode Weierud.&amp;lt;ref name=&amp;quot;ostwald2017&amp;quot;&amp;gt;{{Cite journal |title=Modern breaking of Enigma ciphertexts |authors=Olaf Ostwald, Frode Weierud |journal=Cryptologia |volume=41 |issue=5 |pages=395–421 |year=2017 |doi=10.1080/01611194.2016.1238423}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cryptanalytic method==&lt;br /&gt;
[[File:Enigma-rotor-windows.jpg|thumb|Close-up of the rotor windows of a four rotor Naval Enigma, the component whose settings formed the bulk of the search space attacked by the project&amp;#039;s client software]]&lt;br /&gt;
Enigma@Home&amp;#039;s client combined two complementary techniques rather than a single brute force pass over the entire M4 key space:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Exhaustive search&amp;#039;&amp;#039;&amp;#039; of the rotor order, ring settings, and rotor starting positions, since these form a comparatively small, enumerable space of roughly 4 × 10&amp;lt;sup&amp;gt;11&amp;lt;/sup&amp;gt; combinations once the plugboard is set aside.&amp;lt;ref name=&amp;quot;bytereef-m4&amp;quot; /&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Hill climbing&amp;#039;&amp;#039;&amp;#039; over the plugboard wiring for each candidate machine setting: starting from an empty or partially filled plugboard, the algorithm repeatedly tried swapping plug connections, scored the resulting candidate plaintext against expected German letter and bigram statistics, and kept only changes that improved the score, iterating until no further improvement could be found.&amp;lt;ref name=&amp;quot;bytereef-m4&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The key server distributed work in fixed-size batches of 26&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt; keys; on a single Celeron processor of the era a batch took roughly 80 minutes to process, and the entire search space for one message comprised several thousand such batches.&amp;lt;ref name=&amp;quot;bytereef-m4&amp;quot; /&amp;gt; Later versions of the client also implemented a &amp;quot;partial exhaustion&amp;quot; refinement of the plugboard search, described by Ostwald and Weierud, which combined limited brute forcing of a few plug pairs with hill climbing over the remainder, improving success rates on short or heavily garbled ciphertexts.&amp;lt;ref name=&amp;quot;ostwald2017&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Software and technical details==&lt;br /&gt;
[[File:M4_Enigma_machine,_1_of_2,_U-505_-_Museum_of_Science_and_Industry_(Chicago)_-_DSC06773.JPG|thumb|right|A surviving Enigma M4, of the type captured intact from German submarine U-505 in 1944]]&lt;br /&gt;
The cryptanalytic core of the client, &amp;#039;&amp;#039;enigma-suite&amp;#039;&amp;#039;, was written in [[C (programming language)|C]] by Stefan Krah and released under the [[GNU General Public License|GNU General Public License, version 2]].&amp;lt;ref name=&amp;quot;enigma-suite&amp;quot;&amp;gt;{{Cite web |title=enigma-suite |url=https://www.bytereef.org/enigma-suite.html |website=bytereef.org |authors=Stefan Krah |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt; The BOINC wrapper and scheduling logic around it were written in [[Python (programming language)|Python]].&amp;lt;ref name=&amp;quot;bytereef-m4&amp;quot; /&amp;gt; The BOINC-hosted version supported Windows, Linux, macOS, and Android clients, distributing work through a conventional BOINC scheduler and awarding credit for completed workunits.&amp;lt;ref name=&amp;quot;mundaywiki&amp;quot;&amp;gt;{{Cite web |title=Enigma@Home |url=https://boinc.mundayweb.com/wiki/index.php?title=Enigma@Home |website=BOINC Wiki (Mundayweb) |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt; A CUDA-accelerated GPU application, based on the enigma-suite algorithm with additional optimizations, was later made available for GPUs of Nvidia Fermi compute capability (2.0) or newer, and an OpenCL build offered comparable support for AMD graphics cards.&amp;lt;ref name=&amp;quot;bc-team&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;ve3nea-cuda&amp;quot; /&amp;gt; Because the underlying source code was published under the GPL, independent forks and optimized builds of the client circulated within the BOINC community throughout the project&amp;#039;s active years.&amp;lt;ref name=&amp;quot;enigma-suite&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publications==&lt;br /&gt;
The following papers are listed for Enigma@Home on the official [[wikipedia:BOINC|BOINC]] publications page.&amp;lt;ref name=&amp;quot;pubsphp&amp;quot;&amp;gt;{{Cite web |title=Publications by BOINC Projects |url=https://boinc.berkeley.edu/pubs.php |website=BOINC |publisher=University of California, Berkeley |accessdate=2026-07-15}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Girard, Daniel J. [https://doi.org/10.1080/01611194.2015.1087073 Breaking &amp;quot;Tirpitz&amp;quot;: Cryptanalysis of the Japanese-German joint naval cipher]. &amp;#039;&amp;#039;Cryptologia&amp;#039;&amp;#039; (2016). This paper gives the solutions of the only four surviving messages from the previously unbroken Japanese-German joint naval cipher known as &amp;quot;Tirpitz&amp;quot;, which used a specially built model T Enigma; the article&amp;#039;s author biography credits its methods, and the earlier break of the third Erskine message, to techniques and collaborations that grew out of the M4 Project and Enigma@Home cryptanalytic community.&amp;lt;ref name=&amp;quot;girard2016&amp;quot; /&amp;gt;&lt;br /&gt;
# Campbell, MacGregor. [https://www.sciencedirect.com/science/article/pii/S0262407911612025 Uncrackable codes: The second world war&amp;#039;s last Enigma]. &amp;#039;&amp;#039;New Scientist&amp;#039;&amp;#039; (2011). A general-audience feature on the still-unsolved third Erskine message and the crowdsourced Enigma@Home effort to recover it, published two years before that message was finally broken.&amp;lt;ref name=&amp;quot;campbell2011&amp;quot;&amp;gt;{{Cite journal |title=Uncrackable codes: The second world war&amp;#039;s last Enigma |authors=MacGregor Campbell |journal=New Scientist |volume=211 |issue=2822 |year=2011 |doi=10.1016/S0262-4079(11)61202-5}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[BOINC]]&lt;br /&gt;
* [[HashClash]]&lt;br /&gt;
* [[NumberFields@Home]]&lt;br /&gt;
* [[wikipedia:Enigma machine|Enigma machine]]&lt;br /&gt;
* [[wikipedia:Cryptanalysis of the Enigma|Cryptanalysis of the Enigma]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Completed projects]]&lt;br /&gt;
[[Category:Mathematics projects]]&lt;br /&gt;
[[Category:Cryptography projects]]&lt;/div&gt;</summary>
		<author><name>Al Piskun</name></author>
	</entry>
</feed>