Top Fields Constructors Methods
org.bouncycastle.mls.TreeKEM

public Class TreeKEMPrivateKey

extends Object
Class Inheritance
Imports
java.io.IOException, java.util.ArrayList, .Arrays, .HashMap, .List, .Map, org.bouncycastle.crypto.AsymmetricCipherKeyPair, org.bouncycastle.mls.TreeSize, org.bouncycastle.mls.codec.HPKECiphertext, .UpdatePath, org.bouncycastle.mls.crypto.MlsCipherSuite, .Secret, org.bouncycastle.util.Strings, org.bouncycastle.util.encoders.Hex

Field Summary

Modifier and TypeField and Description
pack-priv LeafIndex
pack-priv Map<NodeIndex, Secret>
pack-priv Map<NodeIndex, AsymmetricCipherKeyPair>
pack-priv MlsCipherSuite
pack-priv Secret

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public final boolean
public TreeKEMPrivateKey
copy()

public static TreeKEMPrivateKey
create(TreeKEMPublicKey pub, LeafIndex from, Secret leafSecret)

public void
decap(LeafIndex from, TreeKEMPublicKey pub, byte[] context, UpdatePath path, List<LeafIndex> except)

public String
dump()

private AsymmetricCipherKeyPair
public Secret
public Secret
private boolean
private void
implant(TreeKEMPublicKey pub, NodeIndex start, Secret pathSecret)

public void
public void
public static TreeKEMPrivateKey
joiner(TreeKEMPublicKey pub, LeafIndex index, AsymmetricCipherKeyPair leafPriv, NodeIndex intersect, Secret pathSecret)

public void
setLeafKey(byte[] leafSkBytes)

protected AsymmetricCipherKeyPair
setPrivateKey(NodeIndex n, boolean isConst)

public static TreeKEMPrivateKey
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

indexback to summary
pack-priv LeafIndex index
pathSecretsback to summary
pack-priv Map<NodeIndex, Secret> pathSecrets
privateKeyCacheback to summary
pack-priv Map<NodeIndex, AsymmetricCipherKeyPair> privateKeyCache
suiteback to summary
pack-priv MlsCipherSuite suite
updateSecretback to summary
pack-priv Secret updateSecret

Constructor Detail

TreeKEMPrivateKeyback to summary
public TreeKEMPrivateKey(MlsCipherSuite suite, LeafIndex index)

Method Detail

consistentback to summary
public final boolean consistent(TreeKEMPublicKey other) throws IOException
copyback to summary
public TreeKEMPrivateKey copy()
createback to summary
public static TreeKEMPrivateKey create(TreeKEMPublicKey pub, LeafIndex from, Secret leafSecret) throws Exception
decapback to summary
public void decap(LeafIndex from, TreeKEMPublicKey pub, byte[] context, UpdatePath path, List<LeafIndex> except) throws Exception
dumpback to summary
public String dump() throws IOException
getPrivateKeyback to summary
private AsymmetricCipherKeyPair getPrivateKey(NodeIndex n) throws IOException
getSharedPathSecretback to summary
public Secret getSharedPathSecret(LeafIndex to)
getUpdateSecretback to summary
public Secret getUpdateSecret()
havePrivateKeyback to summary
private boolean havePrivateKey(NodeIndex n)
implantback to summary
private void implant(TreeKEMPublicKey pub, NodeIndex start, Secret pathSecret) throws Exception
insertPathSecretback to summary
public void insertPathSecret(NodeIndex index, Secret secret)
insertPrivateKeyback to summary
public void insertPrivateKey(NodeIndex index, AsymmetricCipherKeyPair keyPair)
joinerback to summary
public static TreeKEMPrivateKey joiner(TreeKEMPublicKey pub, LeafIndex index, AsymmetricCipherKeyPair leafPriv, NodeIndex intersect, Secret pathSecret) throws Exception
setLeafKeyback to summary
public void setLeafKey(byte[] leafSkBytes)
setPrivateKeyback to summary
protected AsymmetricCipherKeyPair setPrivateKey(NodeIndex n, boolean isConst) throws IOException
soloback to summary
public static TreeKEMPrivateKey solo(MlsCipherSuite suite, LeafIndex index, AsymmetricCipherKeyPair leafPriv)
truncateback to summary
public void truncate(TreeSize size)