org.bouncycastle.pqc.jcajce.interfaces.LMSPrivateKey Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-jdk15to18 Show documentation
Show all versions of bcprov-jdk15to18 Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.
package org.bouncycastle.pqc.jcajce.interfaces;
import java.security.PrivateKey;
/**
* Base interface for an LMS private key
*/
public interface LMSPrivateKey
extends LMSKey, PrivateKey
{
/**
* Return the index of the next signature.
*
* @return the index number for the next signature.
*/
long getIndex();
/**
* Return the number of usages left for the private key.
*
* @return the number of times the key can be used before it is exhausted.
*/
long getUsagesRemaining();
/**
* 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.
*
* @param usageCount the number of usages the key should have.
* @return a key based on the current key that can be used usageCount times.
*/
LMSPrivateKey extractKeyShard(int usageCount);
}