<div dir="ltr"><div class="gmail_default" style="font-size:small">This actually raises an interesting larger point.  My implementation of Keybase proof verification is based on BouncyCastle (and I was pleased by the zero interop friction, since I bet basically none of the keys or proofs were constructed with that software). </div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I’m not a cryptographer, I just looked at the API and followed the instructions.  I think that’s what the community of experts would like non-expert implementors to do.   I have to confess I have no idea whether or not BouncyCastle is doing what David Leon Gil calls “checking any of the RSA cryptosystem's validity conditions”.  Should non-expert implementors like me worry?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 19, 2014 at 6:19 AM, Maxwell Krohn <span dir="ltr"><<a href="mailto:themax@gmail.com" target="_blank">themax@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Nov 19, 2014, at 1:47 AM, Tim Bray <<a href="mailto:tbray@textuality.com">tbray@textuality.com</a>> wrote:<br>
><br>
> Are there any threads other than the one starting at <a href="http://www.metzdowd.com/pipermail/cryptography/2014-September/022754.html" target="_blank">http://www.metzdowd.com/pipermail/cryptography/2014-September/022754.html</a> ?<br>
><br>
> The conclusion there, via David Leon Gil, is instructive: <a href="http://www.metzdowd.com/pipermail/cryptography/2014-September/022758.html" target="_blank">http://www.metzdowd.com/pipermail/cryptography/2014-September/022758.html</a><br>
><br>
<br>
</span>Exactly, we put more checks into our PGP implementation as a result of this discussion:<br>
<a href="https://github.com/keybase/kbpgp/commit/ef9f264c5d4bd6e908d8da26c84863dffa19a662" target="_blank">https://github.com/keybase/kbpgp/commit/ef9f264c5d4bd6e908d8da26c84863dffa19a662</a><br>
<br>
Presumably PGP (which our CLI shells out to), had some of those checks all along (taking David’s word on this<br>
though I can’t find them looking through the source code).<br>
<br>
In that previous discussion, we weren’t assuming the worst of SHA-1, but such an assumption<br>
seems reasonable going forward.  The OpenPGP folks should assume the same, and transition to<br>
a SHA-2 (or -3) based key fingerprint. In addition to the issues I mentioned previously, if SHA-1 is broken,<br>
I’m sure we’ll find many implementation flaws in GnuPG, which uses SHA-1 key fingerprints internally to check for<br>
key equality.<br>
<br>
I disagree with Tony, I don’t see a compelling argument here that the Keybase design is “conceptually flawed,”<br>
especially if including SHA-2 or SHA-3 key fingerprints in our proofs can defeat the proposed attack.<br>
<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>- Tim Bray (If you’d like to send me a private message, see <a href="https://keybase.io/timbray" target="_blank">https://keybase.io/timbray</a>)</div></div></div>
</div>