信息安全原理与技术ch03(1)-对称加密技术40254.pptx
《信息安全原理与技术ch03(1)-对称加密技术40254.pptx》由会员分享,可在线阅读,更多相关《信息安全原理与技术ch03(1)-对称加密技术40254.pptx(130页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、信息安全原理与技术信息安全原理与技术第2版郭亚军 宋建华 李莉 董慧慧清华大学出版社 2023/3/14Ch3(1)-对称加密技术2第3章 对称加密技术(1)主要知识点主要知识点:-对称密码模型对称密码模型 -密码攻击密码攻击 -古典加密技术古典加密技术 -数据加密标准数据加密标准 -高级加密标准高级加密标准 -中国商用密码算法-SMS4 -RC6 -流密码 -分组密码工作模式 -随机数的产生 -对称密码的密钥分配 2023/3/14Ch3(1)-对称加密技术3密码技术主要分为对称密码技术对称密码技术和非对称密码技非对称密码技术术对称密码技术中,加密密钥和解密密钥相同,或者一个密钥可以从另一个
2、导出非对称密码技术则使用两个密钥,加密密钥和解密密钥不同,非对称密码技术则产生于20世纪70年代 20世纪70年代以前的加密技术都是对称加密技术对称加密技术,这个时期的加密技术也称为古典加密技术古典加密技术。古典加密技术一般将加密算法保密,而现代的对称加密技术则公开加密算法,加密算法的安全性只取决于密钥,不依赖于算法2023/3/14Ch3(1)-对称加密技术4密码学的基本概念密码学密码学(Cryptology)包括密码编码学密码编码学(Cryptography),和密码分析学和密码分析学(Cryptanalysis)密码编码学密码编码学是研究加密原理与方法,使消息保密的技术和科学,它的目的是
3、掩盖消息内容密码分析学密码分析学则是研究破解密文的原理与方法密码分析者密码分析者(Cryptanalyst)是从事密码分析的专业人员 被伪装的原始的消息(Message)称为明文明文(Plaintext)将明文转换为密文过程称为加密加密(Encryption)2023/3/14Ch3(1)-对称加密技术5加了密的消息称为密文密文(Ciphertext)把密文转变为明文的过程称为解密解密(Decryption)从明文到密文转换的算法称为密码密码(Cipher)一个加密系统采用的基本工作方式叫做密码体制密码体制(Cryptosystem)在密码学中见到“系统或体制系统或体制”(System)、“方
4、方案案”(Scheme)和“算法算法”(Algorithm)等术语本质上是一回事加密和解密算法通常是在一组密钥密钥(Key)控制下进行的,分别称为加密密钥加密密钥和解密密钥解密密钥如果加密密钥和解密密钥相同,则密码系统为对对称密码系统称密码系统 2023/3/14Ch3(1)-对称加密技术6对称密码模型 对称密码也称传统密码,它的特点是发送方和接收方共享一个密钥对称密码分为两类:分组密码分组密码(Block Ciphers)和流密码流密码(Stream Ciphers)分组密码也称为块密码,它是将信息分成一块(组),每次操作(如加密和解密)是针对一组而言流密码也称序列密码,它是每次加密(或者解
5、密)一位或者一个字节 2023/3/14Ch3(1)-对称加密技术7一个对称密码系统(也称密码体制)有五个组成部分组成。用数学符号来描述为SM,C,K,E,D,如图3.2所示。(1)明文空间M,是全体明文的集合。(2)密文空间C,表示全体密文的集合。(3)密钥空间K,表示全体密钥的集合,包括加密密钥和解密密钥。(4)加密算法E,表示由明文到密文的变换。(5)解密算法D,表示由密文到文明的变换。2023/3/14Ch3(1)-对称加密技术8明 文加密算法解密算法明 文传输通道MMCC攻击者接收方发送方密钥源安全通道KK图3.2 对称密码系统模型2023/3/14Ch3(1)-对称加密技术9对明文
6、M用密钥K,使用加密算法E进行加密常常表示为Ek(M),同样用密钥K使用解密算法D对密文C进行解密表示为Dk(C)在对称加密体制中,密解密密钥相同,有:CEk(M)MDk(C)Dk(Ek(M)2023/3/14Ch3(1)-对称加密技术10密码体制至少满足的条件(1)已知明文M和加密密钥K时,计算CEk(M)容易(2)加密算法必须足够强大,使破译者不能仅根据密文破译消息,即在不知道解密密钥K时,由密文C计算出明文M是不可行的(3)由于对称密码系统双方使用相同的密钥,因此还必须保证能够安全地产生密钥,并且能够以安全的形式将密钥分发给双方(4)对称密码系统的安全只依赖于密钥的保密,不依赖于加密和解
7、密算法的保密 2023/3/14Ch3(1)-对称加密技术11密码攻击密码攻击 分析一个密码系统是否是安全,一般是在假定攻假定攻击者知道所使用的密码系统击者知道所使用的密码系统情况下进行分析的 如:密码分析者可以得到密文,知道明文的统计特性,加密体制,密钥空间及其统计特性 这个假设称为Kerckhoff假设假设分析一个密码系统的安全性一般是建立在这个假设的基础上 对称密码体制的攻击有两种方法:密码分析密码分析和穷穷举攻击举攻击(Brute Force Search)2023/3/14Ch3(1)-对称加密技术12密密码码分分析析是依赖加密算法的性质和明文的一般特征等试图破译密文得到明文或试图获
8、得密钥的过程穷穷举举攻攻击击则是试遍所有可能的密钥对所获密文进行解密,直至得到正确的明文;或者用一个确定的密钥对所有可能的明文进行加密,直至得到所获得的密文 2023/3/14Ch3(1)-对称加密技术13穷举攻击 穷举攻击是最基本也是比较有效的一种攻击方法 从理论上讲,可以尝试所有的密钥 穷举攻击的代价与密钥大小成正比 密码算法可以通过增大密钥位数或加大解密(加密)算法的复杂性来对抗穷举攻击 表3.1是穷尽密钥空间所需的时间。从表中我们可以发现,当密钥长度达到128位以上时,以目前的资源来说,穷举攻击将不成功 2023/3/14Ch3(1)-对称加密技术142023/3/14Ch3(1)-对
9、称加密技术15密码攻击类型 密码分析是基于Kerckhoff假设 密码分析者所使用的策略取决于加密方案的性质以及可供密码分析者使用的信息根据密码分析者所知的信息量,把对密码的攻击分为:唯密文攻击唯密文攻击,已知明文攻击已知明文攻击,选择选择明文攻击明文攻击,选择密文攻击选择密文攻击,选择文本攻击选择文本攻击 2023/3/14Ch3(1)-对称加密技术16唯密文攻击唯密文攻击(Ciphertext-Only Attack):密码分析者知道知道:加密算法和待破译的密文加密算法和待破译的密文.已知明文攻击已知明文攻击(Known-Plaintext Attack):密码分析者除知道加密算法加密算法
10、和待破译的密文待破译的密文外,而且也知道,有一些明文和同一个密钥同一个密钥加密的这些明文所对应的密文即知道一定数量的明文和对应的密一定数量的明文和对应的密文文选择明文攻击选择明文攻击(Chosen-Plaintext Attack):密码分析者知道加密算法加密算法和待破译的密文待破译的密文,并且可以得到所需要的任何明文所对应的密文,这些明文和待破译的密文是用同一密钥加密得来的,即知道选择的明文和对应的密文选择的明文和对应的密文。如在公钥密码体制中,攻击者可以利用公钥加密他任意选定的明文2023/3/14Ch3(1)-对称加密技术17选择密文攻击选择密文攻击(Chosen-Ciphertext
11、Attack):密码分析者知道加密算法加密算法和待破译的密文待破译的密文,密码分析者能选择不同的被加密的密文,并可得到对应的解密的明文,即知道选择的密文和对应的明文选择的密文和对应的明文。解密这些密文所使用的密钥与解密待破解的密文的密钥是一样的。这种攻击主要用于公钥密码算法。选择文本攻击选择文本攻击(Chosen Text Attack):选择文本攻击是选择明文攻击和选择密文攻击的结合。密码分析者知道加密算法加密算法和待破译的密文待破译的密文,并且知道任意选择的明文和它对应的密文任意选择的明文和它对应的密文,这些明文和待破译的密文是用同一密钥加密得来的,以及有目的选择的密文和它对应的明文,解密
12、这些密文所使用的密钥与解密待破解的密文的密钥是一样的。2023/3/14Ch3(1)-对称加密技术18如果一个密码系统能够抵抗选择明文攻击,那么它也能抵抗唯密文攻击和已知明文攻击 在这几种攻击类型中,唯密文攻击难度最大,因为攻击者可利用的信息最少 对密码设计者而言,被设计的加密算法一般要能经受得住已知明文的攻击 如果无论攻击者有多少密文,由一个加密算法产生的这些密文中包含的信息不足以唯一决定对应的明文,也无论用什么技术方法进行攻击都不能被攻破,这种加密算法是绝对安全绝对安全(Unconditional Security)除一次一密(One-Time Pad)外,没有绝对安全的加密算法 2023
13、/3/14Ch3(1)-对称加密技术19一般来说,加密算法的使用者应该挑选满足下列标准中的一个或两个的算法:(1)破译该密码的成本超过被加密信息的价值。(2)破译该密码的时间超过该信息有用的生命周期。如果满足上述的两个准则,一个加密算法就可认为是在计算上安全计算上安全(Computational Security)的计算上安全是指在计算能力有限的的情况下(如计算所需时间比宇宙生存时间还长),无法破解此密文目前的加密算法一般是计算上安全的 2023/3/14Ch3(1)-对称加密技术20密码分析方法 当密钥长度增加到一定的大小时,穷举攻击变得不实际 比较流行的密码分析方法是线性密码分析线性密码分
14、析和差分密码分析差分密码分析 线性分析线性分析是一种已知明文攻击线性分析线性分析是一种统计攻击,它以求线性近似为基础。通过寻找现代密码算法变换的线性近似来攻击用这种方法只需要知道243个已知明文的情况下就可以找到DES的密钥 2023/3/14Ch3(1)-对称加密技术21差分密码分析差分密码分析在许多方面与线性密码分析相似它与线性密码分析的主要区别在于差分密码分析包含了将两个输入的异或与其相对应的两个输出的异或相比较 差分密码分析也是一个选择明文攻击差分密码分析出现于20世纪 70年代,但在1990年才公开发表它的基本思想基本思想是:通过分析明文对的差值与密文对的差值的影响来恢复某些密钥位差
15、分分析可用来攻击任何由迭代一个固定的轮函数的结构的密码 2023/3/14Ch3(1)-对称加密技术22古典加密技术 古典加密技术主要使用代换代换或者置换置换技术 代换代换是将明文字母替换成其他字母、数字或者符号置换置换则保持明文的所有字母不变,只是打乱明文字母的位置和次序 古典代换加密技术分为两类:单字母代换密码单字母代换密码,它将明文的一个字符用相应的一个密文字符代替。多字母代换密码多字母代换密码,它是对多于一个字母进行代换单字母代换密码中又分为单表代换密码单表代换密码和多表代多表代换密码换密码2023/3/14Ch3(1)-对称加密技术23单表代换密码单表代换密码只使用一个密文字母表,并
16、且用密文字母表中的一个字母来代替一个明文字母表中的一个字母多表代换密码多表代换密码是将明文消息中出现的同一个字母,在加密时不是完全被同一个固定的字母代换,而是根据其出现的位置次序,用不同的字母代换 2023/3/14Ch3(1)-对称加密技术24单表代换密码 设M和C分别表示为含n个字母的明文字母表和密文字母表。M=m0,m1,mn-1 C=c0,c1,cn-1 如果f为一种代换方法,那么密文为C=Ek(m)=c0c1cn-1=f(m0)f(m1)f(mn-1)单表代换密码常见的方法有加法密码加法密码,乘乘法密码法密码和仿射密码仿射密码 2023/3/14Ch3(1)-对称加密技术25加法密码
17、 对每个c,m Zn,加法密码的加密和解密算法是:C=Ek(m)=(m+k)mod n M=Dk(c)=(c-k)mod n k是满足0 k n 的正整数。若n是26个字母,加密方法是用明文字母后面第k个字母代替明文字母Caesar密码密码是典型的加法密码,由Julius Caesar 发明,最早用在军方。将字母表中的每个字母,用它后面的第3个字母代替 2023/3/14Ch3(1)-对称加密技术26Caesar密码举例密码举例明文:meet me after the toga party密文:PHHW PH DIWHU WKH WRJD SDUWB对每个明文字母m,用密文字母c代换,那么Ca
18、esar 密码算法如下:加密:C=E(m)=(m+3)mod 26 解密:M=D(c)=(c3)mod 26移位可以是任意的,如果用k(1k25)表示移位数,则通用的Caesar 密码算法表示为:加密:C=Ek(m)=(m+k)mod 26 解密:M=Dk(c)=(ck)mod 26 2023/3/14Ch3(1)-对称加密技术27Caesar 密码安全性 对密码的分析是基于Kerckhoff假设假设攻击者知道使用Caesar 密码加密。如果攻击者只知道密文,即唯密文攻击唯密文攻击,只要穷举测试所有可能字母移位的距离,最多尝试25次如果攻击者知道一个字符以及它对应的密文,即已知明文攻击已知明文
19、攻击,那么攻击者很快就通过明文字符和对应的密文字符之间的距离推出密钥这个例子说明一个密码体制安全至少要能够抵抗穷举密钥搜索攻击,普通的做法是将密钥空间变得足够大。但是,很大的密钥空间并不是保证密码体制安全的充分条件,下面的例子可以说明这一点 2023/3/14Ch3(1)-对称加密技术28对Caesar 密码进行改进,假设密文是26个字母的任意代换,密钥是明文字母到密文字母的一个字母表,密钥长度是26字长下面用一个密钥句子构造一个字母代换表密钥句子为the message was transmitted an hour ago,按照密钥句子中的字母依次填入字母表(重复的字母只用一次),未用的字
20、母按自然顺序排列 原字母表abcdefghijklmnopqrstuvwxyz代换字母表THEMSAGWRNIDOUBCFJKLPQVXYZ2023/3/14Ch3(1)-对称加密技术29若明文为please confirm receipt 使用上面的代换字母表,则密文为CDSTKSEBUARJOJSESRCL使用上面的方法代换,总共有 26!=4 x 1026 种密钥 从表3.1可以看到穷举搜索这么多的密钥很困难但这并不表示该密码不容易破解破解这类密码的突破点是由于语言本身的特点是充满冗余的,每个字母使用的频率不相等 单表代换密码没有改变字母相对出现的频率单表代换密码没有改变字母相对出现的频
21、率明文字母的统计特性在密文中能够反映出来,当通过统计密文字母的出现频率,可以确定明文字母和密文字母之间的对应关系 2023/3/14Ch3(1)-对称加密技术30英文字母中单字母出现的频率 2023/3/14Ch3(1)-对称加密技术31单字母按照出现频率的大小可以分为下面5类:(1)e:出现的频率大约为0.127 (2)t,a,o,I,n,s,h,r:出现的频率大约在0.06-0.09之间 (3)d,l:出现的频率约为0.04 (4)c,u,m,w,f,g,y,p,b:出现的频率大约在0.015-0.028之间 (5)v,k,j,x,q,z:出现的频率小于0.01双字母和三字母组合都有现成的
22、统计数据,常见的双字母组合和三字母组合统计表能够帮助破解密文。频率最高的30个双字母(按照频率从大到小排列):th he in er an re ed on es st en at to nt ha nd ou ea ng as or ti is et it ar te se hi of 频率最高的20个3字母(按照频率从大到小排列):the ing and her ere ent tha nth was eth for dth hat she ion int his sth ers ver2023/3/14Ch3(1)-对称加密技术32破解举例例例3.1 已知下面的密文式由单表代换生产的:U
23、ZQSOVUOHXMOPVGPOZPEVSGZWSZOPFPESXUDBMETSXAIZVUEPHZHMDZSHZOWSFPAPPDTSVPQUZWYMXUZUHSXEPYEPOPDZSZUFPOMBZWPFUPZHMDJUDTMOHMQ,试破译该密文首先统计密文中字母出现的频率,然后与英文字母出现频率比较。密文中字母的相对频率统计如下:2023/3/14Ch3(1)-对称加密技术332023/3/14Ch3(1)-对称加密技术34将统计结果与图3.3进行比较,可以猜测密文中P与Z可能是e和t,密文中的S,U,O,M出现频率比较高,可能与明文字母中出现频率相对较高的a,o,I,n,s,h,r这
24、些字母对应密文中出现频率很低的几个字母C,K,L,N,R,I,J可能与明文字母中出现频率较低的字母v,k,j,x,q,z对应。就这样边试边改,最后得到明文如下:it was disclosed yesterday that several informal but direct contacts have been made with political representatives of the viet cong in moscow 在尝试过程中,如果同时使用双字母和三字母的统计规律,那么更容易破译密文。如上面的密文中出现最多的双字母是ZW,它可能对应明文双字母出现频率较大的th,那么Z
25、WP就可能是the,这样就更容易试出明文。2023/3/14Ch3(1)-对称加密技术35乘法密码 对每个c,m Zn,乘法密码的加密和解密算法是:C=Ek(m)=(mk)mod n M=Dk(c)=(ck-1)mod n 其中k和n互素,即gcd(k,n)=1,否则不存在模逆元,不能正确解密乘法密码的密码空间大小是(n),(n)是欧拉函数。乘法密码的密钥空间很小,当n为26字母,则与26互素的数是1、3、5、7、9、11、15、17、19、21、23、25,即(n)=12 因此乘法密码的密钥空间为12。乘法密码也称采样密码采样密码,因为密文字母表是将明文字母按照下标每隔k位取出一个字母排列而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 原理 技术 ch03 对称 加密 40254
限制150内