md4
MD4 hash algorithm in Go. Assembly-optimized for amd64 platforms.
MD4 is cryptographically broken and should should only be used where compatibility with legacy systems, not security, is the goal.
Thanks
This package is based up the MD4 implementation in x/crypto
together with some internals borrowed from crypto/md5
, which is structurally very similar. For assembly micro-optimization it was very helpful to consult the implementations of MD5 in Go and OpenSSL, Marc Bevand's assembly MD5, and Nayuki's optimized MD4/MD5. Ricardo Branco's OpenSSL bindings were very helpful for differential testing and providing a performance baseline. Lastly, thanks to Michael Stapelberg for providing the motivation for this package, to optimize his rsync daemon.
License
md4
is available under the BSD 3-Clause License. The license retains the copyright notice from x/crypto
.