以模p中的a,b和a ^ n计算b ^ n

时间:2018-06-08 17:40:59

标签: algorithm math number-theory

是否有任何算法可以计算(b N mod p),给定a,b,p(这是一个素数)和(a N mod p)但是N未知?

一个简单的方法是获得N的离散对数,但是有更有效的方法吗?或者问题等同于离散对数?

1 个答案:

答案 0 :(得分:5)

一般情况下没有办法。这是因为你的条件不足以确定b N (mod p)的值。

例如,设a = 4,b = 2,p = 5,并且 N (mod p)= 1.那么N可以是2或4,因为4 2 = 1(mod 5)和4 4 = 1(mod 5)。然而,2 2 = 4(mod 5)和2 4 = 1(mod 5),因此给出的信息不足以确定2 的值ñ

如果给出更多信息 - 也许你被告知a和b模p的顺序是相等的,或者b的顺序除以a的顺序,或者a是原始根 - 那么它是可能的。但我不知道这样做的有效算法。