note
BrowserUk
<p>From the [http://www.faqs.org/rfcs/rfc1321.html|RFC] (which you appear to be (mis)quoting) -- my highlighting:
<blockquote>This document describes the MD5 message-digest algorithm. The algorithm takes as input a message of arbitrary length and produces as output a 128-bit "fingerprint" or "message digest" of the input.
<p><b>It is conjectured that it is computationally infeasible to</b> produce two messages having the same message digest, or to produce any message having a given prespecified target message digest.
<p>The MD5 algorithm is <b>intended for digital signature applications,</b> where a large file must be "compressed" in a secure manner <b>before being encrypted</b> with a private (secret) key under a public-key cryptosystem such as RSA.
</blockquote>
<hr />
<blockquote><i>Cryptographic hashes are supposed to prevent someone from doing either one.</i></blockquote>
<p>Nowhere in that do I see MD5 described as a "cryptographic hash"? Any application that uses a "digital signature" as a "cryptographic hash" based upon "conjectured...computational infeasibility" is a misapplication of the algorithm.
<p>If the application needs a "cryptographic hash", it should be using one.
<blockquote><i>There are more uses of MD5 than are dreamt of in your philosophy, Horatio.</i></blockquote>
<p>Ah yes, my dear <strike>Josephine</strike> Hardy*, but how many of them are misuses?
<div class="pmsig"><div class="pmsig-171588">
<hr />
<font size=1 >
<div>Examine what is said, not who speaks.</div>
"Efficiency is intelligent laziness." -David Dunham<br />
"Think for yourself!" - [Abigail-II|Abigail] <br />
"Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - [tachyon]<br />
</font>
</div></div>
386193
386518