RSA算法整理

2020-03-07  本文已影响0人  客三消

1.随机取大质数 pq

2.设 n = p x q, n 的二进制位数就是密钥长度,一般为1024,2048.

3.计算n的欧拉函数 φ(n) = (p - 1)(q - 1)

4.从 1 - φ(n) 之间选择一个整数,且 eφ(n) 互质,计作 e

5.计算 e 对于 φ(n) 的模反元素d
ed ≡ 1 (mod φ(n))
意思就是 ed / φ(n) 余数 1
等价于 ed - 1 = k * φ(n), 由于dk 未知,相当于二元一次方程求解

  1. (n,e) 作为公钥, (n,d) 作为私钥

7.加密: me ≡ c (mod n) ,其中m (密文,整数)二进制长度不可超过n m:明文 c:密文

8.解密: cd ≡ m (mod n) 欧拉定理可证

9.暴力破解:

上一篇下一篇

猜你喜欢

热点阅读