public class HSSPrivateKeyParameters extends LMSKeyParameters implements LMSContextBasedSigner
Constructor and Description |
---|
HSSPrivateKeyParameters(int l,
java.util.List<LMSPrivateKeyParameters> keys,
java.util.List<org.bouncycastle.pqc.crypto.lms.LMSSignature> sig,
long index,
long indexLimit) |
Modifier and Type | Method and Description |
---|---|
protected java.lang.Object |
clone() |
boolean |
equals(java.lang.Object o) |
HSSPrivateKeyParameters |
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.
|
long |
getIndex() |
static HSSPrivateKeyParameters |
getInstance(byte[] privEnc,
byte[] pubEnc) |
static HSSPrivateKeyParameters |
getInstance(java.lang.Object src) |
int |
getL() |
LMSParameters[] |
getLMSParameters() |
HSSPublicKeyParameters |
getPublicKey() |
long |
getUsagesRemaining() |
int |
hashCode() |
protected void |
updateHierarchy(LMSPrivateKeyParameters[] newKeys,
org.bouncycastle.pqc.crypto.lms.LMSSignature[] newSig) |
isPrivate
public HSSPrivateKeyParameters(int l, java.util.List<LMSPrivateKeyParameters> keys, java.util.List<org.bouncycastle.pqc.crypto.lms.LMSSignature> sig, long index, long indexLimit)
public static HSSPrivateKeyParameters getInstance(byte[] privEnc, byte[] pubEnc) throws java.io.IOException
java.io.IOException
public static HSSPrivateKeyParameters getInstance(java.lang.Object src) throws java.io.IOException
java.io.IOException
public int getL()
public long getIndex()
public LMSParameters[] getLMSParameters()
protected void updateHierarchy(LMSPrivateKeyParameters[] newKeys, org.bouncycastle.pqc.crypto.lms.LMSSignature[] newSig)
public long getUsagesRemaining()
getUsagesRemaining
in interface LMSContextBasedSigner
public HSSPrivateKeyParameters extractKeyShard(int usageCount)
Note: this will use the range [index...index + usageCount) for the current key.
usageCount
- the number of usages the key should have.public HSSPublicKeyParameters getPublicKey()
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public byte[] getEncoded() throws java.io.IOException
Encodable
getEncoded
in interface Encodable
getEncoded
in class LMSKeyParameters
java.io.IOException
- if an issue arises generation the encoding.public int hashCode()
hashCode
in class java.lang.Object
protected java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in class java.lang.Object
java.lang.CloneNotSupportedException
public LMSContext generateLMSContext()
generateLMSContext
in interface LMSContextBasedSigner
public byte[] generateSignature(LMSContext context)
generateSignature
in interface LMSContextBasedSigner