Class GMSSPrivateKeyParameters

  • All Implemented Interfaces:
    CipherParameters

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

      • GMSSPrivateKeyParameters

        public GMSSPrivateKeyParameters​(byte[][] currentSeed,
                                        byte[][] nextNextSeed,
                                        byte[][][] currentAuthPath,
                                        byte[][][] nextAuthPath,
                                        Treehash[][] currentTreehash,
                                        Treehash[][] nextTreehash,
                                        java.util.Vector[] currentStack,
                                        java.util.Vector[] nextStack,
                                        java.util.Vector[][] currentRetain,
                                        java.util.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:
        GMSSKeyPairGenerator
      • GMSSPrivateKeyParameters

        public GMSSPrivateKeyParameters​(int[] index,
                                        byte[][] currentSeeds,
                                        byte[][] nextNextSeeds,
                                        byte[][][] currentAuthPaths,
                                        byte[][][] nextAuthPaths,
                                        byte[][][] keep,
                                        Treehash[][] currentTreehash,
                                        Treehash[][] nextTreehash,
                                        java.util.Vector[] currentStack,
                                        java.util.Vector[] nextStack,
                                        java.util.Vector[][] currentRetain,
                                        java.util.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 Detail

      • isUsed

        public boolean isUsed()
      • markUsed

        public void markUsed()
      • 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
      • getNumLeafs

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