public abstract class AccessStructure extends java.lang.Object implements LinearSecretSharing<PolicyFact>
LinearSecretSharing
for schemes that are based on special threshold trees,
where leaf nodes correspond to shares.
An additional map associates a share receiver to each number/leaf.LinearSecretSharing| Modifier and Type | Field and Description |
|---|---|
protected org.cryptimeleon.math.structures.rings.zn.Zp |
field
The field over which the shares of the secret and the constants of the
solving vector will be calculated.
|
protected java.util.HashMap<java.lang.Integer,PolicyFact> |
shareReceivers
Maps share indices to the share receivers they belong to.
|
protected TreeNode |
thresholdTree
The root node of the threshold tree underlying this access structure.
|
| Constructor and Description |
|---|
AccessStructure(Policy policy,
org.cryptimeleon.math.structures.rings.zn.Zp field)
Constructs the access structure from
policy to share over field. |
| Modifier and Type | Method and Description |
|---|---|
org.cryptimeleon.math.structures.rings.zn.Zp |
getSharedRing()
Returns the ring over which the secret is being shared.
|
java.util.Map<java.lang.Integer,PolicyFact> |
getShareReceiverMap()
Returns the map that assigns each index i of a share \(s_i\) to its share receiver.
|
boolean |
isQualified(java.util.Set<? extends PolicyFact> setOfShareReceivers)
Checks whether or not the given set of share receivers will be able to recreate the secret
by pooling their shares \(\{s_i \; | \; \text{getShareReceiver}(i) \in \text{setOfShareReceivers}\}\).
|
java.lang.String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitcheckShareConsistency, completeShares, getShareReceiver, getShares, getSharesOfReceiver, getSharesOfReceivers, getSolvingVector, isQualified, reconstructprotected TreeNode thresholdTree
protected org.cryptimeleon.math.structures.rings.zn.Zp field
protected java.util.HashMap<java.lang.Integer,PolicyFact> shareReceivers
public AccessStructure(Policy policy, org.cryptimeleon.math.structures.rings.zn.Zp field)
policy to share over field.public boolean isQualified(java.util.Set<? extends PolicyFact> setOfShareReceivers) throws WrongAccessStructureException
LinearSecretSharingisQualified in interface LinearSecretSharing<PolicyFact>setOfShareReceivers - the set of share receivers to checkWrongAccessStructureExceptionpublic java.lang.String toString()
toString in class java.lang.Objectpublic java.util.Map<java.lang.Integer,PolicyFact> getShareReceiverMap()
LinearSecretSharinggetShareReceiverMap in interface LinearSecretSharing<PolicyFact>public org.cryptimeleon.math.structures.rings.zn.Zp getSharedRing()
LinearSecretSharinggetSharedRing in interface LinearSecretSharing<PolicyFact>