On 6/19/18, Stephan Beal <sgb...@googlemail.com> wrote:
> i have _no_ idea what the differences are between sha1 and
> sha1-hard,

SHA1-hard is a modified SHA1 algorithm that is resistant to the
SHAttered attack (https://shattered.io/) against SHA1 that came out
about a year ago.  SHA1-hard generates the same hashes as SHA1, except
in the extremely rare cases where the hash is vulnerable to SHAttered.
SHA1-hash works by detecting cases where the hash seems to be
exploiting weaknesses in the SHA1 compression function and then it
makes the hash "safe" by increasing the number of rounds in those rare
cases.

I converted from using SHA1 to SHA1-hard within about a day of
SHAttered being announced.  Git also has converted, but it took them
months.  I also added SHA3 support at the same time.  Git is still
SHA1-only, the last time I checked.

The SHA1-hard code was stolen from
https://github.com/cr-marcstevens/sha1collisiondetection.  The only
changes I made were to clean it up a little and convert it into a
single-file implementation so that it was easier to import into the
Fossil source tree.
-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to