5

我目前正在努力使用RSA 加密算法

我的问题位于public/private密钥生成,这是我的步骤:

 1. -Generate 2 prime numbers p, q with p > q and nbBits(p) == nbBits(q)
             using the miller-rabin algorythm this was done succesfully
 2. -compute n = p*q
 3. -compute fi(n) = (p-1)*(q-1)

麻烦来了:我需要找到一个整数 e q < e < fi(n)。这个整数需要有某种素数。

我的问题是:e 必须是原始的(不能被除自身或 1 以外的任何数字除)还是原始的 WITHfi(n) (gcd(e, fi(n)) = 1)或两者?

我确实有一些问题要弄清楚(我的消息来源明确指出需要欧几里德算法(gcd),但由于英语不是我的母语,我在数学英语方面遇到了一些麻烦)

可能是一个愚蠢的问题,但我找不到明确的解释(至少对我来说足够清楚)。

感谢阅读,更感谢您的回答。

4

1 回答 1

3

加密指数e需要与 互质phi(n),即gcd(e,phi(n)) = 1。这个条件是必要的,因为否则,您将无法(通过欧几里德的扩展算法)构造一个指数d(解密指数),使得e*d = 1 mod phi(n).

于 2013-03-16T18:09:53.710 回答