本文作者:梁开权,叩丁狼高级讲师。原创文章,转载请注明出处。
由于计算机软件的非法复制,通信的泄密、数据安全受到威胁,解密及盗版问题日益严重,甚至引发国际争端,所以在信息安全技术中,加密技术占有不可替代的位置,因此对信息加密技术和加密手段的研究与开发,受到各球计算机界的重视,发展日新月异。现在我们就RSA的加密算法给大家介绍一下。
RSA是目前最有影响力的非对称加密算法,该算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,即公钥,而两个大质数组合成私钥。公钥是可发布的供任何人使用,私钥则为自己所有,供解密之用。
算法实现过程
- 随意选择两个大的质数p和q,p不等于q,计算N=pq(一般都是超过10万以上的质数)
- 根据欧拉函数,不大于N且与N互质的整数個数為φ(n)=(p-1)(q-1)
- 选择一个整数e与(p-1)(q-1)互质,并且e小于(p-1)(q-1)
- 用以下这个公式计算d:(d × e) % (φ(n)) = 1
- 将p和q的记录销毁(p和q的值是绝密的,只在钥匙设计者的脑子中)
以上内容中,e是公钥,d是私钥。
RSA算法的过程
场景:用户A希望把一个数据3传递给