Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define the "GitOID construction" scheme used for creating Artifact Identifiers. #60

Open
Tracked by #73
alilleybrinker opened this issue Sep 20, 2023 · 0 comments
Assignees
Labels
c-spec Category: Improvements or additions to the OmniBOR specification

Comments

@alilleybrinker
Copy link
Member

Right now the spec introduces our two hash algorithms as "SHA1" and "SHA256," which misses that these algorithms aren't exactly SHA1 and SHA256 but are in fact specific variants of them as used by Git. Namely, these they're prefixed with an ASCII string indicating the type of Git object being identified, followed by a null terminator, followed by the bits of the artifact being hashed.

The spec should be modified to include an early description of the hashing algorithms used, either defining them in detail directly, or deferring to a canonical third-party description of the hashing algorithm. We should also be sure whenever they're referenced in the spec, including in annexes, that we're clear that these are not regular SHA1 or SHA256.

There may be prior art in the cryptography ecosystem for how Git's SHA1 and SHA256 variants are identified. Ideally, we'd match what other people are already using when referring to them.

@alilleybrinker alilleybrinker added the c-spec Category: Improvements or additions to the OmniBOR specification label Sep 20, 2023
@alilleybrinker alilleybrinker self-assigned this Oct 18, 2023
@alilleybrinker alilleybrinker changed the title More precisely describe / introduce the OmniBOR hash algorithms in the spec Define the "GitOID construction" scheme used for creating Artifact Identifiers. Dec 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c-spec Category: Improvements or additions to the OmniBOR specification
Projects
None yet
Development

No branches or pull requests

1 participant