Interface LMSPrivateKey

  • All Superinterfaces:
    javax.security.auth.Destroyable, java.security.Key, LMSKey, java.security.PrivateKey, java.io.Serializable
    All Known Implementing Classes:
    BCLMSPrivateKey

    public interface LMSPrivateKey
    extends LMSKey, java.security.PrivateKey
    Base interface for an LMS private key
    • Field Summary

      • Fields inherited from interface java.security.Key

        serialVersionUID
      • Fields inherited from interface java.security.PrivateKey

        serialVersionUID
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      LMSPrivateKey extractKeyShard​(int usageCount)
      Return a key representing a shard of the key space that can be used usageCount times.
      long getIndex()
      Return the index of the next signature.
      long getUsagesRemaining()
      Return the number of usages left for the private key.
      • Methods inherited from interface javax.security.auth.Destroyable

        destroy, isDestroyed
      • Methods inherited from interface java.security.Key

        getAlgorithm, getEncoded, getFormat
      • Methods inherited from interface org.bouncycastle.pqc.jcajce.interfaces.LMSKey

        getLevels
    • Method Detail

      • getIndex

        long getIndex()
        Return the index of the next signature.
        Returns:
        the index number for the next signature.
      • getUsagesRemaining

        long getUsagesRemaining()
        Return the number of usages left for the private key.
        Returns:
        the number of times the key can be used before it is exhausted.
      • extractKeyShard

        LMSPrivateKey extractKeyShard​(int usageCount)
        Return a key representing a shard of the key space 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.