数据加密技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第2章数据加密技术密码学是研究数据的加密、解密及其变换的学科,涵盖数学、计算机科学、电子与通信学科。(1)信息保密:数据加密、文件加密(2)鉴别身份:通信信道安全(3)保证完整性:防篡改(4)抗抵赖:数字签名、电子印章课时:6.022.1加密技术概述1.加密技术一般原理加密技术的基本思想就是伪装信息,使非法接入者无法理解信息的真正含义。伪装就是对信息进行一组数学变换。我们称伪装前的原始信息为明文(Message),经伪装的信息为密文(Cipher)。将明文伪装为密文的过程为加密(Encrypt),其逆过程称为解密(Decrypt)。32.1加密技术概述1.加密技术一般原理42.1加密技术概述1.加密技术一般原理加解密使用的一组数学变换称为密码算法。为了有效控制加密、解密算法的实现,在这些算法的实现过程中,需要有某些只被通信双方所掌握的专门的、关键的信息参与,这些信息就称为密钥(Key)。用作加密的称加密密钥,用作解密的称作解密密钥。52.1加密技术概述2.密码算法的分类按发展进程分类:经历了古典密码、对称密钥密码、公开密钥密码的发展阶段。古典密码是基于字符替换的密码,现已很少使用。现常用的算法按密钥管理方式可分为对称算法、公开密钥算法。62.1加密技术概述2.密码算法的分类按发展进程分类:对称算法的加密密钥和解密密钥相同,也称为秘密密钥或单密钥算法,如DES等。72.1加密技术概述2.密码算法的分类按发展进程分类:两个密钥不同的称为公开密钥算法,如RSA等,两个密钥称为公用和私有密钥。82.1加密技术概述公钥密码体制既可用于实现公共通信网的保密通信,也可用于认证系统中对消息进行数字签名。为了同时实现保密性和对消息进行确认,在明文消息空间和密文消息空间等价,且加密、解密运算次序可换,即Ekl(Dk2(m))=Dk2(Ek1(m))=m。92.1加密技术概述返回102.1加密技术概述2.密码算法的分类按加密模式分对称算法又可分为序列密码和分组密码两大类。序列密码每次加密1位或1字节的明文,也称为流密码。分组密码将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。112.1加密技术概述3.网络信息加密方式•链路加密链路加密方式中,所有消息在被传输之前进行加密,对数据正文和控制信息都加密,在每个节点接收到报文后,须先解密以获得路由信息和校验和,再进行路由选择、差错检测,然后加密后传输到下一节点。在每一个网络节点中,消息以明文形式存在。122.1加密技术概述3.网络信息加密方式•节点加密信息仅在节点处进行解密和加密,链路则传输明文形式。在节点处的加解密是在节点上的一个安全模块中进行,均以密文形式呈现。节点加密要求报头和路由信息以明文形式传输。不能有效防止攻击者分析通信业务。132.1加密技术概述3.网络信息加密方式•端到端加密端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密,消息在被传输时到达终点之前不进行解密。这种方式通常不允许对目的IP地址加密,便于节点确定如何传输消息。由于不能掩盖源点与终点,因此也它有一定的脆弱性。142.1加密技术概述3.网络信息加密方式•端到端加密端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。采用端到端加密,消息在被传输时到达终点之前不进行解密。这种方式通常不允许对目的IP地址加密,便于节点确定如何传输消息。由于不能掩盖源点与终点,因此也它有一定的脆弱性。152.2传统密码技术替代密码替代密码就是明文中每一个字符被替换成密文中的另外一个字符。接收者对密文进行逆替换就恢复出明文来。在替代法加密体制中,使用了密钥字母表。它可以由一个字母表构成,也可以由多个字母表构成,分别称为单表密码和多表密码。16凯撒(Caesar)密码一种典型的单表替代密码,又叫循环移位密码。它的加密方法就是把明文中所有字母都用它右边的第k个字母替代,Z后又是A。E(a)=(a+k)modn其中:a表示明文字母;n为字符集中字母个数;k为密钥,一个正整数。2.2传统密码技术172.2传统密码技术设k=3;对于明文P=COMPUTE则:E(C)=(3+3)mod26=6=FE(O)=(15+3)mod26=18=RE(M)=(13+3)mod26=16=P所以,密文C=Ek(P)=FRPSXRWH。当然,字母表的顺序可自设定。182.2传统密码技术换位密码换位密码是采用移位法进行加密的。它把明文中的字母重新排列,本身不变,但位置变了。(l)列换位法:将明文字符分割成为五个一列的分组并按一组后面跟着另一组的形式排好。192.2传统密码技术如:WHATYOUCANLEARNFROMTHISBOOK密钥=5,则密文:WOFHOHURIKACOSXTAMBXYNTOXWHATYOUCANFROMTHISBOOKXXX202.2传统密码技术(2)矩阵换位法:把明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。如:将明文ENGINEERING按行排在3*4矩阵中,如下所示:212.2传统密码技术1234ENGINEERING24131234f给定一个置换:222.2传统密码技术按第2、4、1、3列次排列,得到密文:NIEGERNENIG在这个加密方案中,密钥就是矩阵的行数m和列数n,即m*n=3*4,以及给定的置换矩阵。也就是:k=(m*n,f)1234NIEGERNENIG232.2传统密码技术其解密过程是将密文根据3*4矩阵,按行、列的顺序写出,再根据给定置换产生新的矩阵,恢复明文为:ENGINEERING1234NIEGERNENIG24131234f242.3数据加密标准(DES)好的加密算法要求:(1)必须提供高度的安全性;(2)具有相当高的复杂性,使得破译的开销超过可能获得的利益,同时又便于理解和掌握;(3)安全性应不依赖于算法的保密,其加密的安全性仅以加密密钥的保密为基础;252.3数据加密标准(DES)数据加密标准DES是美国国家标准局制定的商用数据加密标准,军方除外。DES是一个分组加密算法,它以64位为分组对数据加密。64位一组的明文从算法的一端输入,64位的密文从另一端输出。算法需要进行16轮编码。262.3数据加密标准(DES)DES是一个对称算法:加密和解密用的是同一算法。密钥长度为64bit,其中有效密钥长度56bit,其余8bit为奇偶校验。DES的整个体制是公开的,系统的安全性主要依赖密钥的保密。272.3数据加密标准(DES)生成密钥Kii(i=1…16)56位密钥64位明文初始变位迭代处理i(i=1…16)左右32位互换还原移位64位密文282.4RSA算法RSA是MIT出品,于1978年公布。简单地说,就是两个很大的质数,一个公开给世人,另一个不告诉任何人,前者称为“公用密钥”,后者称为“私有密钥”。这两个密钥相互补充,就是说公用密钥的密文可以用私有密钥来解密,反之也然。292.4RSA算法RSA要求每一个用户拥有自己的一种密钥:(1)公开的加密密钥,用以加密明文;(2)保密的解密密钥,用于解密密文。在RSA密钥体制的运行中,当A用户发文件给B用户时,A用户用B的公开密钥加密明文,B用户则用解密密钥解读密文。302.4RSA算法RSA密钥可从40位到2048位,加密时块大小可变,但不超过密钥的长度,RSA算法把每一块明文转化为与密钥长度相同的密文块。密钥越长,加密效果越好,但开销也大。比较知名的应用SSL、PGP都成功应用了RSA算法。常用128bit-512bit长度的密钥,具有非常高的加密强度。312.4RSA算法密钥产生1.取两个大素数p,q,保密;2.计算n=pq,公开n;3.计算欧拉函数ф(n)=(p-1)(q-1);4.任意取一个与ф(n)互素的小整数e:gcd(e,ф(n))=1;1eф(n)5.寻找d,dф(n),使得de≡1modф(n),de=kф(n)+1公开(e,n)=(5,119)将d保密,丢弃p,q;p=7,q=17n=119Ф(n)=96选择e=55d=k×96+1令k=4,得到求得d=77322.4RSA算法公开密钥:KU={e,n}秘密密钥:KR={d,n}加密过程把待加密的内容分成k比特的分组,k≤log2n,并写成数字,设为M,则:C=Memodn解密过程M=Cdmodn{5,119}{77,119}c=m5mod119m=c77mod119332.4RSA算法34DES&RSA速度硬件实现的最快的RSA算法所消耗的时间也是DES算法的1000倍。计划开发512bit的加密速率达1Mbps的芯片。DES:数据传输加密;RSA:密钥传输(交换)加密;352.5MD5算法MD5,即Message-DigestAlgorithm5(信息-摘要算法),它是一种基于杂凑函数(HASH)的密码算法,由RSA的设计者R.Rivest于20世纪90年代初开发出来。MD5的最大作用在于,将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前“压缩”成一种保密的格式,关键之处在于——这种“压缩”是不可逆的。362.5MD5算法MD5的典型应用是对一段信息产生信息摘要(Message-Digest),防篡改。MD5(tanajiya.tar.gz)=0ca175b9c0f726a831d895e269332461MD5算法通过其不可逆的字符串变换算法,产生了一个唯一的MD5信息摘要。如果有第三方认证机构,则MD5就可以防止文件作者的“抵赖”,即所谓的数字签名。372.5MD5算法MD5算法:以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组。经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。具体应用见实验382.5MD5算法2004年8月17日的美国加州圣巴巴拉的国际密码学会议(Crypto’2004)上,来自中国山东大学的王小云教授做了破译MD5、HAVAL-128、MD4和RIPEMD算法的报告,公布了MD系列算法的破解结果。在数小时内,给出的算法可以使两个文件可以产生相同的“指纹”。39认证技术是防止不法分子对信息系统进行主动攻击的一种重要技术。认证的目的有三个:•消息完整性认证:验证信息在传送或存储过程中是否被篡改;•身份认证:验证消息的收发者是否持有正确的身份认证符,如口令或密钥等;•消息的序号性、时间性认证:防止消息重放或延迟等攻击。2.6认证技术40一个安全的认证体制至少应满足以下要求:1)接收者能够检验和证实消息的合法性、真实性和完整性。2)消息的发送者对所发的消息不能抵赖,有时也要求消息的接收者不能否认收到的消息。3)除了合法的消息发送者外,其他人不能伪造发送消息。2.6认证技术41认证体制中通常存在一个可信中心或可信第三方(如认证机构CA,即证书授权中心),用于仲裁、颁发证书或管理某些机密信息。通过数字证书实现公钥的分配和身份的认证。CA负责密钥的发放、注销及验证,所以CA也称密钥管理中心。CA为每个申请公开密钥的用户发放一个证书,证明该用户拥有证书中列出的公钥。见示意图2.6认证技术42数字签名技术数字签名就是信息发送者使用公开密钥算法技术,产生别人无法伪造的一段数字串。发送者用自己的私有密钥加密数据传给接收者,接收者用发送者的公钥解开数据后,就可以确定消息来自于谁,同时也是对发送者发送信息的真实性的一个证明。发送者对所发信息不能抵赖。2.6认证技术43数字签名技术数字签名应该保证:1)可验证2)防抵赖3)防假冒4)防篡改5)防伪造签名对安全、防伪、速度要求比加密更高。2.6认证技术44数字签名技术数字签名与传统签名的区别:①需要将签名与消息绑定在一起;②通常任何人都可以验证;③要考虑防止签名的复制、重用。2.6认证技术45身份认证技术身份认证,又称身份鉴别,是指被认证方在没有泄露自己身份信息的前提下

1 / 65
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功