网络信息安全课件PPT课件_第1页
网络信息安全课件PPT课件_第2页
网络信息安全课件PPT课件_第3页
网络信息安全课件PPT课件_第4页
网络信息安全课件PPT课件_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、2021-11-19现代密码学理论与实践-061/576.1 多重加密与三重DES算法 寻找代替DES的新密码的理由是显然的 密钥的穷举攻击是可行的 AES是一种新的安全的密码 在AES之前,还可以用DES进行多次加密,且使用多个密钥 三重DES(Triple-DES)被广泛接受第1页/共55页2021-11-19现代密码学理论与实践-062/576.1.1 双重DES 多次加密的最简单形式是进行两次加密,每次使用不同的密钥 C = EK2(EK1(P) P = DK1(DK2(C) 这种方法的密钥长度是56x2=112位 虽然双重DES对应的映射与单DES对应的映射不同,但是有中途相遇攻击

2、“meet-in-the-middle” 只要连续使用密码两次,这种攻击总是有效 因为X = EK1(P) = DK2(C) 用所有可能的密钥加密明文P并把结果存储起来 然后用所有可能的密钥解密密文C,寻找匹配的X值 因此复杂度只有O(256)第2页/共55页2021-11-19现代密码学理论与实践-063/57双重DES和三重DES 双重DES (Double DES)给定明文P和加密密钥K1和K2,加密:C=EK2EK1P解密:P=DK1DK2C密钥长度为56x2=112位存在中途相遇攻击问题第3页/共55页2021-11-19现代密码学理论与实践-064/57 这种攻击对使用两次加密的分

3、组密码都有效 C=EK2EK1P,则X=EK1P=DK2C 若已知(P, C),则 对256个可能的K1加密P,结果存入表中,按X值排序 对256个可能的K2解密C,在表中寻找匹配 如果产生匹配,则用一个新的明文密文对检测所得两个密钥 如果两密钥产生正确的密文,则接受为正确密钥 对任意给定的明文P,双重DES产生的密文有264可能,密钥空间为2112。对给定明文P,可产生给定密文C的密钥的个数平均为2112/264=248。上述攻击过程对第一个(P,C)对将产生248个错误的结果,而对第二个(P,C)对,错误结果的概率就降为248-64 =2-16,即中途相遇攻击使用两组已知明密文对就可以检测

4、到正确密钥的概率是1-2-16,攻击双重DES,工作量仅为256,与攻击单DES所需的255差不多。中途相遇攻击(Meet-in-the-Middle Attack)第4页/共55页2021-11-19现代密码学理论与实践-065/576.1.2 使用两个密钥的三重DES 使用两个密钥进行三次加密:E-D-E sequence C=EK1DK2EK1P 如果K1=K2,则相当于单次DES 已被用于密钥管理标准ANSI X9.17和ISO8732 当前还没有对三重DES的可行攻击方法第5页/共55页2021-11-19现代密码学理论与实践-066/576.1.3 使用三个密钥的三重DES 虽然对

5、于使用两个密钥的Triple-DES还没有实际的成功攻击,但是仍然令人有些担心 因此可以考虑使用三个密钥的Triple-DES,这样,密钥的长度就是168位 C = EK3DK2EK1P 使用三个密钥的Triple-DES如今已被广泛采用,如PGP, S/MIME 当然还有使用更多重DES的,如5DES第6页/共55页2021-11-19现代密码学理论与实践-067/576.2 分组密码的工作模式第7页/共55页2021-11-19现代密码学理论与实践-068/57电子密码本模式Electronic Codebook, ECB 明文分成64的分组进行加密,必要时填充,每个分组用同一密钥加密,同

6、样明文分组加密得相同密文第8页/共55页2021-11-19现代密码学理论与实践-069/57 ECB模式特别适合数据较少的情况,如安全传输DES密钥 一段明文消息中若有几个相同的明文组,则密文也将出现几个相同的片段 对于很长的消息,ECB是不安全的,如果消息是非常结构化的,密码分析可能利用其结构特征来破解 ECB的弱点来源于其加密过的密文分组是互相独立的 ECB模式的局限性第9页/共55页2021-11-19现代密码学理论与实践-0610/57密文分组链接模式Cipher Block Chaining (CBC) 加密输入是当前明文分组和前一密文分组的异或,形成一条链,使用相同的密钥, 这样

7、每个明文分组的加密函数输入与明文分组之间不再有固定的关系第10页/共55页2021-11-19现代密码学理论与实践-0611/57CBC的优点和局限 每个密文分组依赖于所有明文分组 明文消息中的任何一点变化都会影响所有的密文分组 发送方和接收方需要共享初始向量Initial Value(IV) 如果IV被明文传送,则攻击者可以改变第一个分组的某些位,然后预先改变IV中的某些位,则接收者收到的P1也就相应改变了 因此,IV必须是一个固定的值或者必须用ECB方式在消息之前加密传送 在消息的最后,还要处理不够长度的分组 可以填充已知非数据值,或者在最后一块补上填充位长度 eg. b1 b2 b3 0

8、 0 0 0 5 - 3 data bytes, then 5 bytes pad+count 第11页/共55页2021-11-19现代密码学理论与实践-0612/57CBC的优点和局限 两种计算IV的方法:1.用加密函数加密一个时变值,所用密钥和明文加密所用密钥相同。这个时变值对每次加密运算来说必须唯一。例如:时变值可以是一个计数器,一个时间戳或者消息数目。2.第二种方法是用随机数发生器产生一个随机数分组。11111111(,)(,) (,) (,) CE KIVPPIVD K CX ibXiP iIV iD K CiXORP iIV iD K Ci用表示 位 的第 位,则使用的性质,我们

9、将上式重写为第12页/共55页2021-11-19现代密码学理论与实践-0613/57 是一种将DES转化成流密码的技术,不再要求报文被填充成整个分组,可以实时运行,如果要传输一个字符流,每个字符都可以使用面向字符的流密码加密后立即传输。 加密:加密函数的输入是一个64位的移位寄存器,产生初始向量IV。加密函数高端j位与明文P1的第一单元异或,产生j位密文C1进入移位寄存器低端,继续加密,与P2输入异或,如此重复直到所有明文单元都完成加密。 解密:采用相同方案,但是使用加密函数而非解密函数。密码反馈模式Cipher FeedBack (CFB)第13页/共55页2021-11-19现代密码学理

10、论与实践-0614/57第14页/共55页2021-11-19现代密码学理论与实践-0615/57密码反馈模式Cipher FeedBack (CFB) 解密:采用相同方案,但是使用加密函数而非解密函数。设MSNs(X)表示X的最左边s位。则1111 (,) (,)ssCPMSB E K IVPCMSB E K IV从而有第15页/共55页2021-11-19现代密码学理论与实践-0616/57CFB模式的优点和局限 当数据以位或字节形式到达时使用都是适当的 最通用的是流密码形式 第16页/共55页2021-11-19现代密码学理论与实践-0617/57 输出反馈模式Output FeedBa

11、ck (OFB) 结构上类似CFB,但是OFB中加密函数输出被反馈回移位寄存器,CFB中是密文单元被反馈回移位寄存器。优点是传输中的比特差错不会传播,缺点是比CFB更容易受报文流篡改攻击。输出反馈模式Output FeedBack (OFB)第17页/共55页2021-11-19现代密码学理论与实践-0618/57第18页/共55页2021-11-19现代密码学理论与实践-0619/57OFB的优点和局限 OFB的一个优点是传输过程中在某位上发生的错误不会影响到其他位。比如,C1中有1位发生了错误,只会影响到P1的恢复,后续的明文单元不受影响。 OFB的缺点是,抗消息流篡改攻击的能力不如CFB

12、。即密文中的某位取反,恢复出的明文相应位也取反第19页/共55页2021-11-19现代密码学理论与实践-0620/57 Counter (CTR) 是一种新模式,虽然早就提出来了 与OFB很像,但是加密的是计数器的值而不是任何反馈回来的值 每一个明文分组都必须使用一个不同的密钥和计数器值,决不要重复使用Ci = Pi XOR Oi Oi = DESK1(i) 可以用于高速网络加密中计数器模式Counter (CRT)第20页/共55页2021-11-19现代密码学理论与实践-0621/57Counter (CTR)第21页/共55页2021-11-19现代密码学理论与实践-0622/57CT

13、R的优点和局限 高效 可以做并行加密 对高速链路的突发数据加密尤其有效 可以对被加密的分组进行随机存取 相当安全 简洁 必须决不重复使用密钥和计数器值第22页/共55页2021-11-19现代密码学理论与实践-0623/576.3 流密码和RC4 按位处理明文消息(as a stream) 典型做法是用一个伪随机流密钥与明文按位异或 流密钥的随机性完全摧毁了明文消息的统计特性 Ci = Mi XOR StreamKeyi 不能重复使用流密钥,不然系统可能被破解第23页/共55页2021-11-19现代密码学理论与实践-0624/57流密码的结构第24页/共55页2021-11-19现代密码学理

14、论与实践-0625/57流密码设计方面的一些考虑 无重复的长周期 统计上是随机的 依赖于足够长的密钥 线性复杂性要大 对于相关性要有免疫性 扰乱 扩散 采用高度非线性的布尔函数 第25页/共55页2021-11-19现代密码学理论与实践-0626/576.3.2 RC4算法 由RSA在1987提出 Ron Rivest设计,简单且高效 密钥长度可变,面向字节的流密码 使用广泛(web SSL/TLS, wireless WEP) 对所有8位的值以密钥实现随机置换 用置换加密输入消息,每次一个字节 第26页/共55页2021-11-19现代密码学理论与实践-0627/57RC4密钥安排 从数组S

15、开始,S为0.255 使用密钥充分进行变换 S形成密码的内在状态internal state 密钥k的长度为l字节 for i = 0 to 255 doSi = ij = 0for i = 0 to 255 do j = (j + Si + ki mod l) (mod 256) swap (Si, Sj)第27页/共55页2021-11-19现代密码学理论与实践-0628/57RC4的加密 加密过程是继续进行数组值的置换 如果密钥K的长度是256字节,则将K赋予临时向量T,否则将K的值keylen赋予T的前keylen个元素 与消息的下一个字节异或,进行加解密i = j = 0 for e

16、ach message byte Mii = (i + 1) (mod 256)j = (j + Si) (mod 256)swap(Si, Sj)t = (Si + Sj) (mod 256) Ci = Mi XOR St 第28页/共55页2021-11-19现代密码学理论与实践-0629/57第29页/共55页2021-11-19现代密码学理论与实践-0630/57RC4的安全性 可以抵御已知的各种攻击 加密结果是非常“非线性”的 RC4是流密码,决不重复使用密钥 用于为802.11无线局域网提供安全性的WEP协议,易受一种特殊攻击,问题不在RC4本身,而是RC4中输入的密钥的产生途径有

17、漏洞 第30页/共55页2021-11-19现代密码学理论与实践-0631/57RC5 RC5是Ronald Rivest设计的一种对称加密算法,具有如下特点 适于软件和硬件实现 快速:设计成面向字的简单算法,加快运算速度 可用于字长不同的处理器 迭代次数可变 密钥长度可变 简单,易于实现和确定算法强度 对存储量要求低 安全性高 与数据相关的循环第31页/共55页2021-11-19现代密码学理论与实践-0632/57RC5密码 RC5 实际上是一个系列的密码RC5-w/r/b w = word size in bits (16/32/64) nb data=2w r = number of

18、rounds (0.255) b = number of bytes in key (0.255) 常见的版本形式是 RC5-32/12/16 i.e., 32-bit words so encrypts 64-bit data blocks using 12 rounds with 16 bytes (128-bit) secret key第32页/共55页2021-11-19现代密码学理论与实践-0633/57RC5 Key Expansion RC5使用2r+2子密钥字(w-bits) 子密钥存储在数组Si, i=0.t-1 密钥产生过程包括 将S初始化成一个固定长度的伪随机数,基于常数

19、e和phi 字节密钥复制到c-word数组L 对L和S的混合操作最终形成S数组第33页/共55页2021-11-19现代密码学理论与实践-0634/57RC5 Key Expansion第34页/共55页2021-11-19现代密码学理论与实践-0635/57RC5 Encryption 将输入分成A和B两部分L0 = A + S0;R0 = B + S1;for i = 1 to r doLi = (Li-1 XOR Ri-1) Ri-1) + S2 x i;Ri = (Ri-1 XOR Li) Li) + S2 x i + 1; 每一轮就像是2DES的轮 非线性主要来自于循环移位 需要适当

20、的轮数(e.g. 12-16) 第35页/共55页2021-11-19现代密码学理论与实践-0636/57第36页/共55页2021-11-19现代密码学理论与实践-0637/57RC5 Modes RFC2040 定义了RC5使用的4种模式 RC5 Block Cipher, ECB模式 RC5-CBC, CBC模式 RC5-CBC-PAD, CBC加字节填充的模式 RC5-CTS, CBC模式的一种变形,采样密文挪用方法使得密文大小保持与原始态一致第37页/共55页2021-11-19现代密码学理论与实践-0638/57RC5密文挪用模式第38页/共55页2021-11-19现代密码学理论

21、与实践-0639/57分组密码的特点 变长的密钥、分组大小、轮数 混合各种操作,数据和密钥依赖循环移位 密码依赖S盒 更加复杂的密钥处理过程 每一轮都对全部数据进行操作 多样性的非线性功能第39页/共55页2021-11-19现代密码学理论与实践-0640/57 Blowfish,1993年由Bruce Schneier提出,对称分组密码,特性: 快速:在32位处理器上加密每字节18时钟周期 紧凑:可在少于5K的内存上运行 简单:结构简单、容易实现 可变的安全性:密钥长度可变,从32位到448位 子密钥和S盒的产生 使用32位可变到448位的密钥,存储在K数组中:Kj,用来产生18个32-bi

22、t的子密钥,存储在P数组中:Pj, 4个8x32的包含1024个32位项的S盒,存储在Si,jBlowfish第40页/共55页2021-11-19现代密码学理论与实践-0641/57 产生P数组和S数组的步骤 用常数的小数部分初始化P数组和4个S盒 对P数组和K数组逐位异或 使用当前的P和S数组对64位分组加密,把P1和P2用加密的输出替代 使用当前的P和S数组对第三步的输出加密,用所得密文替代P3和P4 重复这个过程以更新P和S数组的所有元素,每一步都使用不断变化的Blowfish算法的输出,总共执行512次加密算法 Blowfish对密钥经常变化的应用不适合,也不适合存储空间有限的应用B

23、lowfish Key Schedule第41页/共55页2021-11-19现代密码学理论与实践-0642/57 Blowfish的加密 两个基本操作: 模232的加和逐位异或 数据被分成左右两部分L0 & R0for i = 1 to 16 doRi = Li-1 XOR Pi;Li = FRi XOR Ri-1;L17 = R16 XOR P18;R17 = L16 XOR i17;这里:Fa,b,c,d=(S1,a + S2,b)XOR S3,c)+S4,aBlowfish Encryption第42页/共55页2021-11-19现代密码学理论与实践-0643/57第43页/

24、共55页2021-11-19现代密码学理论与实践-0644/57第44页/共55页2021-11-19现代密码学理论与实践-0645/57 Blowfish的S盒依赖于密钥,子密钥和S盒通过重复使用Blowfish本身产生,使得各比特彻底纠缠在一起,密码分析非常困难 在每一循环中对数据的两部分进行操作,增大了密码强度 通过选择适当的密钥长度(最长448位),对穷举攻击来说,Blowfish几乎是不可破的 Blowfish的算法执行是很快的所以,Blowfish可能是最难破译的常规加密算法。讨 论第45页/共55页2021-11-19现代密码学理论与实践-0646/57 国际数据加密算法IDEA (International Data Encryption Algorithm)1990年由瑞士苏黎世联邦工业大学的Lai Xuejia和James Messey提出,1992年最终完成。算法形式同DES,用循环加密方式。 设计原理 使用128位密钥加密64位明文分组,穷举分析需要1038次试探,目前尚无破译方法。算法本身倾向于软

温馨提示

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

评论

0/150

提交评论