RSA算法详解

简述

  RSA算法是一种被广泛使用的非对称加密算法,毫不夸张地说,只要有计算机网络的地方,就有RSA算法。基于数论原理的RSA算法的安全性是建立在大数难以分解因子的基础上的。简单来说就是将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

RSA算法的密匙生成

  1.选择两个大素数p和q

  2.计算他们的成绩n=pq和一个值Φ(n)=(p-1)(q-1)

  3.选择大于1小于Φ(n)的随机整数e,使得gcd(e,Φ(n))=1

  4.计算e在modΦ(n)下的乘法逆元d

  5.得到公钥为(e,n),私钥为(d,n)

RSA的加密过程

  对于一段明文M,则密文C=Me mod n

RSA的解密过程

  对于一段密文C,则明文M=Cd mod n

posted @ 2021-06-26 11:08  艾尔夏尔-Layton  阅读(868)  评论(0编辑  收藏  举报