Class GMSSPrivateKeyParameters

All Implemented Interfaces:
CipherParameters

public class GMSSPrivateKeyParameters extends GMSSKeyParameters
This class provides a specification for a GMSS private key.
  • Constructor Details

    • GMSSPrivateKeyParameters

      public GMSSPrivateKeyParameters(byte[][] currentSeed, byte[][] nextNextSeed, byte[][][] currentAuthPath, byte[][][] nextAuthPath, Treehash[][] currentTreehash, Treehash[][] nextTreehash, Vector[] currentStack, Vector[] nextStack, Vector[][] currentRetain, Vector[][] nextRetain, byte[][] nextRoot, byte[][] currentRootSig, GMSSParameters gmssParameterset, GMSSDigestProvider digestProvider)
      Generates a new GMSS private key
      Parameters:
      currentSeed - seed for the generation of private OTS keys for the current subtrees
      nextNextSeed - seed for the generation of private OTS keys for the next subtrees
      currentAuthPath - array of current authentication paths
      nextAuthPath - array of next authentication paths
      currentTreehash - array of current treehash instances
      nextTreehash - array of next treehash instances
      currentStack - array of current shared stacks
      nextStack - array of next shared stacks
      currentRetain - array of current retain stacks
      nextRetain - array of next retain stacks
      nextRoot - the roots of the next subtree
      currentRootSig - array of signatures of the roots of the current subtrees
      gmssParameterset - the GMSS Parameterset
      See Also:
    • GMSSPrivateKeyParameters

      public GMSSPrivateKeyParameters(int[] index, byte[][] currentSeeds, byte[][] nextNextSeeds, byte[][][] currentAuthPaths, byte[][][] nextAuthPaths, byte[][][] keep, Treehash[][] currentTreehash, Treehash[][] nextTreehash, Vector[] currentStack, Vector[] nextStack, Vector[][] currentRetain, Vector[][] nextRetain, GMSSLeaf[] nextNextLeaf, GMSSLeaf[] upperLeaf, GMSSLeaf[] upperTreehashLeaf, int[] minTreehash, byte[][] nextRoot, GMSSRootCalc[] nextNextRoot, byte[][] currentRootSig, GMSSRootSig[] nextRootSig, GMSSParameters gmssParameterset, GMSSDigestProvider digestProvider)
      /**
      Parameters:
      index - tree indices
      keep - keep array for the authPath algorithm
      currentTreehash - treehash for authPath algorithm of current tree
      nextTreehash - treehash for authPath algorithm of next tree (TREE+)
      currentStack - shared stack for authPath algorithm of current tree
      nextStack - shared stack for authPath algorithm of next tree (TREE+)
      currentRetain - retain stack for authPath algorithm of current tree
      nextRetain - retain stack for authPath algorithm of next tree (TREE+)
      nextNextLeaf - array of upcoming leafs of the tree after next (LEAF++) of each layer
      upperLeaf - needed for precomputation of upper nodes
      upperTreehashLeaf - needed for precomputation of upper treehash nodes
      minTreehash - index of next treehash instance to receive an update
      nextRoot - the roots of the next trees (ROOT+)
      nextNextRoot - the roots of the tree after next (ROOT++)
      currentRootSig - array of signatures of the roots of the current subtrees (SIG)
      nextRootSig - array of signatures of the roots of the next subtree (SIG+)
      gmssParameterset - the GMSS Parameterset
  • Method Details

    • isUsed

      public boolean isUsed()
    • markUsed

      public void markUsed()
    • nextKey

      public GMSSPrivateKeyParameters nextKey()
    • getIndex

      public int[] getIndex()
    • getIndex

      public int getIndex(int i)
      Returns:
      The current index of layer i
    • getCurrentSeeds

      public byte[][] getCurrentSeeds()
    • getCurrentAuthPaths

      public byte[][][] getCurrentAuthPaths()
    • getSubtreeRootSig

      public byte[] getSubtreeRootSig(int i)
      Returns:
      The one-time signature of the root of the current subtree
    • getName

      public GMSSDigestProvider getName()
    • getNumLeafs

      public int getNumLeafs(int i)
      Returns:
      The number of leafs of each tree of layer i