RSA算法基本原理

时间 : 14-11-17 评论 : 0 点击 : 1,096 次

RSA算法需要用到较多素论知识,这里只描述大概流程,不展开讲

计算公钥和私钥

一、找到质数p和q

二、计算p和q的乘积n,n包含的二进制位数称为密钥长度

三、在1-φ(n)之间随机找一个数e,e与φ(n)互质

四、计算e对φ(n)的模反元素d

五、得到公钥(n,e)、私钥(n,d)

六、如果能将n分解成p和q,则根据(n,e)可以推导出(n,d),完成对rsa的破解。p和q很大时,对n进行破解几乎不可能,目前破解的最大长度是768位,因此认为1024位是可靠的,2048位是极为安全的

加密

假设要加密信息m,m必须是整数,且m小于n。字符串可以取ASCII或者Unicode码

加密后的密文是c,c满足m的e次方mod n = c

解密

c的d次方 mod n = m,因此可以通过(n,d)解密密文c得到m

RSA详细原理解说:http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_part_one.html

安全

RSA算法基本原理:等您坐沙发呢!

发表评论