Package org.bouncycastle.pqc.crypto.lms
Class LMSPrivateKeyParameters
- java.lang.Object
-
- org.bouncycastle.crypto.params.AsymmetricKeyParameter
-
- org.bouncycastle.pqc.crypto.lms.LMSKeyParameters
-
- org.bouncycastle.pqc.crypto.lms.LMSPrivateKeyParameters
-
- All Implemented Interfaces:
CipherParameters,LMSContextBasedSigner,Encodable
public class LMSPrivateKeyParameters extends LMSKeyParameters implements LMSContextBasedSigner
-
-
Constructor Summary
Constructors Constructor Description LMSPrivateKeyParameters(LMSigParameters lmsParameter, LMOtsParameters otsParameters, int q, byte[] I, int maxQ, byte[] masterSecret)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object o)LMSPrivateKeyParametersextractKeyShard(int usageCount)Return a key that can be used usageCount times.LMSContextgenerateLMSContext()byte[]generateSignature(LMSContext context)byte[]getEncoded()Return a byte array representing the implementing object.byte[]getI()intgetIndex()Return the key index (the q value).static LMSPrivateKeyParametersgetInstance(byte[] privEnc, byte[] pubEnc)static LMSPrivateKeyParametersgetInstance(java.lang.Object src)byte[]getMasterSecret()LMOtsParametersgetOtsParameters()LMSPublicKeyParametersgetPublicKey()LMSigParametersgetSigParameters()longgetUsagesRemaining()inthashCode()-
Methods inherited from class org.bouncycastle.crypto.params.AsymmetricKeyParameter
isPrivate
-
-
-
-
Constructor Detail
-
LMSPrivateKeyParameters
public LMSPrivateKeyParameters(LMSigParameters lmsParameter, LMOtsParameters otsParameters, int q, byte[] I, int maxQ, byte[] masterSecret)
-
-
Method Detail
-
getInstance
public static LMSPrivateKeyParameters getInstance(byte[] privEnc, byte[] pubEnc) throws java.io.IOException
- Throws:
java.io.IOException
-
getInstance
public static LMSPrivateKeyParameters getInstance(java.lang.Object src) throws java.io.IOException
- Throws:
java.io.IOException
-
getIndex
public int getIndex()
Return the key index (the q value).- Returns:
- private key index number.
-
generateLMSContext
public LMSContext generateLMSContext()
- Specified by:
generateLMSContextin interfaceLMSContextBasedSigner
-
generateSignature
public byte[] generateSignature(LMSContext context)
- Specified by:
generateSignaturein interfaceLMSContextBasedSigner
-
extractKeyShard
public LMSPrivateKeyParameters 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.
-
getSigParameters
public LMSigParameters getSigParameters()
-
getOtsParameters
public LMOtsParameters getOtsParameters()
-
getI
public byte[] getI()
-
getMasterSecret
public byte[] getMasterSecret()
-
getUsagesRemaining
public long getUsagesRemaining()
- Specified by:
getUsagesRemainingin interfaceLMSContextBasedSigner
-
getPublicKey
public LMSPublicKeyParameters getPublicKey()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
getEncoded
public byte[] getEncoded() throws java.io.IOExceptionDescription copied from interface:EncodableReturn a byte array representing the implementing object.- Specified by:
getEncodedin interfaceEncodable- Specified by:
getEncodedin classLMSKeyParameters- Returns:
- a byte array representing the encoding.
- Throws:
java.io.IOException- if an issue arises generation the encoding.
-
-