You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
“SHA1” is not the algorithm used by git. I think OmniBOR should use git's algorithm instead (SHA-1DC) and clearly say so.
Here's the background. The OmniBOR site says it uses SHA-1, but it justifies this by saying that “Git Blobs are identified by the sha1 of the blob object”. The latter statement is not true; git uses SHA-1DC, not SHA-1. Historically it’s true that git used SHA-1, but for security reasons that changed. On 23 February 2017 the SHAttered attack (https://shattered.io/) demonstrated a practical SHA-1 hash collision. Git v2.13.0 and later subsequently moved to a hardened SHA-1 implementation by default, which isn’t vulnerable to the SHAttered attack. Its result is the same as SHA-1 in “normal” cases, but when it detects a “SHAttered attack” it produces a different result. This algorithmic variant is called SHA-1DC. SHA-1 is still weak; many consider this algorithm a transitional measure, so SHA-256 work began. Unfortunately, git was not designed to change hash algorithms, so changing it has been challenging. Indeed, transitioning git to SHA-256 has been challenging and stalled in 2022. So I think it's important to clarify "SHA-1" is really "SHA-1DC" since it's not clear how long this "transitional" state will be "transitional".
The text was updated successfully, but these errors were encountered:
In last week's WG meeting, there was a proposal of defining three mandatory hashes be used for artifact identifier construction (and thus also for manifests): SHA-1DC, SHA-1, and SHA-256. This is in part in recognition that older Git versions use plain SHA-1, and also that Git can still today fallback to plain SHA-1 if the SHA-1DC implementation is unavailable (though we expect this to be uncommon).
alilleybrinker
changed the title
Git uses SHA-1DC, not SHA-1; OmniBOR should match
Amend Artifact Identifiers to use SHA-1DC, SHA-1, and SHA-256, to match Git.
Dec 7, 2023
“SHA1” is not the algorithm used by git. I think OmniBOR should use git's algorithm instead (SHA-1DC) and clearly say so.
Here's the background. The OmniBOR site says it uses SHA-1, but it justifies this by saying that “Git Blobs are identified by the sha1 of the blob object”. The latter statement is not true; git uses SHA-1DC, not SHA-1. Historically it’s true that git used SHA-1, but for security reasons that changed. On 23 February 2017 the SHAttered attack (https://shattered.io/) demonstrated a practical SHA-1 hash collision. Git v2.13.0 and later subsequently moved to a hardened SHA-1 implementation by default, which isn’t vulnerable to the SHAttered attack. Its result is the same as SHA-1 in “normal” cases, but when it detects a “SHAttered attack” it produces a different result. This algorithmic variant is called SHA-1DC. SHA-1 is still weak; many consider this algorithm a transitional measure, so SHA-256 work began. Unfortunately, git was not designed to change hash algorithms, so changing it has been challenging. Indeed, transitioning git to SHA-256 has been challenging and stalled in 2022. So I think it's important to clarify "SHA-1" is really "SHA-1DC" since it's not clear how long this "transitional" state will be "transitional".
The text was updated successfully, but these errors were encountered: