免费智能真题库 > 历年试卷 > 网络工程师 > 2010年下半年 网络工程师 上午试卷 综合知识
  第41题      
  知识点:   RSA   RSA算法
  关键词:   SA   公钥   私钥   算法        章/节:   安全技术与协议       

 
按照RSA算法,若选两奇数p=5, q=3,公钥e=7,则私钥d为(41)。
 
 
  A.  6
 
  B.  7
 
  C.  8
 
  D.  9
 
 
 

 
  第46题    2011年下半年  
   49%
公钥体系中,用户甲发送给用户乙的数据要用(46)进行加密。
  第45题    2013年下半年  
   49%
下面算法中,不属于公开密钥加密算法的是(45)。
 
   知识点讲解    
   · RSA    · RSA算法
 
       RSA
        RSA算法是非对称算法,由Ronald Rivest、Adi Shamir、Leonard Adleman三人共同在1977年公开发表。在RSA加密算法中,公钥和私钥都可以用于加密消息,用于加密消息的密钥与用于解密消息的密钥相反。RSA算法提供了一种保护网络通信和数据存储的机密性、完整性、真实性和不可否认性的方法。目前,SSH、OpenPGP、S/MIME和SSL/TLS都依赖于RSA进行加密和数字签名功能。RSA算法在浏览器中使用,能够在不可信任的互联网中建立安全连接。RSA签名验证是网络连接系统中最常见的执行操作之一。
        RSA算法基于大整数因子分解的困难性,该算法的步骤如下:
        第一步,生成两个大素数pq
        第二步,计算这两个素数的乘积n=pq
        第三步,计算小于n并且与n互素的整数的个数,即欧拉函数φ(n)=(p-1)(q-1)。
        第四步,选取一个随机数e,且满足1<e<φ(n),并且eφ(n)互素,即gcd(eφ(n))=1。
        第五步,计算d=e-1modφn)。
        第六步,保密dpq,而公开ne,即d作为私钥,而ne作为公钥。
        下面,举一个RSA加密的具体实例。设素数p=3,q=17,并令e=13,则RSA的加密操作如下:
        第一步,计算nn=pq=3×17=51,得出公钥n=51,e=13。
        第二步,计算φ(n)和dφ(n)=(p-1)(q-1)=2×16=32。因为d=e-1modφ(n),所以,其中kp-1和q-1的最大公约数。由此算出d=(2×32+1)/13=5,即解密密钥d=5。
        第三步,加密和解密处理计算。假设Bob的公开密钥是e=13、n=51,Alice需要将明文“2”发送给Bob,则Alice首先用Bob的公开密钥加密明文,即:
        C=Memodn=213mod 51=8192 mod 51=32
        然后,Bob收到Alice发来的密文C后,用自己的私钥d解密密文C,即:
        M=Cdmodn=325mod 51=1024×1024×32 mod 51=512 mod 51=2
        RSA安全性保证要做到选取的素数pq足够大,使得给定了它们的乘积n后,在事先不知道pq的情况下分解n是计算上不可行的。因此,破译RSA密码体制基本上等价于分解n。基于安全性考虑,要求n长度至少应为1024比特,然而从长期的安全性来看,n的长度至少应为2048比特,或者是616位的十进制数。
 
       RSA算法
        非对称密钥密码体制的典型算法是RSA算法。它是由三位发明者Ron Rivest、Adi Shamir和Leonard Adleman名字的第一个字母组合而成。RSA算法的基本原理是基于大素数难分解原理,即寻找两个大素数比较简单,而将两个大素数的乘积分解非常困难。
        具体算法如下:
        ①选取两个足够大的质数p和q;
        ②计算p和q的乘积,记为n=p*q;
        ③计算p-1和q-1的乘积,记为m=(p-1)*(q-1);
        ④寻找一个与m互质的数e,且满足1
        ⑤寻找一个数d,使其满足(e*d)mod m=1;
        ⑥(n,e)为公钥,(n,d)为私钥。
        如果用M表示明文,C表示密文,则
        加密过程可表示为:C=Memod n
        解密过程可表示为:M=Cdmod n
        传递信息时发送方用接收方的公钥加密信息,接收方用自己的私钥对信息进行解密。
        RSA算法的工作原理可结合一个简单的算例说明。
        假设发送方要传送明文M=19给接收方,按照RSA算法描述,密钥对的生成过程为:
        ①假设选择两个质数p=3,q=11;
        ②计算n=p*q=33;
        ③计算m=(p-1)*(q-1)=20;
        ④寻找一个与m互质的数e,且满足1
        ⑤寻找一个数d,使其满足(e*d)mod m=1;
        此处取d=7,满足(3*7)mod 20=1;
        ⑥得出公钥(n,e),即(33,3);
        私钥(n,d),即(33,7)。
        发送方用接收方的公钥加密信息得到密文C=Memod n=193mod 33=28。接收方收到消息后用自己的私钥解密信息得到明文M=Cdmod n=287mod 33=19。
        从所基于的数学难题来讲,RSA算法基于大整数因子分解系统。除RSA算法外,椭圆离散对数系统(ECC)和离散对数系统(代表性算法DSA)也属于非对称密钥密码体制算法。
   题号导航      2010年下半年 网络工程师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第41题    在手机中做本题