【发布时间】:2021-03-21 16:39:16
【问题描述】:
Python 有一个charm-crypto 框架,它在secretutil 类中实现。 通过使用这个类,我们可以将一个秘密分成几部分。然后我们可以使用这个类中定义的所有其他函数来重构我们的秘密。
例如:
给定一个字符串策略 P(例如 CONDITION1 和 CONDITION2 或 CONDITION3),我们可以使用 createPolicy 方法来解析字符串并创建一个策略对象:
policy_object = createPolicy(CONDITION1 and CONDITION2 or CONDITION3) => ((CONDITION1 and CONDITION2) or CONDITION3)
然后我们可以利用 calculateSharesList 方法创建一个秘密的共享,例如:
sharesOfASecret = calculateSharesList(someSecret, policy_object)
最后但并非最不重要的一点是,我们可以使用determines whether a given set of attributes satisfies the policy 的prune 方法和计算给定策略字符串属性的不同系数的getCoefficients 方法。
那么,GO 是否存在任何 LSS 插件?或者对如何在 GO 中实现上述内容有任何想法?
简而言之,我需要实现的是:
- 给函数一些策略作为字符串
- 该函数构造一个策略对象(charm-crypto:
createPolicy()) - 然后使用策略对象来计算秘密的份额(charm-crypto:
calculateSharesList())
然后进行解密:
- 另一个函数将一些属性和策略作为输入
- 该函数检查属性是否满足策略(charm-crypto:
prune()) - 计算策略的系数(charm-crypto:
getCoefficients()) - 重建秘密
【问题讨论】:
标签: go cryptography