查看: 2205|回复: 33

[密码学习] RSA所含的数学方法

简洁模式
发表于 2022-1-29 15:21:54 | 显示全部楼层
RSA的加密于解密数学过程描述:
1.        爱丽丝挑选了两个巨大的质数p和q。这两个质数要非常庞大(越大越好),不过,为了方便说明,我们假设爱丽丝所挑选的是p=17,q=11.这两个数字必须保存好,不让任何人知道。
2.        爱丽丝让这两个质数相乘,得到另一个数字N。本例中,N=187。她又再挑选一个数字e,假设e=7.[数字e和数字(p-1)和(q-1)必须互质,也就是说,它们不可以有共同的因数]
3.        爱丽丝把e和N公布在类似电话簿的地方。这两个数字是加密程序的要素,应该让任何想加密信息给爱丽丝的人都拿得到。这两个数字一起,被称为公开密钥。(爱丽丝所选取的e值可以跟其他人的e值一样,跟p和g有关的N值却必须是独一无二的。)
4.        加密信息时,必须先把信息转换成一个数字M。例如,文字被转成ASCII二进制数(bits)时,我们可以把这些二进制数字想成一个十进制数字。根据以下公式,就可以把M加密成密码文C:C=M^e(mod N)
5.        假设鲍勃想送给爱丽丝一个吻:就单单一个字母X。X的ASCII码是1011000B换算成十,进制就是88,。所以,M=88
6.        鲍勃查询爱丽丝的公开钥匙,发现N=187,e7。这两个数字等于提供了他加密信息给爱丽所需的公式。已知M=88,这个公式就变成
C=88^7(mod  187)
7.        用计算机算这个式子反而费事,因为他的显示屏容不下这么大的数字。事实上,模算数的指数有一个计算技巧:88^7(mod 187)=[88^4(mod  187)x88^2(mod  187)x 88(mod 187)](mod 187)
鲍勃就把密码文C=11寄送给爱丽丝。
8.        我们知道模算术里的指数函数是单向函数,要从C=11逆向求出原始信息M是非常困难的事情。所以,伊芙没有方法破解这则信息。
9.        爱丽丝可以解译这则信息,因为她有特别的信息:她知道p和q的值。她会利用下面的公式计算出一个值d,它就是解密钥匙,也就是她的私人钥匙:
e x d=1(mod(p-1)x(q-1))
7 x d=1(mod 16x10)
7 x d=1(mod 160)
d=23 可以用欧几里得演算求出
10.        爱丽丝利用以下公式解译信息:
M=C^d(MOD 187)
M=11^23(MOD 187)
M=[11(MOD 187)X11^2(MOD 187)X11^4(NOD 187)X11^16(MOD 187)](MOD 187)
M=88=X(ASCII)
| 发表于 2022-1-30 08:55:39 | 发自安卓客户端 | 显示全部楼层 发帖际遇
看不懂,所以要收藏
| 发表于 2022-1-30 08:55:49 | 发自安卓客户端 | 显示全部楼层
感谢分享
| 发表于 2022-1-30 09:11:35 | 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
| 发表于 2022-1-30 09:14:09 | 发自安卓客户端 | 显示全部楼层 发帖际遇
感谢分享
| 发表于 2022-1-30 09:21:13 | 发自安卓客户端 | 显示全部楼层 发帖际遇
看懂了 感谢分享
| 发表于 2022-1-30 13:09:36 | 发自安卓客户端 | 显示全部楼层 发帖际遇
谢谢
| 发表于 2022-1-30 13:29:06 | 发自安卓客户端 | 显示全部楼层
也就是常说的PKC公钥密码学最常用的方法。主要涉及到大数分解质因数,快速幂取模算法,辗转相除法。
| 发表于 2022-1-30 15:50:40 | 发自安卓客户端 | 显示全部楼层 发帖际遇
厉害了
| 发表于 2022-1-30 16:22:49 | 发自安卓客户端 | 显示全部楼层
感谢分享
返回版块
1234
尚未登录
您需要登录后才可以回帖 登录 | 加入学院