在Pollard rho方法中正确使用否定映射以加速椭圆曲线离散对数问题求解
背景与问题提出
在2009年7月,有研究团队宣布利用214台PlayStation 3(PS3)游戏主机集群破解了112位素域上椭圆曲线的离散对数问题(ECDLP),整体攻击成本约为60个PS3年。而现在,我们可以在相同硬件上以几乎两倍的速度解决相同曲线(或形式为 $y^2 = x^3 - 3x + b$ 的其他曲线)上的离散对数问题。
这个改进主要来自于Pollard rho方法的一个新变体,它能在无分支的情况下充分利用否定映射,次要原因是改进了模运算技术。传统观点认为否定映射能带来 $\sqrt{2}$ 的加速,但在SIMD(单指令多数据)环境中,由于需要分支操作,会导致代码运行变慢,所以之前的研究很少使用否定映射。
Pollard rho方法回顾
- 通用rho方法
- 目标是在映射 $(a, b) \to aP + bQ$ 中找到碰撞,从而计算出离散对数 $k$(使得 $Q = kP$)。
- 通过迭代函数 $W_{i+1} = f(W_i) = a(W_i)P + b(W_i)Q$ 来寻找碰撞。如果 $W_i$ 和 $W_j$ 碰撞,那么后续序列也会进入循环,可以使用Floyd循环查找方法高效检测。
- 若函数 $a(R)$ 和 $b(R)$ 模 $\ell$ 随机,则迭代过程可看作在 $\langle P \rangle$ 中进行随机游走,平均约经过 $\sqrt{\frac{\pi\ell}{2}}$ 次迭代会发生碰撞。
利用否定映射加速Pollard rho算法
超级会员免费看
订阅专栏 解锁全文
58

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



