Package org.bouncycastle.tsp.ers
Class BinaryTreeRootCalculator
- java.lang.Object
-
- org.bouncycastle.tsp.ers.BinaryTreeRootCalculator
-
- All Implemented Interfaces:
ERSRootNodeCalculator
public class BinaryTreeRootCalculator extends java.lang.Object implements 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 Constructor Description BinaryTreeRootCalculator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.bouncycastle.asn1.tsp.PartialHashtree[]
computePathToRoot(org.bouncycastle.operator.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(org.bouncycastle.operator.DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree[] nodes)
Calculate the root hash of the Merkle tree from the partial hash-tree nodes.byte[]
recoverRootHash(org.bouncycastle.operator.DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree[] nodes)
Recover the root hash from a path made up of PartialHashtrees.
-
-
-
Method Detail
-
computeRootHash
public byte[] computeRootHash(org.bouncycastle.operator.DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree[] nodes)
Description copied from interface:ERSRootNodeCalculator
Calculate the root hash of the Merkle tree from the partial hash-tree nodes.- Specified by:
computeRootHash
in 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(org.bouncycastle.operator.DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree node, int index)
Description copied from interface:ERSRootNodeCalculator
Calculate a path from the leaf node to the root of the last computed Merkle tree.- Specified by:
computePathToRoot
in 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(org.bouncycastle.operator.DigestCalculator digCalc, org.bouncycastle.asn1.tsp.PartialHashtree[] nodes)
Description copied from interface:ERSRootNodeCalculator
Recover the root hash from a path made up of PartialHashtrees.- Specified by:
recoverRootHash
in 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.
-
-