是一种非对称加密算法。
对极大整数做因数分解的难度决定了RSA算法的可靠性。
换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。
III、了解RSA算法。
非对称算法的在应用的过程如下,假设发送方向接收方发送消息(明文):
1、接收方生成公钥和私钥,公钥公开,私钥保留;
2、发送方将要发送的消息采用公钥加密,得到密文,然后将密文发送给接收方;
3、接收方收到密文后,用自己的私钥进行解密,获得明文。
可以看出,非对称加密解决了对称加密密钥传输的问题。
-数学基础
–互质关系
1、素数
素数又称质数,指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
2、互质数
公因数只有1的两个数,叫做互质数;又称互素,若N个整数的最大公因子是1,则称这N个整数互质。
判断互质的简单法则:
a.任意两个质数是互质的;
b.一个数是质数,另一个数不是它的倍数,两者互质(比如正整数P是质数,则小于P的正整数和P都是互质的);
c.两个不相等的数,较大的那个数是质数,两者互质;
d.1和任意自然数互质;
e.2和任何奇数是互质;
f.如果P是大于1的整数,则P和P-1互质;
g.如果P是大于1的奇数,则P和P-2互质。
–欧拉函数
欧拉函数的意义在于计算在小于等于任意正整数n的正整数中,有多少个与n互质的正整数。
是小于n并与n互质的正整数的个数。
是质数。
–欧拉定理
如果两个正整数a和n互质,则n的欧拉函数
可使下面等式成立:
上式表示,a的次方被n除的余数为1,或者叙述为,a的
次方减去1后可以被n整除。
注意,是n的欧拉函数。
欧拉定理的特殊情况:如果正整数a与质数p互质,因为质数p的等于p-1,则欧拉定理可以写成就是我们所说的费马小定理。
–模反元素
如果两个正整数a和n互质,那么一定可以找到整数b,使得ab-1被n整除,或者说ab被n除的余数是1。这时b被称为a的模反元素。公式如下:
–扩展欧几里得算法
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:
gcd函数就是用来求(a,b)的最大公约数的。
gcd函数的基本性质:
gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a|,|b|)
对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 x,y ,使得 gcd(a,b)=ax+by。
-秘钥的生成与加解密
图1 RSA密钥生成与加解密
–秘钥的生成
密钥生成的步骤如下:
1、随机选择两个不相等的质数p和q;
2、计算p和q的乘积n(将n转换为二进制后,二进制的长度就是密钥的长度,实际应用中一般选择1024位、2048位);
3、计算n的欧拉函数;
4、随机选择一个整数e,其中>e>1,且e与
互质(实际应用中e一般选为65537);
5、计算e对于的模反元素d;
6、将n和e封装成公钥,n和d封装成私钥。
举例:
1、随机选择两个不相等的质数47和59;
2、二者的乘积为43×57=2773,2773转化为二进制为1010,1101,0101,长度为12位,所以密钥的长度为12位;
3、根据欧拉函数公式=n(1-1/p)(1-1/q)计算,
= 2773×(1-1/47)(1-1/59)=(47-1)(59-1)=2668;
4、随机选择一个整数e=63,2668>63>1,并且63与2668互质;
5、计算63对于2668的模反元素d,根据公式ed≡1(mod ),有63d-1=2668k,由欧几里得扩展公式计算得d=847。
6、公钥(n,e)=(2773,63),私钥(n,d)=(2773,847)。
–加密和解密
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!