RSA简介
1977年,三位数学家Rivest、Shamir 和 Adleman 设计了一种算法,可以实现非对称加密。这种算法用他们三个人的名字命名,叫做RSA算法。从那时直到现在,RSA算法一直是最广为使用的"非对称加密算法"。毫不夸张地说,只要有计算机网络的地方,就有RSA算法。
这里我尽量简短的解释一下RSA的算法原理,以避免冗杂,不好理解:
算法原理:
RSA 加密
1:找出质数:p ,q
这个相信,做过rsa题目的人都知道。
2:n = p * q
3:φ(n) = (p-1)* (q-1) #(欧拉函数)一个根据欧拉函数推出来的式子
4:公钥e 要求:1
e,φ(n) 互质,私钥d #e与φ(n)满足的条件
e*d 除以φ(n) 余数为1 #这个是一个乘法逆元的式子 :de = 1 mod φ(n)
5:加密:m^e 除以 n 求余数为 c # c = (m^e) mod n : m的公钥加密
6:解密: c^d 除以n求余数为m # m = (c^d) mod n : 解出密文m
安全性:
传播:n ,e ,c # 只传播出:n,e,c
解密:n ,d ,c # 解密所需
公钥:(n,e)
私钥:(n,d)
例如:
如果想要从以知e得到d 需要 知道φ(n),否则不能得到d。
如果想知道φ(n),就得知道q,p的值。
这样初步解释RSA,希望有帮助。
新手写给新手看的,如有错误,或建议欢迎指出