2022年用实例给新手讲解RSA加密算法 .pdf
《2022年用实例给新手讲解RSA加密算法 .pdf》由会员分享,可在线阅读,更多相关《2022年用实例给新手讲解RSA加密算法 .pdf(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、RSA 加密算法是最常用的非对称加密算法,CFCA 在证书服务中离不了它。但是有不少新来的同事对它不太了解,恰好看到一本书中作者用实例对它进行了简化而生动的描述,使得高深的数学理论能够被容易地理解。我们经过整理和改写特别推荐给大家阅读,希望能够对时间紧张但是又想了解它的同事有所帮助。RSA 是第一个比较完善的公开密钥算法,它既能用于加密,也能用于数字签名。RSA 以它的三个发明者 Ron Rivest,Adi Shamir,Leonard Adleman 的名字首字母命名,这个算法经受住了多年深入的密码分析,虽然密码分析者既不能证明也不能否定RSA 的安全性,但这恰恰说明该算法有一定的可信性,
2、目前它已经成为最流行的公开密钥算法。RSA 的安全基于大数分解的难度。其公钥和私钥是一对大素数(100 到 200 位十进制数或更大)的函数。从一个公钥和密文恢复出明文的难度,等价于分解两个大素数之积(这是公认的数学难题)。RSA 的公钥、私钥的组成,以及加密、解密的公式可见于下表:可能各位同事好久没有接触数学了,看了这些公式不免一头雾水。别急,在没有正式讲解RSA 加密算法以前,让我们先复习一下数学上的几个基本概念,它们在后面的介绍中要用到:一、什么是“素数”?素数是这样的整数,它除了能表示为它自己和1 的乘积以外,不能表示为任何其它两个整数的乘积。例如,1535,所以 15 不是素数;又如
3、,126243,所以 12 也不是素数。另一方面,13 除了等于 131 以外,不能表示为其它任何两个整数的乘积,所以13 是一个素数。素数也称为“质数”。二、什么是“互质数”(或“互素数”)?小学数学教材对互质数是这样定义的:“公约数只有1 的两个数,叫做互质数。”这里所说的“两个数”是指自然数。判别方法主要有以下几种(不限于此):(1)两个质数一定是互质数。例如,2 与 7、13 与 19。(2)一个质数如果不能整除另一个合数,这两个数为互质数。例如,3 与 10、5 与 26。(3)1 不是质数也不是合数,它和任何一个自然数在一起都是互质数。如1 和 9908。(4)相邻的两个自然数是互
4、质数。如15 与 16。(5)相邻的两个奇数是互质数。如49 与 51。(6)大数是质数的两个数是互质数。如97 与 88。(7)小数是质数,大数不是小数的倍数的两个数是互质数。如7 和 16。(8)两个数都是合数(二数差又较大),小数所有的质因数,都不是大数的约数,这两个数是互质数。如357 与 715,357=3717,而 3、7 和 17 都不是 715 的约数,这两个数为互质数。等等。三、什么是模指数运算?指数运算谁都懂,不必说了,先说说模运算。模运算是整数运算,有一个整数m,以 n 为模做模运算,即 m mod n。怎样做呢?让m 去被 n 整除,只取所得的余数作为结果,就叫做模运算
5、。例如,10 mod 3=1;26 mod 6=2;28 mod 2=0 等等。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 3 页 -模指数运算就是先做指数运算,取其结果再做模运算。如好,现在开始正式讲解RSA 加密算法。算法描述:(1)选择一对不同的、足够大的素数p,q。(2)计算 n=pq。(3)计算 f(n)=(p-1)(q-1),同时对 p,q 严加保密,不让任何人知道。(4)找一个与f(n)互质的数 e,且 1ef(n)。(5)计算 d,使得 de1 mod f(n)。这个公式也可以表达为d e-1 mod f(n)这里要解释一下,是数论中表示同余的符号。公式中,符
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年用实例给新手讲解RSA加密算法 2022 实例 新手 讲解 RSA 加密算法
限制150内