| Modifier and Type | Field and Description |
|---|---|
| private byte[] | firstNode
the first node is stored in the treehash instance itself, not on stack |
| private int | firstNodeHeight
the height in the tree of the first node stored in treehash |
| private Vector | heightOfNodes
Vector element that stores the height of the nodes on the stack |
| private boolean | isFinished
true if the first node's height equals the maxHeight of the treehash |
| private boolean | isInitialized
true if treehash instance was already initialized, false otherwise |
| private int | maxHeight
max height of current treehash instance. |
| private Digest | messDigestTree
denotes the Message Digest used by the tree to create nodes |
| private byte[] | seedActive
seedActive needed for the actual node |
| private boolean | seedInitialized
true if the nextSeed has been initialized with index 3*2^h needed for the seed scheduling |
| private byte[] | seedNext
the seed needed for the next re-initialization of the treehash instance |
| private int | tailLength
number of nodes stored on the stack and belonging to this treehash instance |
| private Vector | tailStack
Vector element that stores the nodes on the stack |
| Access | Constructor and Description |
|---|---|
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public byte[] | Returns: the first node stored in treehash instance itselfreturns the first node stored in treehash instance itself |
| public int | |
| public int | Returns: Height of the lowest nodeReturns the height of the lowest node stored either in treehash or on the stack. |
| public byte[] | |
| public byte[][] | Returns: The status bytesReturns the status byte array used by the GMSSPrivateKeyASN.1 class |
| public int[] | Returns: The status intsReturns the status int array used by the GMSSPrivateKeyASN.1 class |
| public Vector | |
| public void | |
| public void | initializeSeed(byte[] seedIn)
Method to initialize the seeds needed for the precomputation of right nodes. |
| public void | |
| public String | toString()
Overrides java. returns a String representation of the treehash instance |
| public void | update(GMSSRandom
an instance of the PRNG gmssRandom, byte[] The byte value of the leaf needed for the update leaf)Calculates one update of the treehash instance, i.e. creates a new leaf and hashes if possible |
| public void | updateNextSeed(GMSSRandom
the prng used for the seeds gmssRandom)updates the nextSeed of this treehash instance one step needed for the schedulng of the seeds |
| public boolean | Returns: true if treehash has reached its maximum heightMethod to check whether the instance has been finished or not |
| public boolean | Returns: true if treehash was already initializedMethod to check whether the instance has been initialized or not |
| firstNode | back to summary |
|---|---|
| private byte[] firstNode the first node is stored in the treehash instance itself, not on stack | |
| firstNodeHeight | back to summary |
|---|---|
| private int firstNodeHeight the height in the tree of the first node stored in treehash | |
| heightOfNodes | back to summary |
|---|---|
| private Vector<E> heightOfNodes Vector element that stores the height of the nodes on the stack | |
| isFinished | back to summary |
|---|---|
| private boolean isFinished true if the first node's height equals the maxHeight of the treehash | |
| isInitialized | back to summary |
|---|---|
| private boolean isInitialized true if treehash instance was already initialized, false otherwise | |
| maxHeight | back to summary |
|---|---|
| private int maxHeight max height of current treehash instance. | |
| messDigestTree | back to summary |
|---|---|
| private Digest messDigestTree denotes the Message Digest used by the tree to create nodes | |
| seedActive | back to summary |
|---|---|
| private byte[] seedActive seedActive needed for the actual node | |
| seedInitialized | back to summary |
|---|---|
| private boolean seedInitialized true if the nextSeed has been initialized with index 3*2^h needed for the seed scheduling | |
| seedNext | back to summary |
|---|---|
| private byte[] seedNext the seed needed for the next re-initialization of the treehash instance | |
| tailLength | back to summary |
|---|---|
| private int tailLength number of nodes stored on the stack and belonging to this treehash instance | |
| tailStack | back to summary |
|---|---|
| private Vector<E> tailStack Vector element that stores the nodes on the stack | |
| Treehash | back to summary |
|---|---|
| public Treehash(Digest name, byte[][] statByte, int[] statInt) This constructor regenerates a prior treehash object
| |
| Treehash | back to summary |
|---|---|
| public Treehash(Vector<E> tailStack, int maxHeight, Digest digest) Constructor | |
| destroy | back to summary |
|---|---|
| public void destroy() Destroys a treehash instance after the top node was taken for authentication path. | |
| getFirstNode | back to summary |
|---|---|
| public byte[] getFirstNode() returns the first node stored in treehash instance itself
| |
| getFirstNodeHeight | back to summary |
|---|---|
| public int getFirstNodeHeight() Returns the top node height
| |
| getLowestNodeHeight | back to summary |
|---|---|
| public int getLowestNodeHeight() Returns the height of the lowest node stored either in treehash or on the stack. It must not be set to infinity (as mentioned in the paper) because this cases are considered in the computeAuthPaths method of JDKGMSSPrivateKey
| |
| getSeedActive | back to summary |
|---|---|
| public byte[] getSeedActive() returns the active seed
| |
| getStatByte | back to summary |
|---|---|
| public byte[][] getStatByte() Returns the status byte array used by the GMSSPrivateKeyASN.1 class
| |
| getStatInt | back to summary |
|---|---|
| public int[] getStatInt() Returns the status int array used by the GMSSPrivateKeyASN.1 class
| |
| getTailStack | back to summary |
|---|---|
| public Vector Returns the tailstack
| |
| initialize | back to summary |
|---|---|
| public void initialize() initializes the treehash instance. The seeds must already have been initialized to work correctly. | |
| initializeSeed | back to summary |
|---|---|
| public void initializeSeed(byte[] seedIn) Method to initialize the seeds needed for the precomputation of right nodes. Should be initialized with index 3*2^i for treehash_i | |
| setFirstNode | back to summary |
|---|---|
| public void setFirstNode(byte[] hash) This method sets the first node stored in the treehash instance itself | |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. returns a String representation of the treehash instance
| |
| update | back to summary |
|---|---|
| public void update(GMSSRandom gmssRandom, byte[] leaf) Calculates one update of the treehash instance, i.e. creates a new leaf and hashes if possible
| |
| updateNextSeed | back to summary |
|---|---|
| public void updateNextSeed(GMSSRandom gmssRandom) updates the nextSeed of this treehash instance one step needed for the schedulng of the seeds
| |
| wasFinished | back to summary |
|---|---|
| public boolean wasFinished() Method to check whether the instance has been finished or not
| |
| wasInitialized | back to summary |
|---|---|
| public boolean wasInitialized() Method to check whether the instance has been initialized or not
| |