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 boolean
equals(java.lang.Object o)
LMSPrivateKeyParameters
extractKeyShard(int usageCount)
Return a key that can be used usageCount times.LMSContext
generateLMSContext()
byte[]
generateSignature(LMSContext context)
byte[]
getEncoded()
Return a byte array representing the implementing object.byte[]
getI()
int
getIndex()
Return the key index (the q value).static LMSPrivateKeyParameters
getInstance(byte[] privEnc, byte[] pubEnc)
static LMSPrivateKeyParameters
getInstance(java.lang.Object src)
byte[]
getMasterSecret()
LMOtsParameters
getOtsParameters()
LMSPublicKeyParameters
getPublicKey()
LMSigParameters
getSigParameters()
long
getUsagesRemaining()
int
hashCode()
-
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:
generateLMSContext
in interfaceLMSContextBasedSigner
-
generateSignature
public byte[] generateSignature(LMSContext context)
- Specified by:
generateSignature
in 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:
getUsagesRemaining
in interfaceLMSContextBasedSigner
-
getPublicKey
public LMSPublicKeyParameters getPublicKey()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.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 interfaceEncodable
- Specified by:
getEncoded
in classLMSKeyParameters
- Returns:
- a byte array representing the encoding.
- Throws:
java.io.IOException
- if an issue arises generation the encoding.
-
-