RSA算法-实例分析

主要讲解5个问题:

,6步生成公钥和私钥

,明文X的加密成密文Y与密文Y的解密

,实例分析

,为什么说RSA是安全的?

,需要知道一点数论知识:

(1)互质:这个小学就学过了,如果两个正整数,除了1之外,没有其他公因子,就称这两个数是互质关系(coprime)

  (2)   欧拉函数:思考(任意给定一个正整数n,请问在小于等于n的正整数之中,有多少个与n构成关系?比如,在1到8之中,有多少个数与8构成互质关系?)

         计算这个值的方法就叫做欧拉函数,以Φ(n)表示。在1到8之中,与8形成的互质关系的是1,3,5,7,所以Φ(n)= 4。

一,(6步)

1,首先选两个大素数,p,q

2,计算n,n = p*q

3,计算欧拉函数Φ(n)= (p-1)(q-1)

4,随机取整数e,且1<e<Φ(n),e与Φ(n)互质

5,计算秘密值d,由de ≡ 1modΦ(n),,≡ 为互余符号即≡号两边的数有相同的余数

6,公钥PK = (e,n),私钥SK = (d,n)

二,设明文为X,密文为Y

则密文X经过加密之后的密文Y = Xemod n

  密文Y经过解密可得到明文X = Ydmod n

三,举个例子说明一下:

1,为了方便计算,首先我们选取两个小的素数,p = 3,q = 11

2,计算n,n = p*q = 3*11 = 33(100001这才六位二进制数,一般都是1024位,重要的文件有2048位的)

3,求出欧拉函数Φ(n) =  (p-1)(q-1)= (3-1)(11-1) = 20

4,取一个随机数e=3,(1<e<20且e与20互质)

5,计算秘密数d,de ≡ 1mod Φ(n)因为1modΦ(n)= 1 恒成立,则此算式可以写成de modΦ(n)= 1

    即3d mod 20 = 1 一个个试数解得d = 7

6,综上得,公钥PK = (3,33),私钥SK = (7,33)

假设明文X= key,首先我们需要把它转换成ASCII码

01 02 03 04 05 06  07 08 09 10 11 12 13
a b c d e f g h i j k l m
14 15 16 17 18 19 20 21 22 23 24 25 26
n o p q r s t u v w x y z

这里我们需要注意:如果X过大,则需要对其尽行分组,如本题X——11,05,25

对X进行加密的密文Y= Xe mod n 即 Y=Xmod 33 ——>113mod 33 = Y mod 33 得Y= 11

                                                                                        053mod 33 = Y mod 33 得Y= 26

                                                                                        253mod 33 = Y mod 33 得Y= 16

对Y进行解密的明文X= Ydmod n 即 X = Y7mod 33——>117mod 33 = X mod 33 得X= 11

                                                                                        267mod 33 = X mod 33 得 X= 05

                                                                                        167mod 33 = X mod 33得 X= 25

四,为什么说RSA是安全的呢?

我们知道此过程一共用到了6个数  p,q,n,Φ(n),e,d

而公钥中的e,n是公开的,其余4个数我们是不知道的 

假如我们采取暴力破解的方法:我们只需要解出d,也就知道了私钥

1,要解出d,de= 1mod Φ(n),需要解出e,Φ(n)

2,Φ(n)= (p-1)(q-1),需要解出p,q

3,n = p*q,也即是需要对n 进行分解,由上面的实例,我们也许可能回想,这不是很简答的事吗,但是当p,q超级大时,而我们目前的技术还无法分解两个超大素数

所以,就目前来说,时安全的。

而目前被破解的最长RSA密钥是(232个十进制数)768个二进制数,而我们用的一般为1024位或者2048位。所以限制人类分解大整数的是计算机的计算能力,相信如果有一天真正的量子计算机问世后,又会引发一轮安全加密竞赛。

猜你喜欢

转载自www.cnblogs.com/sharphui2018727-WYH/p/10073213.html