md4

Assembly-optimized MD4 hash algorithm in Go

BSD-3-CLAUSE License

Stars
17

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.