Package org.bouncycastle.tsp.ers
Class BinaryTreeRootCalculator
java.lang.Object
org.bouncycastle.tsp.ers.BinaryTreeRootCalculator
- All Implemented Interfaces:
ERSRootNodeCalculator
Calculator based on the use of a left weighted binary Merkle tree created
on top of the partial hash tree objects provided.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.bouncycastle.asn1.tsp.PartialHashtree[]computePathToRoot(DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree node, int index) Calculate a path from the leaf node to the root of the last computed Merkle tree.byte[]computeRootHash(DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree[] nodes) Calculate the root hash of the Merkle tree from the partial hash-tree nodes.byte[]recoverRootHash(DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree[] nodes) Recover the root hash from a path made up of PartialHashtrees.
-
Constructor Details
-
BinaryTreeRootCalculator
public BinaryTreeRootCalculator()
-
-
Method Details
-
computeRootHash
public byte[] computeRootHash(DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree[] nodes) Description copied from interface:ERSRootNodeCalculatorCalculate the root hash of the Merkle tree from the partial hash-tree nodes.- Specified by:
computeRootHashin interfaceERSRootNodeCalculator- Parameters:
digCalc- the digest calculator to use.nodes- the partial hash-trees forming the basis of the Merkle tree.- Returns:
- the root hash of the Merkle tree.
-
computePathToRoot
public org.bouncycastle.asn1.tsp.PartialHashtree[] computePathToRoot(DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree node, int index) Description copied from interface:ERSRootNodeCalculatorCalculate a path from the leaf node to the root of the last computed Merkle tree.- Specified by:
computePathToRootin interfaceERSRootNodeCalculator- Parameters:
digCalc- the digest calculator to use.node- the leaf node at the start of the path.index- the index of the node in the original list of partial hash trees.- Returns:
-
recoverRootHash
public byte[] recoverRootHash(DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree[] nodes) Description copied from interface:ERSRootNodeCalculatorRecover the root hash from a path made up of PartialHashtrees.- Specified by:
recoverRootHashin interfaceERSRootNodeCalculator- Parameters:
digCalc- the digest calculator to use.nodes- the partial hash-trees forming a path from a leaf to the root of the Merkle tree.- Returns:
- the root hash of the Merkle tree.
-