Class HSSPrivateKeyParameters

    • Constructor Detail

      • HSSPrivateKeyParameters

        public HSSPrivateKeyParameters​(int l,
                                       java.util.List<LMSPrivateKeyParameters> keys,
                                       java.util.List<org.bouncycastle.pqc.crypto.lms.LMSSignature> sig,
                                       long index,
                                       long indexLimit)
    • Method Detail

      • getInstance

        public static HSSPrivateKeyParameters getInstance​(byte[] privEnc,
                                                          byte[] pubEnc)
                                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • getInstance

        public static HSSPrivateKeyParameters getInstance​(java.lang.Object src)
                                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • getL

        public int getL()
      • getIndex

        public long getIndex()
      • updateHierarchy

        protected void updateHierarchy​(LMSPrivateKeyParameters[] newKeys,
                                       org.bouncycastle.pqc.crypto.lms.LMSSignature[] newSig)
      • extractKeyShard

        public HSSPrivateKeyParameters extractKeyShard​(int usageCount)
        Return a key that can be used usageCount times.

        Note: this will use the range [index...index + usageCount) for the current key.

        Parameters:
        usageCount - the number of usages the key should have.
        Returns:
        a key based on the current key that can be used usageCount times.
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • getEncoded

        public byte[] getEncoded()
                          throws java.io.IOException
        Description copied from interface: Encodable
        Return a byte array representing the implementing object.
        Specified by:
        getEncoded in interface Encodable
        Specified by:
        getEncoded in class LMSKeyParameters
        Returns:
        a byte array representing the encoding.
        Throws:
        java.io.IOException - if an issue arises generation the encoding.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • clone

        protected java.lang.Object clone()
                                  throws java.lang.CloneNotSupportedException
        Overrides:
        clone in class java.lang.Object
        Throws:
        java.lang.CloneNotSupportedException