Network Working Group J. Touch
Request for Comments: 1810 ISI
Category: Informational June 1995
Report on MD5 Performance
Touch Informational [Page 1]
RFC 1810 Report on MD5 Performance June 1995
Measurements
Touch Informational [Page 2]
RFC 1810 Report on MD5 Performance June 1995
A = B + ((A + F(B,C,D) + X[i] + T[i]) << i) D = A + ((D + F(A,B,C) + X[i] + T[i]) << i) C = D + ((C + F(D,A,B) + X[i] + T[i]) << i) B = C + ((B + F(C,D,A) + X[i] + T[i]) << i)
(t0) B* C C D X T
| | | | | |
| | | | | |
\/ \/ \ /
t1 op op A + X T
\ / \ / | |
\ / \ / | |
\/ \/ \ /
t2 op + (t0) B* C C D A +
\ / | | | | \ /
\ / \ | | / \ /
\ / \\// \/
t3 + t1 op +
| \ /
| \ /
| \ /
t4 << B* t2 + B*
\ / \ /
\ / << /
t5 + t3 +
| |
| |
| |
A** A**
Binary operation tree Optimized hardware tree
Touch Informational [Page 3]
RFC 1810 Report on MD5 Performance June 1995
This diagram assumes that each operation takes one unit time. The tree shows the items that depend on the previous step as B*, and the item that the next step depends on as A**. Sequences of the binary operation tree cannot be overlapped, but the optimized hardware tree can (by one time step).
Int92 Upper-Bound Measured Machine
------------------------------------------------------------
122 122-195 87 Mbps DEC Alpha (190 Mhz)
48 48- 77 33 Mbps HP 9000/720 88 88-141 48 Mbps IBM RS/6000 7006 (PPC 601 @80 Mhz) 32 32- 51 31 Mbps Intel i486/33 NetBSD 90 90-144 44 Mbps Intel Pentium/90 NeXTStep 90 90-144 52 Mbps SGI/IP-20 IRIX 5.2 65 65-104 37 Mbps Sun SPARC-10/51 SunOS 4.1.3
Touch Informational [Page 4]
RFC 1810 Report on MD5 Performance June 1995
For CMOS, an operation (32-bit addition, including register retrieval and storage) costs about 5.2 ns (2.6 ns per add, 2 ns for latching) [6]. There are 6 clocks through the most highly-parallelized implementation, resulting in 31.2 ns per 32-bit word, or 256 Mbps [6]. This will not keep pace with existing hardware, which is capable of link speeds in excess of 622 Mbps (ATM).
Touch Informational [Page 5]
RFC 1810 Report on MD5 Performance June 1995
Security Considerations
Touch Informational [Page 6]
RFC 1810 Report on MD5 Performance June 1995
Acknowledgements