Package org.bouncycastle.pqc.crypto.xmss
Class XMSS
java.lang.Object
org.bouncycastle.pqc.crypto.xmss.XMSS
XMSS.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionExport XMSS private key.Export XMSS public key.voidGenerate a new XMSS private key / public key pair.intgetIndex()Getter XMSS index.Getter XMSS params.byte[]Getter XMSS public seed.byte[]getRoot()Getter XMSS root.protected org.bouncycastle.pqc.crypto.xmss.WOTSPlusGetter WOTS+.voidimportState(byte[] privateKey, byte[] publicKey) Import XMSS private key / public key pair.voidimportState(XMSSPrivateKeyParameters privateKey, XMSSPublicKeyParameters publicKey) protected voidsetIndex(int index) protected voidsetPublicSeed(byte[] publicSeed) protected voidsetRoot(byte[] root) byte[]sign(byte[] message) Sign message.booleanverifySignature(byte[] message, byte[] signature, byte[] publicKey) Verify an XMSS signature.protected org.bouncycastle.pqc.crypto.xmss.WOTSPlusSignaturewotsSign(byte[] messageDigest, org.bouncycastle.pqc.crypto.xmss.OTSHashAddress otsHashAddress) Generate a WOTS+ signature on a message without the corresponding authentication path
-
Constructor Details
-
XMSS
XMSS constructor...- Parameters:
params- XMSSParameters.
-
-
Method Details
-
generateKeys
public void generateKeys()Generate a new XMSS private key / public key pair. -
importState
-
importState
public void importState(byte[] privateKey, byte[] publicKey) Import XMSS private key / public key pair.- Parameters:
privateKey- XMSS private key.publicKey- XMSS public key.
-
sign
public byte[] sign(byte[] message) Sign message.- Parameters:
message- Message to sign.- Returns:
- XMSS signature on digest of message.
-
verifySignature
public boolean verifySignature(byte[] message, byte[] signature, byte[] publicKey) throws ParseException Verify an XMSS signature.- Parameters:
message- Message.signature- XMSS signature.publicKey- XMSS public key.- Returns:
- true if signature is valid false else.
- Throws:
ParseException
-
exportPrivateKey
Export XMSS private key.- Returns:
- XMSS private key.
-
exportPublicKey
Export XMSS public key.- Returns:
- XMSS public key.
-
wotsSign
protected org.bouncycastle.pqc.crypto.xmss.WOTSPlusSignature wotsSign(byte[] messageDigest, org.bouncycastle.pqc.crypto.xmss.OTSHashAddress otsHashAddress) Generate a WOTS+ signature on a message without the corresponding authentication path- Parameters:
messageDigest- Message digest of length n.otsHashAddress- OTS hash address.- Returns:
- XMSS signature.
-
getParams
Getter XMSS params.- Returns:
- XMSS params.
-
getWOTSPlus
protected org.bouncycastle.pqc.crypto.xmss.WOTSPlus getWOTSPlus()Getter WOTS+.- Returns:
- WOTS+ instance.
-
getRoot
public byte[] getRoot()Getter XMSS root.- Returns:
- Root of binary tree.
-
setRoot
protected void setRoot(byte[] root) -
getIndex
public int getIndex()Getter XMSS index.- Returns:
- Index.
-
setIndex
protected void setIndex(int index) -
getPublicSeed
public byte[] getPublicSeed()Getter XMSS public seed.- Returns:
- Public seed.
-
setPublicSeed
protected void setPublicSeed(byte[] publicSeed) -
getPrivateKey
-