<div dir="auto"><div>Google recommeds &quot;migrate to safer cryptographic hashes such as SHA-256 and SHA-3&quot;<div dir="auto">It does not mention <span style="font-family:sans-serif">RIPEMD-160</span></div><div dir="auto"><span style="font-family:sans-serif"><br></span></div><div dir="auto"><font face="sans-serif"><a href="https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html?m=1">https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html?m=1</a></font></div><br><div class="gmail_extra"><br><div class="gmail_quote">Em 25/02/2017 10:47, &quot;Steve Davis via bitcoin-dev&quot; &lt;<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a>&gt; escreveu:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text"><br>
&gt; On Feb 24, 2017, at 7:01 PM, Peter Todd &lt;<a href="mailto:pete@petertodd.org">pete@petertodd.org</a>&gt; wrote:<br>
&gt;<br>
&gt; On Fri, Feb 24, 2017 at 05:49:36PM -0600, Steve Davis via bitcoin-dev wrote:<br>
&gt;&gt; If the 20 byte SHA1 is now considered insecure (with good reason), what about RIPEMD-160 which is the foundation of Bitcoin addresses?<br>
&gt;<br>
&gt; SHA1 is insecure because the SHA1 algorithm is insecure, not because 160bits isn&#39;t enough.<br>
&gt;<br>
&gt; AFAIK there aren&#39;t any known weaknesses in RIPEMD160,<br>
<br>
</div>…so far. I wonder how long that vacation will last?<br>
<div class="quoted-text"><br>
&gt; but it also hasn&#39;t been<br>
&gt; as closely studied as more common hash algorithms.<br>
<br>
</div>...but we can be sure that it will be, since the dollar value held in existing utxos continues to increase...<br>
<div class="quoted-text"><br>
&gt; That said, Bitcoin uses<br>
&gt; RIPEMD160(SHA256(msg)), which may make creating collisions harder if an attack<br>
&gt; is found than if it used RIPEMD160 alone.<br>
<br>
</div>Does that offer any greater protection? That’s not so clear to me as the outputs (at least for p2pkh) only verify the public key against the final 20 byte hash. Specifically, in the first (notional) case the challenge would be to find a private key that has a public key that hashes to the final hash. In the second (realistic) case, you merely need to add the sha256 hash into the problem, which doesn’t seem to me to increase the difficulty by any significant amount?<br>
<br>
<br>
/s<br>
<div class="elided-text">______________________________<wbr>_________________<br>
bitcoin-dev mailing list<br>
<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.<wbr>linuxfoundation.org</a><br>
<a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" rel="noreferrer" target="_blank">https://lists.linuxfoundation.<wbr>org/mailman/listinfo/bitcoin-<wbr>dev</a><br>
</div></blockquote></div><br></div></div></div>