multihash
multihash copied to clipboard
Support for Tree Tiger Hash and Merkle Hash Tree
https://github.com/multiformats/multihash/issues/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:
- 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.
- hashes in tree packed in breadth-first order from root to leafs.
0x02 - 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.
- Level of hash tree
- level - 1 hash = root-hash
- level - 2 hashes
- level - 3-4 hashes
- level - 5-8 hashes 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]