This document summarizes the MD5 message digest algorithm. It was developed by Professor Ronald L. Rivest in 1991 to take an input of arbitrary length and produce a 128-bit fingerprint. The MD5 algorithm structure and implementation steps are described, including padding the input, appending the length, initializing buffers, and processing the message in 16-word blocks through four rounds of functions. Performance is provided showing MD5 is very fast on 32-bit machines. MD5 is compared to MD4, noting changes made and that it is widely used and considered efficient.