魅力加密中Abenc_BSW07的复杂策略



我正在尝试使用 charm加密库库的CPABE功能。具体来说,我正在使用 abenc_bsw07 方案。

与示例中的策略相比,是否有一种方法来定义更复杂的策略和属性:

attributes = ['ONE', 'TWO', 'THREE']
access_policy = '((four or three) and (three or one))'

我希望能够做类似于CPABE(http://acsc.cs.utexas.edu/cpabe/tutorial.html(实现的事情。那里的属性具有价值,策略可以包含平等或更大/较小的关系。

我也可以使用替代方案,如果它支持所需的功能。

附加策略功能

政策表达有多种选择。一些安倍晋三计划仅支持纯净和纯粹或纯粹或policies。一些仅以特定形式的支持政策,例如CNF或DNF。

Bethencourt的CP-ABE支持具有阈值节点的政策树。可嵌套阈值节点足以实现数值属性,如果您想要一个示例,则可以查看libbswabe。

假设我们有四个属性ABCD=5。阈值策略可能看起来像这样:2 of (A, B, C),这意味着只有2个或更多属性从列表中符合策略并能够解密密文。一个和栅极(A AND B(不过是 2 of (A, B),一个或门( A OR B(不过是 1 of (A, B)

数值策略(例如A AND D<=24(在解析时会导致相当大的策略树,因为数值属性是用二进制编码的,然后生成了每个位置的许多掩码。这是一个非常昂贵的操作(加密和解密(。

魅力功能

魅力不支持阈值策略。策略解析器(charm.toolbox.policytree(稍微支持数值属性,但是没有代码可以处理属性集中的数值属性。也缺少创建bitMask属性的算法。

应该很容易添加阈值门,但是有必要将二进制树更改为具有任意数量的子节点的树(请参阅charm.toolbox.node(。

更改并不复杂,但这有点太多了。如果您有兴趣进行这些更改,则应进行。如果您设法添加了这些功能而不破坏现有代码(运行魅力测试(,则可以肯定地确定这些更改将被合并到主。

最新更新