RAS非对称加密可谓是很简单了,但我依旧在学习后将它进一步精简了。精简过程也就是我自己的理解过程。我是从下面这两篇文章以及资料书进行学习的,如果想要深入学习,可以看看
文章1 、、、文章2
RSA非对称加密(非对称意思为加密和解密使用不同的密码的方式)
以下位加密过程,可以使用一个通式来表达:
密文=明文的E次方 mod N(mod为求余运算)
所以,只要知道E和N任何人都可以进行RSA加密了,因此E、N是RSA加密的密钥,也就是公钥。则公钥 =(E,N)。
以下为解密过程,同样可以使用一个通式来表达:
明文 = 密文的D次方 mod N
也就是说对密文进行D次方后除以N的余数就是明文,知道D和N就能进行解密密文了,所以D和N的组合就是私钥。则私钥=(D,N)。
怎样求E,D,N呢???
以下为生成密钥对(E,D,N)的步骤:
求N
任意取两个质数p,q。这两个数不能太小,将p乘q得N
N = p * q
求L(L为中间过程的中间数)
L 是 p-1 和 q-1的最小公倍数,
L=lcm(p-1,q-1)
求E
E是一个比1大比L小的数并且E和L的最大公约数为1。
求D
D是一个比1大比L小的数并且E*D mod L = 1。
完整加密过程
1、将接收到的明文转换成特定的编码方式,
2、然后将转码后的字符串分块,分组要求:每个分组对应的十进制数小于0(也就是说4个数为一组)
3、最后就可以将每一组分别进行加密了
RSA非对称加密过程精简总结
最新推荐文章于 2022-05-27 08:46:19 发布