<div dir="ltr"><div class="gmail_default" style="font-size:small">So I was working on my UDF fingerprint scheme. Using base32 to encode a fingerprint and adding an 8 byte version prefix means that a fingerprint with a 117 bit work factor looks like this:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">MDDK7-N6A72-7AJZN-OSTRX-XKS72</span><br></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">Its not bad but how about we ease up on the work factor. The absolute minimum I would want to have is 92 bits.</span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">Now suppose that the first 25 bits of the fingerprint are zeros. </span><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">The 92 bit fingerprint that would look like this:</span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">MAAAA-AB3VV-FOFE2-CLRWJ </span><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">Now looks like this:</span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">MF3VV-FOFE2-CLRWJ </span><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">It is the exact same workfactor as all we have done is used compression. The version byte indicator is 97 instead of 96 to show that 25 leading zeros were omitted.</span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default"><span style="font-size:14px;font-family:"Noto Sans",Arial,Helvetica,sans-serif">Finding that fingerprint ("</span><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px">290668103" in text/plain) </span></font><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">by exhaustive search took me about 10 minutes using a single core. To save another character, or improve the work factor by 5 bits will take 32 times as long. Which is manageable if I multithread the code for all 12 cores. But going much beyond that is going to be impractical without a BIG machine.</span></div><div class="gmail_default"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px">If I am taking a fingerprint of an ECDH key, the keygen overhead is not terrible. But I certainly can't compress RSA keys this way. And I really can't see saving more than 25 bits of work factor being practical unless either I use the GPU or rent space on a BitCoin mining farm or the like.</span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px">Point being that if I am going to do either, I am really going to want to calculate H(Key+Salt) and do exhaustive search on the salt rather than H(Key) and vary the Key. </span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px">To reduce the fingerprint to a memorable 10 characters would take a million times the compute power I used to shorten to 15. But I can see some people being willing to pay for that.</span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px">My brief investigation suggests that current bitcoin mining difficulty* is 1123863285133, or 2^40. So assuming people are spending less than the coins are worth to mint them, say $1000, getting to a 10 character fingerprint would cost a million bucks right now. Which means only pharma Bro is gonna be buying and that after he gets outta club Fed.</span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px">But going the other way, 35 bits of compression is $4 worth of compute power. And that means 102 bit work factor in 15 characters. Which fits on a business card.</span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px">Thoughts?</span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px">One of the innovations in PrismProof email is Strong Internet names that allow fingerprints to be used as DNS name components, thusy:</span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><dt id="gmail-s-3-12" style="float:none;margin-right:1em;font-weight:bold;font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><code style="background-color:rgb(249,249,249);font-family:"Roboto Mono",monospace"><a href="mailto:alice@example.com">alice@example.com</a></code><a class="gmail-pilcrow" href="http://prismproof.org/Documents/draft-hallambaker-sin.html#s-3-12" style="text-decoration-line:none;color:rgb(119,119,119)"></a></dt><dd id="gmail-s-3-13" style="margin-bottom:0.8em;min-height:1.3em;font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">Send mail to Alice without requiring security enhancements.<a class="gmail-pilcrow" href="http://prismproof.org/Documents/draft-hallambaker-sin.html#s-3-13" style="text-decoration-line:none;color:rgb(119,119,119)"></a></dd><dt id="gmail-s-3-14" style="float:none;margin-right:1em;font-weight:bold;font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><code style="background-color:rgb(249,249,249);font-family:"Roboto Mono",monospace"><a href="mailto:alice@mm--mf2gk-6duf5-ygyyl.example.com">alice@mm--mf2gk-6duf5-ygyyl.example.com</a></code><a class="gmail-pilcrow" href="http://prismproof.org/Documents/draft-hallambaker-sin.html#s-3-14" style="text-decoration-line:none;color:rgb(119,119,119)"></a></dt><dd id="gmail-s-3-15" style="margin-bottom:0.8em;min-height:1.3em;font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">Send mail to Alice. If the MUA is SIN-Aware, it <span class="gmail-bcp14" style="font-variant-numeric:normal;font-variant-caps:small-caps">MUST</span> resolve the security policy specified by the fingerprint and apply security enhancements as mandated by that policy.<a class="gmail-pilcrow" href="http://prismproof.org/Documents/draft-hallambaker-sin.html#s-3-15" style="text-decoration-line:none;color:rgb(119,119,119)"></a></dd><dt id="gmail-s-3-16" style="float:none;margin-right:1em;font-weight:bold;font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><code style="background-color:rgb(249,249,249);font-family:"Roboto Mono",monospace">alice@example.com.mm--mf2gk-6duf5-ygyyl</code><a class="gmail-pilcrow" href="http://prismproof.org/Documents/draft-hallambaker-sin.html#s-3-16" style="text-decoration-line:none;color:rgb(119,119,119)"></a></dt><dd id="gmail-s-3-17" style="margin-bottom:0.8em;min-height:1.3em;font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px">Only send mail to Alice if the MUA is SIN-Aware, it <span class="gmail-bcp14" style="font-variant-numeric:normal;font-variant-caps:small-caps">MUST</span> resolve the security policy specified by the fingerprint and apply security enhancements as mandated by that policy.</dd></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px">More info in:</span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><a href="http://prismproof.org/Documents/draft-hallambaker-sin.html">http://prismproof.org/Documents/draft-hallambaker-sin.html</a></span><br></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px">[*]Yes, I know BitCoin uses SHA256. I deliberately chose SHA512 for that exact reason as the ASIC is only going to do SHA512 if it is designed for that purpose.</span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default"><font face="Noto Sans, Arial, Helvetica, sans-serif"><span style="font-size:14px"><br></span></font></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div><div class="gmail_default" style="font-size:small"><span style="font-family:"Noto Sans",Arial,Helvetica,sans-serif;font-size:14px"><br></span></div></div>