前言
RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。RSA算法是现今使用最广泛的公钥密码算法,也是号称地球上最安全的加密算法。
一、RSA算法描述
1.算法步骤
2.加密过程
RSA的加密过程可以使用一个通式来表达:
也就是说RSA加密是对明文的e次方后除以N后求余数的过程。
从通式可知,只要知道e和N任何人都可以进行RSA加密了,但是要知道e和N关键是知道p和q,当我们把p,q设置的非常大的时候,T和N就会变得非常非常大。所以说我们很难通过e和N找到p和q,而这里就是RSA算法的巧妙了。
3.解密方法
RSA的解密同样可以使用一个通式来表达: