Re: Hash algorithm choice
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:47:12
Linus Torvalds [off-list ref] writes:
If youlimit the hash size to 20 bytes, there are almost no changes necessary. You'd need to hijack the 'SHA1_Init/SHA1_Update/SHA1_Final' functions, of course, and you'd likely want to rename them (and eventually a lot of other functions too), but that renaming is mechanical and isn't even needed for proper working. Now, if you would ever want to extend the _size_ of the hash, that's a much much bigger problem, but if you're ok with just changing the hash and then truncating the result to 20 bytes (ie kind of like sha-512-160), or you're ok with limiting yourself to 20-byte hashes like REIPMD-160, the size of the changes should be minimal.
Just in case Jerome really wants to go further, "almost no changes" and "minimal" refers to the fact that we have a few hard-coded hash values known to the code, such as the object name for an empty blob and an empty tree.