secretutil
Contains all the auxillary functions to do linear secret sharing (LSS) over an access structure. Mainly, we represent the
access structure as a binary tree. This could also support matrices for representing access structures.
-
class
secretutil.
SecretUtil
(groupObj, verbose=True)[source]
Bases: object
-
P
(coeff, x)[source]
-
calculateSharesDict
(secret, tree)[source]
calculate shares from given secret and returns a dict as {attribute:shares} pairs
-
calculateSharesList
(secret, tree)[source]
calculate shares from given secret and returns a list of shares.
-
createPolicy
(policy_string)[source]
-
genShares
(secret, k, n)[source]
-
getAttributeList
(Node)[source]
-
getCoefficients
(tree)[source]
-
prune
(policy, attributes)[source]
determine whether a given set of attributes satisfies the policy
-
recoverCoefficients
(list)[source]
recovers the coefficients over a binary tree.
-
recoverSecret
(shares)[source]
take shares and attempt to recover secret by taking sum of coeff * share for all shares.
if user indeed has at least k of n shares, then secret will be recovered.
-
strip_index
(node_str)[source]