双线性群上动态通用累加器的密码分析
1. 恢复 α 值
为使误报概率可忽略不计,总共需要 $O(q \log q)$ 个见证者。恢复 $\alpha$ 的最后一步与之前的攻击方法相同:通过针对不同的小素数 $q$ 重复该过程,然后应用中国剩余定理来恢复秘密值 $\alpha$。此外,如果对于某些素数 $q$,存在多个 $\alpha \bmod q$ 的候选值,可以直接在应用中国剩余定理时忽略这些素数。在这种情况下,为了完全恢复 $\alpha \in \mathbb{Z}$,必须考虑的最大素数 $q$ 必须比 $\ln p$ 大一个常数因子。结论是,$O(q \log q) = O(\log p \log \log p)$ 个见证者足以以极高的概率完全恢复 $\alpha$。
攻击的时间复杂度主要由对每个考虑的 $q$ 猜测 $\alpha \bmod q$ 决定。对于 $\alpha \bmod q$ 的错误猜测,平均而言,在观察到不一致之前,预计需要检查一定数量的见证者,这个数量足以确定正确的值。对于每个这样的猜测,为了考虑对累加器的所有添加操作,几乎需要考虑历史中的所有累加器状态。然而,对于每个素数 $q$,可以在一次扫描中根据 $\alpha \bmod q$ 的猜测对每个状态中发出的非成员见证者进行分类。
最终的时间复杂度主要由以下两部分决定:
- (素数 $q$ 的数量)×($\alpha \bmod q$ 的 $q$ 个猜测)×(累加器状态的数量)
- 对每个素数 $q$ 对所有非成员见证者进行分类:(素数 $q$ 的数量)×(见证者的数量)
最终复杂度为 $O((1 + \ell / \log \log p) \log^2
超级会员免费看
订阅专栏 解锁全文
2485

被折叠的 条评论
为什么被折叠?



