Hash domain separation
Hash domain separation encodes an input's role or context so distinct uses of a hash function do not share the same input representation.
RFC 9162 distinguishes Merkle leaves and internal nodes with different initial bytes. This prevents a leaf from reusing the exact input encoding of a parent node. [1]
Hesela's two-entry example demonstrates the untagged ambiguity without finding a SHA-256 collision. It also checks the independently trusted entry count; this is an educational construction, not a CT or storage-product exploit. [2]
Relations
- related
- merkle-tree, cryptographic-hash, hash-collision
Limitations
- Role separation does not authenticate the root or establish freshness; serialization and the rest of the verification protocol still matter. [1]
Citations
- RFC 9162: Certificate Transparency Version 2.0, sections 2.1.1 and 4.10
- Hesela: Two trees, one root, no broken hash
Published by Hesela team · Updated
Report a correction · Editorial standards · Reuse guidance
Cite this page
Hesela team. Hash domain separation. Hesela. 2026-10-18. https://hesela.dev/terms/hash-domain-separation/