Support for Tree Tiger Hash and Merkle Hash Tree#77
Open
ivan386 wants to merge 2 commits intomultiformats:masterfrom
Open
Support for Tree Tiger Hash and Merkle Hash Tree#77ivan386 wants to merge 2 commits intomultiformats:masterfrom
ivan386 wants to merge 2 commits intomultiformats:masterfrom
Conversation
multiformats/multihash#55 ## Merkle Hash Tree multihash `<merkle-hash-tree-mc>-<len>-(<hash-tree-type>-(<multihash>[<multihash>...]))` `<0x0400>-<len>-(<0x01>-(<multihash>[<multihash>...]))` 0x0400 - Merkle Hash Tree (1024 decimal) multicodec value 0x01 - Hash Tree Type with this settings: * Data segment size - 1024 bytes * Data prefix - one byte with value 0 (0x00) * Hash pair prefix - one byte with value 1 (0x01) * Unpaired hashes move on next level unchanged. * Multihashes in tree multihash packed in breadth-first order from root to leafs. ## Tiger multihash: `<tiger-mc>-<len>-<hash>` `<0x7A>-<0x18>-<0x3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3>` 0x7A - Tiger-hash multicodec value ## Tree Tiger multihash: `<merkle-hash-tree-mc>-<len>-(<hash-tree-type>-(<tiger-root-multihash>[<tiger-multihash>...]))` ## Tree sha2-256 multihash: `<merkle-hash-tree-mc>-<len>-(<hash-tree-type>-(<sha2-256-root-multihash>[<sha2-256-multihash>...]))` ## Links: [Tree Hash EXchange format (THEX)](https://adc.sourceforge.io/draft-jchapweske-thex-02.html#anchor2) [Tiger: A Fast New Cryptographic Hash Function (Designed in 1995)](http://www.cs.technion.ac.il/~biham/Reports/Tiger/) wikipedia: [Tiger (cryptography)](https://en.wikipedia.org/wiki/Tiger_(cryptography)) wikipedia: [Merkle tree#Tiger tree hash](https://en.wikipedia.org/wiki/Merkle_tree#Tiger_tree_hash) License: MIT Signed-off-by: Ivan <[email protected]>
Author
|
I write package that calc hash tree root: https://github.com/ivan386/go-hash-tree |
|
To update to current format:
There is no serialization for the hash of the tree yet in your proposal. May I propose: tiger-tree, multihash, 0x71c3, draft, Tiger Tree Hash with a block size of 1024 bytes (draft-jchapweske-thex-02)71c3 because it looks like "tige". |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
multiformats/multihash#55
Merkle Hash Tree multihash
<merkle-hash-tree-mc>-<len>-(<hash-tree-type>-<hash-mc>-<hash-len>-(<hash-value>)-[<hash-value>...])<0x0400>-<len>-(<0x01>-<hash-mc>-<hash-len>-(<hash-value>)-[<hash-value>...])0x0400 - Merkle Hash Tree (1024 decimal) multicodec value
0x01 - Hash Tree Type with this settings:
0x02 - Hash Tree Type with this settings:
and so on
Tiger multihash:
<tiger-mc>-<len>-<hash><0x7A>-<0x18>-<0x3293ac630c13f0245f92bbb1766e16167a4e58492dde73f3>0x7A - Tiger-hash multicodec value
Tree Tiger multihash:
<merkle-hash-tree-mc>-<len>-(<hash-tree-type>-<tiger-mc><tiger-len>(<tiger-hash>)[<tiger-hash>...])Tree sha2-256 multihash:
<merkle-hash-tree-mc>-<len>-(<hash-tree-type>-<sha2-256-mc>-<sha2-256-len>-(<sha2-256-hash>)[<sha2-256-hash>...])Links:
Tree Hash EXchange format (THEX)
Tiger:
A Fast New Cryptographic Hash Function (Designed in 1995)
wikipedia: Tiger (cryptography)
wikipedia: Merkle tree#Tiger tree hash
License: MIT
Signed-off-by: Ivan [email protected]