Top Description Fields Constructors Methods
org.bouncycastle.pqc.crypto.xmss

public final Class BDS

extends Object
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
java.io.IOException, .ObjectInputStream, .ObjectOutputStream, .Serializable, java.util.ArrayList, .Iterator, .LinkedList, .List, .Map, .Stack, .TreeMap, org.bouncycastle.asn1.ASN1ObjectIdentifier

BDS.

Field Summary

Modifier and TypeField and Description
private List<XMSSNode>
private int
private int
k

private Map<Integer, XMSSNode>
private transient int
private Map<Integer, LinkedList<XMSSNode>>
private XMSSNode
private static final long
private Stack<XMSSNode>
private final List<BDSTreeHash>
private final int
private boolean
private transient WOTSPlus

Constructor Summary

AccessConstructor and Description
pack-priv
BDS(XMSSParameters
tree parameters
params
,
int maxIndex, int
the index that has been reached.
index
)

Place holder BDS for when state is exhausted.

pack-priv
BDS(XMSSParameters
tree parameters
params
,
byte[]
public seed for tree
publicSeed
,
byte[]
secret seed for tree
secretKeySeed
,
OTSHashAddress
hash address
otsHashAddress
)

Set up constructor.

pack-priv
BDS(XMSSParameters
tree parameters
params
,
byte[]
public seed for tree
publicSeed
,
byte[]
secret seed for tree
secretKeySeed
,
OTSHashAddress
hash address
otsHashAddress
,
int
index counter for the state to be at.
index
)

Set up constructor for a tree where the original BDS state was lost.

private
BDS(WOTSPlus wotsPlus, int treeHeight, int k, int maxIndex)

pack-priv
BDS(BDS last)

private
BDS(BDS last, byte[] publicSeed, byte[] secretKeySeed, OTSHashAddress otsHashAddress)

private
private
BDS(BDS last, int maxIndex, ASN1ObjectIdentifier digest)

Method Summary

Modifier and TypeMethod and Description
protected List<XMSSNode>
private BDSTreeHash
protected int
public int
public BDS
getNextState(byte[] publicSeed, byte[] secretKeySeed, OTSHashAddress otsHashAddress)

protected XMSSNode
protected int
private void
initialize(byte[] publicSeed, byte[] secretSeed, OTSHashAddress otsHashAddress)

pack-priv boolean
pack-priv void
private void
nextAuthenticationPath(byte[] publicSeed, byte[] secretSeed, OTSHashAddress otsHashAddress)

private void
private void
public BDS
withMaxIndex(int maxIndex, ASN1ObjectIdentifier digestName)

public BDS
private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

authenticationPathback to summary
private List<XMSSNode> authenticationPath
indexback to summary
private int index
kback to summary
private int k
keepback to summary
private Map<Integer, XMSSNode> keep
maxIndexback to summary
private transient int maxIndex
retainback to summary
private Map<Integer, LinkedList<XMSSNode>> retain
rootback to summary
private XMSSNode root
serialVersionUIDback to summary
private static final long serialVersionUID
stackback to summary
private Stack<XMSSNode> stack
treeHashInstancesback to summary
private final List<BDSTreeHash> treeHashInstances
treeHeightback to summary
private final int treeHeight
usedback to summary
private boolean used
wotsPlusback to summary
private transient WOTSPlus wotsPlus

Constructor Detail

BDSback to summary
pack-priv BDS(XMSSParameters params, int maxIndex, int index)

Place holder BDS for when state is exhausted.

Parameters
params:XMSSParameters

tree parameters

index:int

the index that has been reached.

BDSback to summary
pack-priv BDS(XMSSParameters params, byte[] publicSeed, byte[] secretKeySeed, OTSHashAddress otsHashAddress)

Set up constructor.

Parameters
params:XMSSParameters

tree parameters

publicSeed:byte[]

public seed for tree

secretKeySeed:byte[]

secret seed for tree

otsHashAddress:OTSHashAddress

hash address

BDSback to summary
pack-priv BDS(XMSSParameters params, byte[] publicSeed, byte[] secretKeySeed, OTSHashAddress otsHashAddress, int index)

Set up constructor for a tree where the original BDS state was lost.

Parameters
params:XMSSParameters

tree parameters

publicSeed:byte[]

public seed for tree

secretKeySeed:byte[]

secret seed for tree

otsHashAddress:OTSHashAddress

hash address

index:int

index counter for the state to be at.

BDSback to summary
private BDS(WOTSPlus wotsPlus, int treeHeight, int k, int maxIndex)
BDSback to summary
pack-priv BDS(BDS last)
BDSback to summary
private BDS(BDS last, byte[] publicSeed, byte[] secretKeySeed, OTSHashAddress otsHashAddress)
BDSback to summary
private BDS(BDS last, ASN1ObjectIdentifier digest)
BDSback to summary
private BDS(BDS last, int maxIndex, ASN1ObjectIdentifier digest)

Method Detail

getAuthenticationPathback to summary
protected List<XMSSNode> getAuthenticationPath()
getBDSTreeHashInstanceForUpdateback to summary
private BDSTreeHash getBDSTreeHashInstanceForUpdate()
getIndexback to summary
protected int getIndex()
getMaxIndexback to summary
public int getMaxIndex()
getNextStateback to summary
public BDS getNextState(byte[] publicSeed, byte[] secretKeySeed, OTSHashAddress otsHashAddress)
getRootback to summary
protected XMSSNode getRoot()
getTreeHeightback to summary
protected int getTreeHeight()
initializeback to summary
private void initialize(byte[] publicSeed, byte[] secretSeed, OTSHashAddress otsHashAddress)
isUsedback to summary
pack-priv boolean isUsed()
markUsedback to summary
pack-priv void markUsed()
nextAuthenticationPathback to summary
private void nextAuthenticationPath(byte[] publicSeed, byte[] secretSeed, OTSHashAddress otsHashAddress)
readObjectback to summary
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
validateback to summary
private void validate()
withMaxIndexback to summary
public BDS withMaxIndex(int maxIndex, ASN1ObjectIdentifier digestName)
withWOTSDigestback to summary
public BDS withWOTSDigest(ASN1ObjectIdentifier digestName)
writeObjectback to summary
private void writeObject(ObjectOutputStream out) throws IOException