RSA算法计算过程

参考了很多博客,主要解决RSA算法的计算过程。

原博客出自这里,https://blog.csdn.net/u014044812/article/details/80866759#commentBox

有详细的证明过程,包括一些数论的知识,个人只整理了RSA如何计算及RSA加解密,其他的细节参考原博

六步生成密钥

1.随机选择两个不相等的质数p和q

p = 61

q = 53

2.计算p和q的乘积n

n = 61×53 = 3233

3. 计算n的欧拉函数φ(n)(这儿用到了欧拉定理)

φ(n) = φ(p1p2) = φ(p1)φ(p2)

φ(3233) = φ(61x53) = φ(61)φ(53)

4.随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质 ,假设选择了17

5.计算出d,使得ed % φ(n) = 1(如何解出d需要用到辗转相除法),得到d为2753

6.形成公钥(e, n) =(17, 3223) ,私钥 (d, n) = (2753, 3223)

 

用公钥加密,假设选择A,ASCII为65,即m=65

加密的过程:

m^e≡c(modn)

即 65 ^ 17≡c(3233)

得到c = 2790

解密的过程:

c^d≡m(modn)

即2790 ^ 2753 ≡ m(mod3233)

得到m = 65

 

你可能感兴趣的:(部分问题)