免费智能真题库 > 历年试卷 > 网络规划设计师 > 2010年上半年 网络规划设计师 上午试卷 综合知识
  第52题      
  知识点:   公钥加密算法   数字签名
  章/节:   安全认证方法与技术   加密和数字签名       

 
RSA是一种公开密钥加密算法。其原理是:已知素数p、q,计算n=pq,选取加密密钥e,使e与(p-1)×(q-1)互质,计算解密密钥d≡e-1mod((p-1)×(q-1))。其中n、e是公开的。如果M、C分别是明文和加密后的密文,则加密的过程可表示为(51) 。
假定EXY(M)表示利用X的密钥Y对消息M进行加密,DXY(M)表示利用X的密钥Y对消息M进行解密,其中Y=P表示公钥,Y=S表示私钥。A利用RSA进行数字签名的过程可以表示为(52),A利用RSA实施数字签名后不能抵赖的原因是(53)。
 
 
  A.  EBS(EAP(M))
 
  B.  EBP(EAS(M))
 
  C.  EBP(EAP(M))
 
  D.  DBP(EAP(M))
 
 
 

 
  第41题    2015年下半年  
   59%
按照RSA算法,取两个最大素数p和q,n=p*q,令φ(n)=(p-1)*(q-1),取与φ(n)互质的数e,d=e-1 mod φ(n),如..
  第45题    2015年下半年  
   37%
下列协议中,不用于数据加密的是(45)。
  第46题    2017年下半年  
   45%
假设两个密钥分别是K1和K2,以下( )是正确使用三重DES加密算法对明文M进行加密的过程。
①使用K1对M进行DES加密得到C1
 
  第39题    2011年下半年  
   52%
在采用公开密钥密码体制的数字签名方案中,每个用户有一个私钥,可用它进行(39);同时每个用户还有一个公钥,可用于(40)。
  第42题    2018年下半年  
   34%
数字签名首先需要生成消息摘要,然后发送方用自己的私钥对报文摘要进行加密,接收方用发送方的公钥验证真伪。生成消息摘要的目的..
  第31题    2014年下半年  
   49%
某用户为了保障信息的安全,需要对传送的信息进行签名和加密,考虑加解密时的效率与实现的复杂性,加密时合理的算法是(30),签..
   知识点讲解    
   · 公钥加密算法    · 数字签名
 
       公钥加密算法
        (1)RSA算法。1978年出现了著名的RSA(Rivest-Shamir-Adleman)算法。这是一种公钥加密算法,这种算法为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是由密钥管理中心先生成一对RSA密钥,其中之一为私钥,由用户保存;另一个称为公钥,可对外公开,甚至可在网络服务器中注册。在传送信息时,常采用私钥加密方法与公钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。
        密钥管理中心产生一对公钥和私钥的方法如下:在离线方式下,先产生两个足够大的质数pq,计算n=p×qz=(p-1)×(q-1),再选取一个与z互素的奇数e,称e为公开指数;从这个e值可以找出另一个值d,并能满足e×d=1 mod(z)条件。由此而得到的两组数(ne)和(nd)分别被称为公开密钥和保密密钥,或简称公钥和私钥。
        RSA算法之所以具有安全性,是基于数论中的一个特性事实:即将两个大的质数合成一个大数很容易,而相反的过程则非常困难。在当今技术条件下,当n足够大时,为了找到d,欲从n中通过质因子分解试图找到与d对应的pq是极其困难甚至是不可能的。由此可见,RSA的安全性是依赖于作为公钥的大数n的位数长度的。为保证足够的安全性,一般认为现在的个人应用需要用384或512位的n,公司需要用1024位的n,极其重要的场合应该用2 048位的n
        RSA算法的加密密钥和加密算法分开,使得密钥分配更为方便。它特别符合计算机网络环境。对于网上的大量用户,可以将加密密钥用电话簿的方式印出。如果某用户想与另一用户进行保密通信,只需从公钥簿上查出对方的加密密钥,用它对所传送的信息加密后发出即可。对方收到信息后,用仅为自己所知的解密密钥将信息解密,从而获知报文的内容。由此可看出,RSA算法解决了大量网络用户密钥管理的难题。不过RSA并不能替代DES,它们的优缺点正好互补。RSA的密钥很长,加密速度慢;DES正好弥补了RSA的缺点。即DES用于明文加密,RSA用于DES密钥的加密。因为DES加密速度快,适合加密较长的报文;而RSA可解决DES密钥分配的问题。美国的保密增强邮件(PEM)就是采用了RSA和DES结合的方法,目前已成为E-mail保密通信标准。
        (2)Elgamal算法。Taher Elgamal开发了Elgamal算法,这种算法既能用于数据加密也能用于数字签名,其安全性依赖于计算有限域上离散对数的难度。
        (3)数字签名算法。数字签名算法(DSA)由美国政府开发,作为数字签名的标准算法。这种算法基于Elgamal算法,但是只允许认证,不能提供机密性。
        (4)椭圆曲线加密。将椭圆曲线作为加密算法提出于1985年,相比于RSA算法,这种算法最大的好处是密钥更小,因而同样安全级别的计算速度更快。
        PKI提供的安全服务恰好能满足电子商务、电子政务、网上银行、网上证券等金融业交易的安全需求,是确保这些活动顺利进行必备的安全措施,没有这些安全服务,电子商务、电子政务、网上银行、网上证券等都无法正常运作。PKI可以应用到电子商务、电子政务、网上银行、网上证券等各个领域。
 
       数字签名
        数字签名的具体要求是发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒充另一用户作为发送者或接收者。数字签名的应用范围十分广泛,在保障电子数据交换(EDI)的安全性上是一个突破性的进展,凡是需要对用户的身份进行判断的情况都可以使用数字签名,如加密信件、商务信函、定货购买系统、远程金融交易和自动模式处理等。
        实现数字签名有很多方法,目前采用较多的是不对称加密技术和对称加密技术。尽管这两种技术实施步骤不尽相同,但大体的工作程序是一样的。首先用户可以下载或者购买数字签名软件,然后安装在PC上。在产生密钥对后,软件自动向外界传送公开密钥。由于公共密钥的存储需要,所以需要建立一个鉴定中心(CA)完成个人信息及其密钥的确定工作。鉴定中心是一个政府参与管理的第三方成员,以便保证信息的安全和集中管理。用户在获取公开密钥时,先向鉴定中心请求数字确认,鉴定中心确认用户身份后,发出数字确认,同时鉴定中心向数据库发送确认信息。然后用户使用私有密钥对所传信息签名,保证信息的完整性和真实性,也使发送方无法否认信息的发送,之后发向接收方;接收方接收到信息后,使用公开密钥确认数字签名,进入数据库检查用户确认信息的状况和可信度;最后数据库向接收方返回用户确认状态信息。不过,在使用这种技术时,首先,签名者必须注意保护好私有密钥,因为它是公开密钥体系安全的重要基础。如果密钥丢失,应该立即报告鉴定中心取消认证,将其列入确认取消列表之中。其次,鉴定中心必须能够迅速确认用户的身份及其与密钥的关系。一旦接收到用户请求,鉴定中心要立即认证信息的安全性并返回信息。
               数字签名算法
               可用于数字签名的算法很多,应用最为广泛的3种是:Hash签名、DSS签名和RSA签名。Hash签名不属于计算密集型算法,应用较广泛。它可以降低服务器资源的消耗,减轻中央服务器的负荷。其主要局限是接收方必须持有用户密钥的副本以检验签名,因为双方都知道生成签名的密钥,较容易被攻破,存在伪造签名的可能。DSS和RSA签名都采用了公钥算法,不存在Hash的局限性。RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库。和Hash签名相比,在公钥系统中,由于生成签名的密钥只存储于用户的计算机中,所以安全系数相对要大一些。
               数字签名带来的问题
               在数字签名的引入过程中不避免地会带来一些新问题,需要进一步加以解决。这些问题如下:
               (1)需要立法机构对数字签名技术有足够的重视,并且在立法上加快脚步,迅速制定相关法律,推动电子商务及其他网上事务的发展。
               (2)如果发送方已经对信息进行了数字签名,那么接收方就一定要有数字签名软件,这就要求签名软件具有很高的普及性。
               (3)假设某人发送信息后被取消了原有数字签名的权限,对以往发送的数字签名的鉴定就需要鉴定中心结合时间信息进行鉴定。
               (4)基础设施(鉴定中心和在线存取数据库等)的费用的收取是否会影响到这项技术的全面推广等。
               公钥加密和数字签名应用的流程
               公钥加密和数字签名应用的完整流程如下:
               (1)发送A先通过散列函数对要发送的信息(M)计算消息摘要(MD),也就是提取原文的特征。
               (2)发送A将原文(M)和消息摘要(MD)用自己的私钥(PrA)进行加密,实现就是完成签名动作,其信息可以表示为PrA(M+MD)。
               (3)然后以接收者B的公钥(PB)作为会话密钥,对这个信息包进行再次加密,得到PB(PrA(M+MD))。
               (4)当接收者收到后,首先用自己的私钥PrB进行解密,从而得到PrA(M+MD)。
               (5)再利用A的公钥(PA)进行解密,如果能够解密,显然说明该数据是A发送的,同时也就将得到原文M和消息摘要MD。
               (6)然后对原文M计算消息摘要,得到新的MD,与收到MD进行比较,显然如果一致说明该数据在传输时未被篡改。
               至此,整个通信过程也就完成了。需要注意的是,在实际的应用中,通常不会用A的私钥对原文进行加密,一方面是效率太低;另一方面是没有太大的必要,如下图所示。
               
               实际应用中的公钥加密和数字签名流程
   题号导航      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 /
 
第52题    在手机中做本题