关于指数模块化的算法

时间:2014-02-14 04:20:49

标签: algorithm

给定整数 y e p
你如何在 y = m e mod p)中找到 m

这是我练习中期的一个问题我似乎无法解决这个因为指数。

如果它有助于gcd( e p -1)= 1。

1 个答案:

答案 0 :(得分:1)

假设p为素数,我们可以按如下方式解决问题。使用Extended Euclidean Algorithm计算e(mod p-1)的倒数d,然后计算

y^d (mod p)

然后我们

y^d = m^(de) (mod p)
    = m^(k*(p-1)+1) (mod p) for some integer k
    = m (mod p)

因为如果m!= 0 mod p,我们根据费马的小定理得到m^(p-1) = 1 (mod p),如果m = 0(mod p),则m ^ anything = 0 = m(mod p)