我正在编写 Pohlig-Hellman 算法,但我在理解基于算法定义的算法步骤时遇到问题。
通过算法的维基:
我知道第一部分 1) 是计算 p-1 的素数 - 这很好。
但是,我不确定在计算系数的步骤 2) 中我需要做什么:
Let x2 = c0 + c1(2).
125(180/2) = 12590 1 mod (181) so c0 = 0.
125(180/4) = 12545 1 mod (181) so c1 = 0.
Thus, x2 = 0 + 0 = 0.
3) 将系数放在一起并用中国剩余定理求解。
有人可以用简单的英语(i)或伪代码帮助解释这一点。我显然想自己编写解决方案,但除非我理解算法,否则我无法取得更多进展。
注意:我为此做了很多搜索,并阅读了 S. Pohlig 和 M. Hellman (1978)。“一种在 GF(p) 上计算对数的改进算法及其密码学意义,但它对我来说仍然没有真正意义。
提前致谢
更新:在这个例子中 q(125) 如何保持不变。
在这个例子中,他每次都在计算一个新的q。
更具体地说,我不明白如何计算以下内容:现在将 7531 除以 a^c0 得到
7531(a^-2) = 6735 mod p
.