第4章基础安全技术_第1页
第4章基础安全技术_第2页
第4章基础安全技术_第3页
第4章基础安全技术_第4页
第4章基础安全技术_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章基础安全技术

4.1密码技术4.2完整性校验与数字签名4.3PKI技术习题4.1密码技术4.1.1古典密码系统4.1.2对称密码系统

4.1.3公钥密码系统数据加密的一般模型如下图所示。

明文M用加密算法E和加密密钥Ke得到密文C=Eke(M)。传递过程中可能出现加密密文截取者。到了接收端,利用解密算法D和解密密钥Kd,解出明文M=DKe(C)。4.1.1古典密码系统

1.仿射密码系统仿射密码系统是一种典型的单表变换密码系统。所谓单表变换密码是指明文的所有字母和密文的所有字母之间存在一个固定的映射关系f:Zn→Zn。返回本节

下表是从明文字母映射到密文字母的一个实例。

【例4-1】根据表4-2对明文“affinecipher”进行加密。根据表4-2的映射关系,存在以下的加密变换:

a→y,f→d,i→g,n→l,e→c,c→a,p→n,h→f,r→p于是可以得到密文:“yddglcagnfcp”接收方收到密文后,也可以通过表2-l进行还原:

y→a,d→f,g→i,l→n,c→e,a→c,n→p,

f→h,p→r得到明文:“affinecipher”

在仿射密码系统(AffineCipher)中,明文空间和密文空间均为Zn。密钥空间:K={K=(k0,k1)|gcd(k1,n)=1,k0,k1∈Zn}加密算法:Ek(i)i)=(ik1+k0)modn解密算法:Dk(j)=(j-k0)/k1modn

2.Vigenère密码系统多表变换密码系统是单表变换密码系统的扩展。在单表变换中,加密和解密由一个映射来完成,而多表变换中存在多个映射。

在Vigenère密码系统中,明文空间和密文空间均为Zn。密钥:k=(k0,k1,…,kd),ki∈Zn

加密算法:mi+tdci+td

ci+td=(mi+td+ki

)(modn)解密算法:ci+td

mi+td

mi+td=(ci+td-ki)(modn)

【例4-3】在Vigenère密码系统中,明文和密文都是英文字母串,n=26,密钥k={19,7,8,13,10},明文的英文形式是:“thealgebraicformofanellipticcurve”相应的数字形式是:“19,7,4,0,11

6,4,1,17,0,8,2,5,14,17,12,14,5,0,13,

4,11,11,8,15,19,8,2,2,2017,21,4”(忽略空格)

实施加密算法:

19(+19)→127(+7)→144(+8)→120(+13)→1311(+10)→216(+19)→254(+7)→111(+8)→917(+13)→40(+10)→108(+19)→12(+7)→95(+8)→1314(+13)→117(+10)→112(+19)→514(+7)→215(+8)→130(+13)→1313(+10)→234(+19)→2311(+7)→1811(+8)→198(+13)→2115(+10)→2519(+19)→128(+7)→152(+8)→102(+13)→1520(+10)→417(+19)→102l(+7)→24(+8)→12

得到数字密文:“12,14,12,13,21,25,11,9,4,10,1,9,13,1,1,5,21,13,13,23,

23,18,19,21,25,12,15,10,15,4,10,2,12”

相应的英文密文:“momnvzljekbjnbbfvnnxxstvzmpkpekcm”

实施解密算法:

12(-19)→1914(-7)→712(-8)→413(-13)→021(-10)→1125(-19)→611(-7)→49(-8)→l4(-13)→1710(-10)→0l(-19)→89(-7)→213(-8)→5l(-13)→141(-10)→175(-19)→1221(-7)→1413(-8)→51(-13)→023(-10)→1323(-19)→418(-7)→1119(-8)→112l(-13)→825(-l0)→1512(-19)→1915(-7)→810(-8)→215(-13)→24(-10)→2010(-19)→172(-7)→2l12(-8)→4

还原出数字明文:“19,7,4,0,11,6,4,1,17,0,8,2,5,14,17,12,14,5,0,13,4,11,11,8,15,19,8,2,2,20,17,21,4”

还原出英文明文:“thealgebraicformofanellipticcurve”

3.Hill密码系统在Hill密码系统中,明文空间和密文空间都是Zmn,明文用(xl,x2,…,xm)表示,密文用(y1,y2,…,ym)表示。

密钥:

k=

加密算法:(y1,y2,…,ym)=(xl,x2,…,xm)

相应的解密算法是:

4.1.2对称密码系统

1.DES算法DES算法具有对称性,既可用于加密又可用于解密。对称性带来的一个很大的好处在于硬件容易实现,DES的加密和解密可以用完全相同的器件来实现。DES算法的明文分组是64位,输出密文也是64位。所用密钥的有效位数是56位,加上校验位共64位。(1)DES加密算法的数据流程图

64比特的明文初始换位加密变换逆初始换位64比特的密文子密钥的生成(k1,k2,…,k16)64比特的密钥

(2)原理

①该算法输入的是64比特的明文,在64比特的密钥控制下,通过初始换位IP变成T0=IP(T)。

②再对T0经过16层的加密变换。

③最后通过逆初始变换得到64比特的密文。它反复使用替换和变位,以便彻底地打乱明文的信息,使得密文的每一位都依赖于明文的每一位和密钥的每一位。DES的加密过程可分为加密处理、加密变换及子密钥的生成几个部分。(3)算法流程图

密钥数据R(32)扩展型换位R′(48)K(48)S1S2S3S4S5S6S7S8换位(32)F(R,k)(32)

输入64位初始变换L0R0fL1=R0R1=L0

F(R0,K1)输入64位逆初始变换L2=R1L15=R14L16=R15R2=L1F(R1,K2)R15=L44F(R14,K15)R16=L15F(R15,K16)ffK16fKnK2K1

(4)关于DES的评价DES具有良好的保密性能和抗分析破译性能,并已广泛地应用于金融业,美国、日本和西欧一些国家都使用DES。目前,DES在各种算法的加密软、硬件产品中占有很大的比重,最具有代表性,影响最大,应用最广。返回本节

2.其他对称密码系统(1)LOKI算法

LOKI算法于1990年在密码学界首次亮相。同DES一样,LOKI算法以64位二进制分组加密数据,也使用64位密钥,不同的是在密钥中无奇偶校验位。

(2)Khufu和Khafre算法1990年,由Merhie设计的Khufu和Khafre算法也是一个很有特点的算法。该算法具有较长的密钥,适合于软件实现。

(3)FEAL-8密码FEAL密码算法是由日本NTT(日本电报电话公司)的Shimizi和Miyaguchi设计的一种算法,其主要思路是增加每一轮迭代的算法强度。FEAL密码算法是一个算法族,如:FEAL-8表示8轮迭代的FEAL密码算法

(4)IDEA算法1990年,XueJiaLai和Massey首次提出IDEA密码系统,当时称为建议加密标准(PES)。该算法于1992年正式更名为IDEA。IDEA的明文和密文分组都是64位,密钥长度为128位,算法具有对称性,同一种算法既可用于加密,又可用于解密。

(5)RC5算法RC5是由RSA公司的首席科学家RonRivest于1994年设计、1995年正式公开的一个很实用的加密算法。RC5的特点是分组长度、密钥长度和迭代轮数都可变。自RC5公布以来至今还没有发现攻击它的有效手段,但一些理论文章也分析出了RC5的某些弱点。(6)高级加密标准AES算法1997年4月15日,NIST(NationalInstituteofStandardTechnology,美国国家标准和技术研究所)发起了征集AES(AdvancedEncryptionStandard,高级加密标准)算法的活动美国学者约翰逊(DonB.Johnson)首次提出把未来弹性(FutureResilien-cy)引入AES评估标准。

未来弹性的概念“未来弹性”作为系统设计的目标,旨在设计出能够应付未来难以预测的变化和不确定性的系统。Internet是具有未来弹性特征的。密码多样性也是具有未来弹性特征的。

未来弹性与AES评估标准将未来弹性引入AES评估标准还有以下优点:增强安全性;增强适应性;减少专利纠纷;分散目标避免攻击。

浅析AES算法的遴选AES算法具有可变的分组长度和密钥长度,分别设计了3个密钥长度128/192/256位,用于加密长度为128/192/256位的分组,相应的轮数为10/12/14。AES算法具有安全、性能好、效率高、易于实现和灵活等优势。4.1.3公钥密码系统

1976年,美国学者Diffie和hellman根据单向函数的概念提出了公开密钥体制,引起了密码学的一场革命。公开密钥密码体制从根本上克服了传统密码体制的困难,解决了密钥分配和消息认证等问题,特别适合于计算机网络系统的应用。返回本节

1.RSA公钥系统(1)原理在公开密钥密码体制中,加密密钥和解密密钥互异分离。加密密钥可以通过非保密信道向他人公开,使任何得到该加密密钥的用户据此将明文信息加密后予以发送;而按特定要求选择的解密密钥则需保持秘密。

(2)基础RSA算法运用了数论中的Euler定理,即a、r是两个互素的正整数。则az≡1(modr),其中z为与r互素且不大于r的正整数的个数(即Euler函数)。该算法取用一个合数(该合数为两个大素数的乘积),而不是取用一个大素数作为其模数r。

(3)RSA的实施实施RSA公开密钥密码体制的步骤为:设计密钥先仔细选取两个互异的大素数P和Q,令:N=PQ,z=(P-1)(Q-1)接着寻求两个正整数和,使其满足:

这里的就是公开的加密密钥。

加密密文把要发送的明文信息M数字化和分块,其加密过程是:

恢复明文:对C解密,即得到明文:

(4)RSA算法的安全性大整数分解情况年度被分解因子十进位长度机器形式时间198347HP迷你计算机3天198369Cray超级计算机32小时19889025个SUN工作站几星期1989961MIPS处理器1个月198910680个工作站以上几星期1993110128×128处理器(0.2MIPS)1个月19941291600台计算机

8个月

RSA与DES加密速度的比较密码体制硬件速度(bit/s)软件速度(bit/s或MIPS)RSA加密220k0.5k解密-------32kDES1.2G400k

(5)举例取两个质数p=11,q=13,p和q的乘积为n=p×q=143,算出另一个数z=(p-1)×(q-1)=120;

再选取一个与z=120互质的数,例如e=7,则公开密钥=(n,e)=(143,7)。对于这个e值,可以算出其逆:d=103。因为e×d=7×103=721,满足e×dmodz=1;

即721mod120=1成立。则秘密密钥=(n,d)=(143,103)。

设张小姐需要发送机密信息(明文)m=85给李先生,她已经从公开媒体得到了李先生的公开密钥(n,e)=(143,7),于是她算出加密值:c=memodn=857mod143=123并发送给李先生。李先生在收到密文c=123后,利用只有他自己知道的秘密密钥计算:m=cdmodn=123103mod143=85,所以,李先生可以得到张小姐发给他的真正的信息m=85,实现了解密。

(6)RSA的安全性就目前的计算机水平用1024位的密钥是安全的,2048位是绝对安全的。RSA实验室认为,512位的n已不够安全,应停止使用,现在的个人需要用668位的n,公司要用1024位的n,极其重要的场合应该用2048位的n。

(7)密钥分配公认的有效方法是通过密钥分配中心KDC来管理和分配公开密钥。KDC的公开密钥和秘密密钥分别为PKAS、SKAS。每个用户只保存自己的秘密密钥和KDC的公开密钥PKAS。用户可以通过KDC获得任何其他用户的公开密钥。4.2完整性校验与数字签名4.2.1Hash函数4.2.2HMAC函数4.2.3数字签名

完整性校验的原理如下图所示:

(1)消息的发送者对所要发送的消息产生一个附件,并将该附件和消息传输给接收者;(2)消息的接收者在将消息作为真实消息接收之前,检查接收到的消息内容和附件是否是一致的;

(3)如果不对该附件进行保护,攻击者很容易进行主动攻击,即先对数据内容进行修改,然后基于修改后的数据产生一个附件。为避免这种攻击,需利用一个密钥来产生一个附件。只有知道密钥的人才能打开附件,从而验证其真实性。一旦攻击者修改了消息,必将被检测出来。

实现数据完整性必须满足两个要求:(1)是数据完整性应该能被消息的接收者所验证;(2)是数据完整性应该与消息相关,即消息不同,产生的附件数据也应该不同。4.2.1Hash函数

Hash函数是将任意长度的输入串变化成固定长度的输出串的一种函数。Hash函数的输人可以是任意大小的消息,而输出是一个固定长度的消息摘要,其原理如下图所示:

输入消息的每一位对输出消息摘要都有影响。Hash函数可用于保证信息的完整性,防止在传输过程中有人改变信息的内容。最常用的Hash函数有MD2、MD4、MD5以及SHA等。4.2.2HMAC函数

Hash函数的一个重要应用就是产生消息的附件,如下图所示:

使用Hash函数产生附件时,需要给消息前缀或后缀一个密钥,然后再对这个级联消息应用Hash函数。Hash函数的输出即为附件:Hash函数作用于一个任意长度的消息M,它返回一个固定长度m的散列值h:h=H(M)。这种利用带密钥的Hash函数实现数据完整性保护的方法称为HMAC。4.2.3数字签名

1.数字签名的要求:(1)收方能够确认或证实发方的签名,但不能伪造。(2)发方发出签名的消息送收方后,就不能再否认他所签发的消息。(3)收方对收到签名消息不能否认,即有收到认证。(4)第三者可以确认收发双方之间的消息传送,但不能伪造这一过程。2.数字签名与手书签名的区别(1)手书签名是模拟的,且因人而异。(2)数字签名是0和1的数字串,因消息而异。(3)消息认证使收方能验证消息发送者及所发消息内容是否被篡改过。(4)数字签名技术可解决收者和发者之间有利害冲突时的纠纷。返回本节

3.数字签名的二大类(1)对整个消息的签名。(2)对压缩消息的签名。它们都是附加在被签名消息之后或某一特定位置上的一段签名图样。返回本节

4.按明、密文的对应关系分类(1)确定性数字签名其明文与密文一一对应,它对特定消息的签名不变化(使用签名者的密钥签名),如RSA、ElGamal等签名。(2)随机化的或概率式数学签名,它对同一消息的签名是随机变化的,取决于签名算法中的随机参数和取值。

5.签名体制的组成(1)签名算法;(2)验证算法。(3)原理①对M的签名可简记为Sig(M)=s

,而对s的证实简记为Ver(s)={真,伪}={0,1}。

②签名算法或签名密钥是秘密的,只有签名人掌握。证实算法应当公开,以便于他们进行验证。③一个签名体制可由量(M,S,K,V)表示,其中M是明文空间,S是签名的集合,K是密钥空间,V证实函数的值域,由真、伪组成。

④对于每一kЄK

,有一签名算法,易于计算

s=Sigk(m)ЄS

。利用公开的证实算法:Verk

(s,m)Є

{真,伪}可以验证签名的真伪。

⑤对每一mЄM,真签名Sigk(m)ЄS为M→S

的映射。易于证实S是否为M的名。Verk

(s,m)

=真,当Sigk(s,m)满足验证方程伪,当Sigk(s,m)不满足验证方程返回本节

6.数字签名的应用(1)用数字签名对文档进行标识,为文档附上电子时间标签。(2)电子贸易、电子支票、电子货币、电子汇款使用电子签名。(3)大范围的商业应用(4)数据库的保护返回本节

基本的数字签名方法

(1)A用其私钥加密文件,这便是签名过程;(2)A将加密的文件和未加密的文件都发送到B;(3)B用A的公钥解开A传送来的文件,将解密得到的文件与明文文件进行比较,如果二者相同就可以认为文件的确来自A,否则认为文件并非来自A,这就是签名验证过程。4.3PKI技术4.3.1PKI的概念4.3.2PKI部署与应用

4.3.1PKI的概念

1.PKI的定义PKI是利用公开密钥技术所构建的、解决网络安全问题的、普遍适用的一种基础设施。美国的部分学者也把提供全面安全服务的基础设施,包括软件、硬件、人和策略的集合称作PKI。

2.PKI的组成简单地讲,PKI就是一个为实体发证的系统,它的核心是将实体的身份信息和公钥信息绑定在一起,并且利用认证机构(CertificationAuthority,简称CA)的签名来保证这种绑定关系不被破坏,从而形成一种数据结构,即数字证书(简称证书)。

一个典型的PKI系统的结构图:

(1)终端实体(Entity);一个终端实体可以是一个终端用户、一个设备(如服务器、路由器等)或一个进程等。终端实体可以分为:PKI证书的使用者;终端用户或者系统,它们是PKI证书的主体。

(2)认证机构(CA);CA的主要功能是接收实体的证书请求,在确认实体的身份之后,为实体签发数字证书数字证书的组成如下图:

(3)注册机构(RA);RA在PKI系统中是一个可选的组件,主要是完成CA的一些管理功能。(4)证书撤销列表发布者;(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论