Closed
Description
Summary: Golang has the x/crypto/ripemd160 hashing implementation but not the ripemd320 implementation. Having already done most of the work implementing ripemd320 in Go, I would like to bring it in to x/crypto alongside its smaller counterpart.
Details:
- The differences between ripemd variants are small and fairly simple to implement
- Ripemd 320 and 160 are mostly the same except the 320 variant has a 320 bit output size rather than 160 bit.
- Despite SHA being a better hash, Ripemd can be used in conjunction with SHA256 et al as a double-hashing technique to prevent against length-extension attacks
- Rust recently adopted support for Ripemd320 alongside its 160 and I would like to see the same for golang RIPEMD-320 implementation RustCrypto/hashes#68