From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Cryptography / Computer science  (Rated C-class, Top-importance)
WikiProject icon This article is within the scope of WikiProject Cryptography, a collaborative effort to improve the coverage of Cryptography on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
C-Class article C  This article has been rated as C-Class on the quality scale.
 Top  This article has been rated as Top-importance on the importance scale.
Taskforce icon
This article is supported by WikiProject Computer science (marked as Top-importance).
edit·history·watch·refresh Stock post message.svg To-do list for MD5:
  • Summarise results of Berson
  • Complete the (non-pseudocode) description of the MD5 algorithm
  • Add information about md5x one step to double md5 hashes
Priority 3


What kind of licence is MD5 under? Can it be used in properterial software?

I don't believe MD5 is patented, so you wouldn't need a license to use it. You might need a license to use Rivest's source code (in the RFC), though, since it's copyrighted. Some pieces of proprietary software (such as mIRC) use various prewritten libraries to perform MD5 hashing, so you might be able to use one of those libraries. -- Olathe November 17, 2003

"md5-announcement.txt" is the announcement from RSA Data Security that MD5 is being placed in the public domain for free general use. Anyone may write a program implementing the MD5 algorithm for any purpose.

RSA has written a reference implementation which is the source code in this directory. This source code is copyrighted by RSA. Here are the few copyright restrictions *with using this source code*. There is no restriction on any code which implements MD5 that you write yourself.

RSA's MD5 disclaimer[edit]

Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.

License to copy and use this software is granted provided that it is identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing this software or this function.

License is also granted to make and use derivative works provided that such works are identified as "derived from the RSA Data Security, Inc. MD5 Message-Digest Algorithm" in all material mentioning or referencing the derived work.

RSA Data Security, Inc. makes no representations concerning either the merchantability of this software or the suitability of this software for any particular purpose. It is provided "as is" without express or implied warranty of any kind.

These notices must be retained in any copies of any part of this documentation and/or software.

Indeed, today we'd say that this is some kind of CC-BY license, common courtesy for centuries. All those detailed "cite web" references with quotes in Wikipedia are also attributions, not only verifications. – (talk) 23:58, 8 February 2014 (UTC)

Link to IBM p690 is broken[edit]

I am just trying to report a broken link IBM p690. According to IBM ( the p690 series is no longer on the market.— Preceding unsigned comment added by Kenster (talkcontribs) 2006-02-12

No idea what the problem was eight years ago, but FWIW I've redirected and extended the hopeless IBM p690 stub. – (talk) 00:32, 9 February 2014 (UTC)

Algorithm description unclear[edit]

What happens if the original message length is just under some multiple of 512? You won't have room for the 64 bits. Do we then pad to the next multiple of 512? — Preceding unsigned comment added by (talk) 10:33, 8 August 2014 (UTC)

Yes, that is exactly right. If there isn't room for the 64 bits, both md5 and sha256 use zero padding to the next multiple of 512, and the 64 bits are put at the end of that last 512-bit block (which is otherwise all zeros). How could we make this clearer for the next reader? --DavidCary (talk) 18:39, 9 December 2014 (UTC)