Git sprints carefully towards SHA-1 deprecation
The sky still isn't falling
Following the February controversy over whether or not Google's SHA-1 collision broke Git, its community has taken the first small steps towards replacing the ancient hash function.
For context: the Chocolate Factory last month produced the first reproduceable SHA-1 collision needing relatively* low computing power – something that renders a hash function obsolete since it's no longer possible to prove that (for example) a hashed document is unique.
For some years, the crypto community's standard advice has been “get rid of SHA-1”, and that led to criticism of Linus Torvalds' famous Git version control system for holding onto it.
Torvalds' response was that SHA-1 is used for version control, not security, so while replacing it is a good idea, it's not sky-falling urgent.
However, he kicked off discussion among the Git developer community early this month by asking how SHA-1 can best be replaced.
It's not a trivial “out with the old, in with the new” exercise, as Torvalds' request for comment states: it has to happen with minimal disruption to developers who depend on Git, Git itself has to stay maintainable throughout the transition, and in the end, the community will need “a generalised repository conversion tool”.
The commits are now landing apace in the Git repo, and it's sparked a lively discussion about which hash should be the successor (the Git devs have settled on SHA3-256). ®
*Bootnote: "Relatively low" by the standards of crypto-cracking. 6,610 years of processor time is still, admittedly, more than most people have at their disposal. However, the history of cryptography warns us that attacks become more efficient very quickly. ®