百摩网
当前位置: 首页 生活百科

rsa的加密和解密(非对称加密RSA算法原理)

时间:2023-06-28 作者: 小编 阅读量: 2 栏目名: 生活百科

非对称加密又称为公钥加密,RSA只是公钥加密的一种。签名的作用有两个,一个是身份验证,一个是数据完整性验证。当然,不经过CA机构,由自己完成签名的证书称为自签名证书。CA机构作为互联网密码体系中的基础机构,拥有相当高级的安全防范能力,所有的证书体系中的基本条件就是CA机构的私钥不被窃取。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。所以实际使用中的1024位秘钥基本安全,2048位秘钥绝对安全。

加密和解密使用的是两个不同的秘钥,这种算法叫做非对称加密。非对称加密又称为公钥加密,RSA只是公钥加密的一种。

数字签名 && 数字证书

现实生活中有签名,互联网中也存在签名。签名的作用有两个,一个是身份验证,一个是数据完整性验证。数字签名通过摘要算法来确保接收到的数据没有被篡改,再通过签名者的私钥加密,只能使用对应的公钥解密,以此来保证身份的一致性。

数字证书是将个人信息和数字签名放到一起,经由CA机构的私钥加密之后生成。当然,不经过CA机构,由自己完成签名的证书称为自签名证书。CA机构作为互联网密码体系中的基础机构,拥有相当高级的安全防范能力,所有的证书体系中的基本条件就是CA机构的私钥不被窃取。

CA证书的生成过程如下:

证书参与信息传递完成加密和解密的过程如下:

欧拉函数

互质关系:互质是公约数只有1的两个整数,1和1互质,13和13就不互质了。 欧拉函数:表示任意给定正整数 n,在小于等于n的正整数之中,有多少个与 n 构成互质关系,其表达式为:

其中,若P为质数,则其表达式可以简写为:

情况一:φ(1)=1;

1和任何数都互质,所以φ(1)=1;

情况二:n 是质数, φ(n)=n-1;

因为 n 是质数,所以和小于自己的所有数都是互质关系,所以φ(n)=n-1;

情况三:如果 n 是质数的某一个次方,即 n = p^k ( p 为质数,k 为大于等于1的整数),则φ(n)=(p-1)p^(k-1);

因为 p 为质数,所以除了 p 的倍数之外,小于 n 的所有数都是 n 的质数;

情况四:如果 n 可以分解成两个互质的整数之积,n = p1 × p2,则φ(n) = φ(p1p2) = φ(p1)φ(p2);

比如,φ(30)=φ(5×6)=φ(5)×φ(6)=4×2=8。此种情况可以通过"中国剩余定理"证明,证明过程不再本文讨论范围内。

情况五:基于情况四,如果 p1 和 p2 都是质数,且 n=p1 × p2,则φ(n) = φ(p1p2) = φ(p1)φ(p2)=(p1-1)(p2-1)

例如,φ(39) = φ(3×13) = φ(3)φ(13)=2 × 12 = 14;

而 RSA 算法的基本原理就是欧拉函数中的第五种情况,即: φ(n)=(p1-1)(p2-1);

模反元素

如果两个正整数 a 和 n 互质,那么一定可以找到整数 b,使得 ab-1 被 n 整除,或者说ab被n除的余数是1。这时,b就叫做a的“模反元素”。欧拉定理可以用来证明模反元素必然存在。

可以看到,a的 φ(n)-1 次方,就是a对模数n的模反元素。

RSA算法原理

1、随机选择两个质数并计算乘积

n=p x q = 3233,3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。

在实际使用中,一般场景下选择1024位长度的数字,更高安全要求的场景下,选择2048位的数字,这里作为演示,选取p=61和q=53;

2、计算n的欧拉函数φ(n)。

因为n、p、q都为质数,所以φ(n) = (p-1)(q-1)=60×52= 3120

3、随机选择一个整数e,条件是1< e < φ(n),且e与φ(n) 互质。

1< e <3120,注意,这里是和φ(n) 互互质而不是n!假设选择的值是17,即 e=17;

4、计算e对于φ(n)的模反元素 d

模反元素就是指有一个整数 d,可以使得 ed 被 φ(n) 除的余数为1。表示为:(ed-1)=φ(n) y --> 17d=3120y 1,算出一组解为(2753,15),即 d=2753,y=-15,也就是(17 2753-1)/3120=15。

注意,这里不能选择 3119,否则公私钥相同.

5、生成结果

公钥:(n,e)=(3233,2753) 私钥:(n,d)=(3233,17)

为什么无法破解

公钥是公开的,也就是说 m=p*q=3233 是公开的,那么怎么求 e ?e 是通过模反函数求得,17d=3120y 1,e是公开的等于 17,这时候想要求d就要知道 3120,也就是 φ(n),也就是 φ(3233),说白了,3233 是公开的,你能对 3233 进行因数分解,你就能知道 d,也就能破解私钥。

正常情况下,3233 我们可以因数分解为 61*53,但是对于很大的数字,人类只能通过枚举的方法来因数分解,所以RSA安全性的本质就是:对极大整数做因数分解的难度决定了 RSA 算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA 算法愈可靠。

人类已经分解的最大整数是:

这个人类已经分解的最大整数为 232 个十进制位,768 个二进制位,比它更大的因数分解,还没有被报道过,因此目前被破解的最长RSA密钥就是 768 位。所以实际使用中的 1024 位秘钥基本安全,2048 位秘钥绝对安全。

    推荐阅读
  • ket和pet证加分吗(什么是KETPET对小升初和初升高有什么影响)

    PETPET是KET的加强版,也就是第二级,相当于雅思4.0-5.0,托福31-45,是一项中级英语水平认证。不像托福雅思成绩两年有效,KET/PET成绩永久有效,无论是对孩子升学还是工作都大有帮助。KET/PET作为国际化英语考试,权威性不言而喻。所以是否选择为孩子规划KET/PET考试最终还是需要根据孩子的具体情况和目标来看。

  • 北瓜的储存方法 北瓜的储存方法有哪些

    贮藏北瓜的适宜温度为10-15℃,相对湿度为70%-75%,要求通风良好。堆贮的北瓜应在库底垫上干草或草帘,然后在上面摆放北瓜,一般不超过三层,以免压伤损坏。

  • 悬疑剧为什么会选择老戏骨(独家原创编剧邓原采访)

    听说,最近有一部现实题材电视剧《谜砂》播得如火如荼,自播出以来,始终占据卫视收视率前三甲。所以,慈妹儿不负众望独家采访了《谜砂》编剧邓原老师,要学习的阔以准备好小板凳和笔记本了。当然,它的成功要感谢导演、演员和摄制组的努力,还有一切在背后黙黙支持《谜砂》的人。

  • 新鲜虫草花怎么吃最好(新鲜虫草花如何吃最好)

    新鲜虫草花怎么吃最好新鲜的虫草花最常用的吃法是炖汤,就是把虫草花洗干净浸泡之后,把新鲜的虫草花和老鸭、乌鸡或者瘦肉一起清炖做汤。虫草花可以炒菜,比如和虾仁、西芹、百合一起炒。另外还有一种吃饭就是把虫草花磨成细粉,用水冲开,用开水冲,让虫草花沉淀以后把上面的水倒走,直接吃用水泡过的虫草花粉。

  • 郭沫若写诗(郭沫若站在海边)

    郭沫若写诗作为一线教育工作者,笔者觉得现代诗中,最难教的就是郭沫若先生的诗词作品。作为新诗的奠基人之一,郭沫若先生的诗词作品一直备受近名家们推崇,特别是他的经典诗集《女神》,更是被捧上神坛多年。年轻的郭沫若在这首诗中,模仿的正是美国诗人惠特曼。为了打破传统古诗的结构和格律,郭沫若这首诗用的是自由体,语言上也难免略显稚嫩。

  • 巫师剧集与原著不同的地方(巫师之父我蠢到家了)

    萨普科夫斯基如此不好相处,自然与游戏脱不开干系。不过根据CDP联合创始人Iwinski的说法,这笔钱并不多。当《巫师》1代在2007年推出并一炮而红后,事情开始朝着失控的方向发展。这在波兰国内还不是问题,毕竟萨普科夫斯基是个家喻户晓的名字,但在西方读者那里,种种黑白颠倒的说法让老爷子感觉受到了一万点伤害。

  • 湖南师范大学附属小学简介(关于湖南师范大学附属小学简介)

    接下来我们就一起去研究一下吧!湖南师范大学附属小学简介湖南师大附小始建于1953年,学校原名湖南师范大学附属小学,2006年经教学行政主管部门批准,实施九年一贯制教育。现有学生1236人,22个教学班级,教职工57人,其中硕士学历5人,大学本科学历34人,湖南省特级教师2人,中学高级教师6人,小学高级教师35人。学校占地面积18860平方米,建筑面积8499平方米,设有四栋教学楼,总面积3700平方米。

  • 微信有什么好处(微信究竟是什么)

    无论你身在何方,都能通过微信与朋友建立联系。微信提供的朋友圈功能,可以全方位展现自己,也能随时了解朋友的生活轨迹,更拉近了彼此的距离。截至2013年底,微信用户数已突破6亿。微信与手机的绑定,决定了微信与人的绑定。所以,微信上的营销,可以精准地传递到每一个个体的眼前。

  • 欧多桑什么意思(日本语的起源简介)

    日本语的起源简介日语的爸爸“欧多桑”也有中年男子的意思日本语的起源一直是争论不休的问题明治时代的日本人把日本语划为阿尔泰语系,但阿尔泰语系这个说法已经普遍遭到否定,霍默·赫尔伯特(HomerHulbert)和大野晋(。

  • 石榴应该怎么切(石榴怎么切好看)

    跟着小编一起来看一看吧!石榴应该怎么切需要准备的材料也很简单:一把水果刀,石榴一个。一看颜色红润,二看表皮的凹凸,凸起来的越多,说明石榴籽越多!接着把画好的这个盖子拿掉。然后在石榴的周围突起的线条部分,分别用刀划开。这样再掰开就很容易了,每一半都很饱满。