免费智能真题库 > 历年试卷 > 网络规划设计师 > 2010年上半年 网络规划设计师 上午试卷 综合知识
  第51题      
  知识点:   公钥加密算法   数字签名   RSA   加密   消息
  关键词:   SA   公钥   加密算法   解密   密文   密钥   明文   数字签名   私钥   消息   加密   算法        章/节:   安全认证方法与技术       

 
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.  C=Me mod n
 
  B.  C=Mn mod e
 
  C.  C=Md mod n
 
  D.  C=Me mod d
 
 
 

 
  第53题    2010年上半年  
   52%
RSA是一种公开密钥加密算法。其原理是:已知素数p、q,计算n=pq,选取加密密钥e,使e与(p-1)×(q-1)互质,计算解密密钥d&eq..
  第42题    2015年下半年  
   55%
按照RSA算法,取两个最大素数p和q,n=p*q,令φ(n)=(p-1)*(q-1),取与φ(n)互质的数e,d=e-1 mod φ(n),如..
  第41题    2015年下半年  
   59%
按照RSA算法,取两个最大素数p和q,n=p*q,令φ(n)=(p-1)*(q-1),取与φ(n)互质的数e,d=e-1 mod φ(n),如..
   知识点讲解    
   · 公钥加密算法    · 数字签名    · RSA    · 加密    · 消息
 
       公钥加密算法
        (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的私钥对原文进行加密,一方面是效率太低;另一方面是没有太大的必要,如下图所示。
               
               实际应用中的公钥加密和数字签名流程
 
       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位的十进制数。
 
       加密
               保密与加密
               保密就是保证敏感信息不被非授权的人知道。加密是指通过将信息进行编码而使得侵入者不能够阅读或理解的方法,目的是保护数据和信息。解密是将加密的过程反过来,即将编码信息转化为原来的形式。古时候的人就已经发明了密码技术,而现今的密码技术已经从外交和军事领域走向了公开,并结合了数学、计算机科学、电子与通信等诸多学科而成为了一门交叉学科。现今的密码技术不仅具有保证信息机密性的信息加密功能,而且还具有数字签名、身份验证、秘密分存、系统安全等功能,来鉴别信息的来源以防止信息被篡改、伪造和假冒,保证信息的完整性和确定性。
               加密与解密机制
               加密的基本过程包括对原来的可读信息(称为明文或平文)进行翻译,译成的代码称为密码或密文,加密算法中使用的参数称为加密密钥。密文经解密算法作用后形成明文,解密算法也有一个密钥,这两个密钥可以相同也可以不相同。信息编码的和解码方法可以很简单也可以很复杂,需要一些加密算法和解密算法来完成。
               从破译者的角度来看,密码分析所面对的问题有三种主要的变型:①“只有密文”问题(仅有密文而无明文);②“已知明文”问题(已有了一批相匹配的明文与密文);③“选择明文”(能够加密自己所选的明文)。如果密码系统仅能经得起第一种类型的攻击,那么它还不能算是真正的安全,因为破译者完全可能从统计学的角度与一般的通信规律中猜测出一部分的明文,而得到一些相匹配的明文与密文,进而全部解密。因此,真正安全的密码机制应使破译者即使拥有了一些匹配的明文与密文也无法破译其他的密文。
               如果加密算法是可能公开的,那么真正的秘密就在于密钥了,密钥长度越长,密钥空间就越大,破译密钥所花的时间就越长,破译的可能性就越小。所以应该采用尽量长的密钥,并对密钥进行保密和实施密钥管理。
               国家明确规定严格禁止直接使用国外的密码算法和安全产品,原因主要有两点:①国外禁止出口密码算法和产品,目前所出口的密码算法都有破译手段,②国外的算法和产品中可能存在“后门”,要防止其在关键时刻危害我国安全。
               密码算法
               密码技术用来进行鉴别和保密,选择一个强壮的加密算法是至关重要的。密码算法一般分为传统密码算法(又称为对称密码算法)和公开密钥密码算法(又称为非对称密码算法)两类,对称密钥密码技术要求加密解密双方拥有相同的密钥。而非对称密钥密码技术是加密解密双方拥有不相同的密钥。
               对称密钥密码体制从加密模式上可分为序列密码和分组密码两大类(这两种体制之间还有许多中间类型)。
               序列密码是军事和外交场合中主要使用的一种密码技术。其主要原理是:通过有限状态机产生性能优良的伪随机序列,使用该序列将信息流逐比特加密从而得到密文序列。可以看出,序列密码算法的安全强度由它产生的伪随机序列的好坏而决定。分组密码的工作方式是将明文分成固定长度的组(如64比特一组),对每一组明文用同一个密钥和同一种算法来加密,输出的密文也是固定长度的。在序列密码体制中,密文不仅与最初给定的密码算法和密钥有关,同时也是被处理的数据段在明文中所处的位置的函数;而在分组密码体制中,经过加密所得到的密文仅与给定的密码算法和密钥有关,而与被处理的明数据段在整个明文中所处的位置无关。
               不同于传统的对称密钥密码体制,非对称密码算法要求密钥成对出现,一个为加密密钥(可以公开),另一个为解密密钥(用户要保护好),并且不可能从其中一个推导出另一个。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。另外,公钥加密也用来对专用密钥进行加密。
               公钥算法不需要联机密钥服务器,只在通信双方之间传送专用密钥,而用专用密钥来对实际传输的数据加密解密。密钥分配协议简单,所以极大简化了密钥管理,但公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。
               密钥及密钥管理
               密钥是密码算法中的可变参数。有时候密码算法是公开的,而密钥是保密的,而密码分析者通常通过获得密钥来破译密码体制。也就是说,密码体制的安全性建立在对密钥的依赖上。所以,保守密钥秘密是非常重要的。
               密钥管理一般包括以下8个内容。
               (1)产生密钥:密钥由随机数生成器产生,并且应该有专门的密钥管理部门或授权人员负责密钥的产生和检验。
               (2)分发密钥:密钥的分发可以采取人工、自动或者人工与自动相结合的方式。加密设备应当使用经过认证的密钥分发技术。
               (3)输入和输出密钥:密钥的输入和输出应当经由合法的密钥管理设备进行。人工分发的密钥可以用明文形式输入和输出,并将密钥分段处理;电子形式分发的密钥应以加密的形式输入和输出。输入密钥时不应显示明文密钥。
               (4)更换密钥:密钥的更换可以由人工或自动方式按照密钥输入和密钥输出的要求来实现。
               (5)存储密钥:密钥在加密设备内采用明文形式存储,但是不能被任何外部设备访问。
               (6)保存和备份密钥:密钥应当尽量分段保存,可以分成两部分并且保存在不同的地方,例如一部分存储在保密设备中,另一部分存储在IC卡上。密钥的备份也应当注意安全并且要加密保存。
               (7)密钥的寿命:密钥不可以无限期使用,密钥使用得越久风险也就越大。密钥应当定期更换。
               (8)销毁密钥:加密设备应能对设备内的所有明文密钥和其他没受到保护的重要保护参数清零。
 
       消息
        消息是对象间通信的手段、一个对象通过向另一个对象发送消息来请求其服务。一个消息通常包括接收对象名、调用的操作名和适当的参数(如有必要)。消息只告诉接收对象需要完成什么操作,并不能指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。
   题号导航      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 /
 
第51题    在手机中做本题