网络信息安全课件第六章.ppt_第1页
网络信息安全课件第六章.ppt_第2页
网络信息安全课件第六章.ppt_第3页
网络信息安全课件第六章.ppt_第4页
网络信息安全课件第六章.ppt_第5页
免费预览已结束,剩余50页可下载查看

下载本文档

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

文档简介

2020 4 15 现代密码学理论与实践 06 1 57 本章要点 多重加密是将一个加密算法多次使用的技术 明文通过加密算法转化为密文 然后将该密文作为输入重新执行加密算法 该过程可以重复多次 三重DES 3DES 在三个阶段使用DES算法 共用到两组或三组密钥 选择工作模式是一项增强密码算法或者使算法适应具体应用的技术 对称密码有5种工作模式 电码本模式 密文分组链接模式 密文反馈模式 输出反馈模式和计数器模式 流密码是一种对称密码算法 其输出密文是由输入明文逐位或者逐字节产生的 RC4是应用最广泛的一种流密码 2020 4 15 现代密码学理论与实践 06 2 57 6 1多重加密与三重DES算法 寻找代替DES的新密码的理由是显然的密钥的穷举攻击是可行的AES是一种新的安全的密码在AES之前 还可以用DES进行多次加密 且使用多个密钥三重DES Triple DES 被广泛接受 2020 4 15 现代密码学理论与实践 06 3 57 6 1 1双重DES 多次加密的最简单形式是进行两次加密 每次使用不同的密钥C EK2 EK1 P P DK1 DK2 C 这种方法的密钥长度是56x2 112位虽然双重DES对应的映射与单DES对应的映射不同 但是有中途相遇攻击 meet in the middle 只要连续使用密码两次 这种攻击总是有效因为X EK1 P DK2 C 用所有可能的密钥加密明文P并把结果存储起来然后用所有可能的密钥解密密文C 寻找匹配的X值因此复杂度只有O 256 2020 4 15 现代密码学理论与实践 06 4 57 双重DES和三重DES 双重DES DoubleDES 给定明文P和加密密钥K1和K2 加密 C EK2 EK1 P 解密 P DK1 DK2 C 密钥长度为56x2 112位存在中途相遇攻击问题 2020 4 15 现代密码学理论与实践 06 5 57 这种攻击对使用两次加密的分组密码都有效C EK2 EK1 P 则X EK1 P DK2 C 若已知 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 即中途相遇攻击使用两组已知明密文对就可以检测到正确密钥的概率是1 2 16 攻击双重DES 工作量仅为256 与攻击单DES所需的255差不多 中途相遇攻击 Meet in the MiddleAttack 2020 4 15 现代密码学理论与实践 06 6 57 6 1 2使用两个密钥的三重DES 使用两个密钥进行三次加密 E D EsequenceC EK1 DK2 EK1 P 如果K1 K2 则相当于单次DES已被用于密钥管理标准ANSIX9 17和ISO8732当前还没有对三重DES的可行攻击方法 2020 4 15 现代密码学理论与实践 06 7 57 6 1 3使用三个密钥的三重DES 虽然对于使用两个密钥的Triple DES还没有实际的成功攻击 但是仍然令人有些担心因此可以考虑使用三个密钥的Triple DES 这样 密钥的长度就是168位C EK3 DK2 EK1 P 使用三个密钥的Triple DES如今已被广泛采用 如PGP S MIME当然还有使用更多重DES的 如5DES 2020 4 15 现代密码学理论与实践 06 8 57 6 2分组密码的工作模式 2020 4 15 现代密码学理论与实践 06 9 57 电子密码本模式ElectronicCodebook ECB 明文分成64的分组进行加密 必要时填充 每个分组用同一密钥加密 同样明文分组加密得相同密文 2020 4 15 现代密码学理论与实践 06 10 57 ECB模式特别适合数据较少的情况 如安全传输DES密钥一段明文消息中若有几个相同的明文组 则密文也将出现几个相同的片段对于很长的消息 ECB是不安全的 如果消息是非常结构化的 密码分析可能利用其结构特征来破解ECB的弱点来源于其加密过的密文分组是互相独立的 ECB模式的局限性 2020 4 15 现代密码学理论与实践 06 11 57 密文分组链接模式CipherBlockChaining CBC 加密输入是当前明文分组和前一密文分组的异或 形成一条链 使用相同的密钥 这样每个明文分组的加密函数输入与明文分组之间不再有固定的关系 2020 4 15 现代密码学理论与实践 06 12 57 CBC的优点和局限 每个密文分组依赖于所有明文分组明文消息中的任何一点变化都会影响所有的密文分组发送方和接收方需要共享初始向量InitialValue IV 如果IV被明文传送 则攻击者可以改变第一个分组的某些位 然后预先改变IV中的某些位 则接收者收到的P1也就相应改变了因此 IV必须是一个固定的值或者必须用ECB方式在消息之前加密传送在消息的最后 还要处理不够长度的分组可以填充已知非数据值 或者在最后一块补上填充位长度eg b1b2b300005 3databytes then5bytespad count 2020 4 15 现代密码学理论与实践 06 13 57 CBC的优点和局限 两种计算IV的方法 用加密函数加密一个时变值 所用密钥和明文加密所用密钥相同 这个时变值对每次加密运算来说必须唯一 例如 时变值可以是一个计数器 一个时间戳或者消息数目 第二种方法是用随机数发生器产生一个随机数分组 2020 4 15 现代密码学理论与实践 06 14 57 是一种将DES转化成流密码的技术 不再要求报文被填充成整个分组 可以实时运行 如果要传输一个字符流 每个字符都可以使用面向字符的流密码加密后立即传输 加密 加密函数的输入是一个64位的移位寄存器 产生初始向量IV 加密函数高端j位与明文P1的第一单元异或 产生j位密文C1进入移位寄存器低端 继续加密 与P2输入异或 如此重复直到所有明文单元都完成加密 解密 采用相同方案 但是使用加密函数而非解密函数 密码反馈模式CipherFeedBack CFB 2020 4 15 现代密码学理论与实践 06 15 57 2020 4 15 现代密码学理论与实践 06 16 57 密码反馈模式CipherFeedBack CFB 解密 采用相同方案 但是使用加密函数而非解密函数 设MSNs X 表示X的最左边s位 则 2020 4 15 现代密码学理论与实践 06 17 57 CFB模式的优点和局限 当数据以位或字节形式到达时使用都是适当的最通用的是流密码形式 2020 4 15 现代密码学理论与实践 06 18 57 输出反馈模式OutputFeedBack OFB 结构上类似CFB 但是OFB中加密函数输出被反馈回移位寄存器 CFB中是密文单元被反馈回移位寄存器 优点是传输中的比特差错不会传播 缺点是比CFB更容易受报文流篡改攻击 输出反馈模式OutputFeedBack OFB 2020 4 15 现代密码学理论与实践 06 19 57 2020 4 15 现代密码学理论与实践 06 20 57 OFB的优点和局限 OFB的一个优点是传输过程中在某位上发生的错误不会影响到其他位 比如 C1中有1位发生了错误 只会影响到P1的恢复 后续的明文单元不受影响 OFB的缺点是 抗消息流篡改攻击的能力不如CFB 即密文中的某位取反 恢复出的明文相应位也取反 2020 4 15 现代密码学理论与实践 06 21 57 Counter CTR 是一种新模式 虽然早就提出来了与OFB很像 但是加密的是计数器的值而不是任何反馈回来的值每一个明文分组都必须使用一个不同的密钥和计数器值 决不要重复使用Ci PiXOROiOi DESK1 i 可以用于高速网络加密中 计数器模式Counter CRT 2020 4 15 现代密码学理论与实践 06 22 57 Counter CTR 2020 4 15 现代密码学理论与实践 06 23 57 CTR的优点和局限 高效可以做并行加密对高速链路的突发数据加密尤其有效可以对被加密的分组进行随机存取相当安全简洁必须决不重复使用密钥和计数器值 2020 4 15 现代密码学理论与实践 06 24 57 6 3流密码和RC4 按位处理明文消息 asastream 典型做法是用一个伪随机流密钥与明文按位异或流密钥的随机性完全摧毁了明文消息的统计特性Ci MiXORStreamKeyi不能重复使用流密钥 不然系统可能被破解 2020 4 15 现代密码学理论与实践 06 25 57 流密码的结构 2020 4 15 现代密码学理论与实践 06 26 57 流密码设计方面的一些考虑 无重复的长周期统计上是随机的依赖于足够长的密钥线性复杂性要大对于相关性要有免疫性扰乱扩散采用高度非线性的布尔函数 2020 4 15 现代密码学理论与实践 06 27 57 6 3 2RC4算法 由RSA在1987提出RonRivest设计 简单且高效密钥长度可变 面向字节的流密码使用广泛 webSSL TLS wirelessWEP 对所有8位的值以密钥实现随机置换用置换加密输入消息 每次一个字节 2020 4 15 现代密码学理论与实践 06 28 57 RC4密钥安排 从数组S开始 S为 0 255 使用密钥充分进行变换S形成密码的内在状态internalstate密钥k的长度为l字节fori 0to255doS i ij 0fori 0to255doj j S i k imodl mod256 swap S i S j 2020 4 15 现代密码学理论与实践 06 29 57 RC4的加密 加密过程是继续进行数组值的置换如果密钥K的长度是256字节 则将K赋予临时向量T 否则将K的值keylen赋予T的前keylen个元素与消息的下一个字节异或 进行加解密i j 0foreachmessagebyteMii i 1 mod256 j j S i mod256 swap S i S j t S i S j mod256 Ci MiXORS t 2020 4 15 现代密码学理论与实践 06 30 57 2020 4 15 现代密码学理论与实践 06 31 57 RC4的安全性 可以抵御已知的各种攻击加密结果是非常 非线性 的RC4是流密码 决不重复使用密钥用于为802 11无线局域网提供安全性的WEP协议 易受一种特殊攻击 问题不在RC4本身 而是RC4中输入的密钥的产生途径有漏洞 2020 4 15 现代密码学理论与实践 06 32 57 RC5 RC5是RonaldRivest设计的一种对称加密算法 具有如下特点适于软件和硬件实现快速 设计成面向字的简单算法 加快运算速度可用于字长不同的处理器迭代次数可变密钥长度可变简单 易于实现和确定算法强度对存储量要求低安全性高与数据相关的循环 2020 4 15 现代密码学理论与实践 06 33 57 RC5密码 RC5实际上是一个系列的密码RC5 w r bw wordsizeinbits 16 32 64 nbdata 2wr numberofrounds 0 255 b numberofbytesinkey 0 255 常见的版本形式是RC5 32 12 16i e 32 bitwordssoencrypts64 bitdatablocksusing12roundswith16bytes 128 bit secretkey 2020 4 15 现代密码学理论与实践 06 34 57 RC5KeyExpansion RC5使用2r 2子密钥字 w bits 子密钥存储在数组S i i 0 t 1密钥产生过程包括将S初始化成一个固定长度的伪随机数 基于常数e和phi字节密钥复制到c word数组L对L和S的混合操作最终形成S数组 2020 4 15 现代密码学理论与实践 06 35 57 RC5KeyExpansion 2020 4 15 现代密码学理论与实践 06 36 57 RC5Encryption 将输入分成A和B两部分L0 A S 0 R0 B S 1 fori 1tordoLi Li 1XORRi 1 Ri 1 S 2xi Ri Ri 1XORLi Li S 2xi 1 每一轮就像是2DES的轮非线性主要来自于循环移位需要适当的轮数 e g 12 16 2020 4 15 现代密码学理论与实践 06 37 57 2020 4 15 现代密码学理论与实践 06 38 57 RC5Modes RFC2040定义了RC5使用的4种模式RC5BlockCipher ECB模式RC5 CBC CBC模式RC5 CBC PAD CBC加字节填充的模式RC5 CTS CBC模式的一种变形 采样密文挪用方法使得密文大小保持与原始态一致 2020 4 15 现代密码学理论与实践 06 39 57 RC5密文挪用模式 2020 4 15 现代密码学理论与实践 06 40 57 分组密码的特点 变长的密钥 分组大小 轮数混合各种操作 数据和密钥依赖循环移位密码依赖S盒更加复杂的密钥处理过程每一轮都对全部数据进行操作多样性的非线性功能 2020 4 15 现代密码学理论与实践 06 41 57 Blowfish 1993年由BruceSchneier提出 对称分组密码 特性 快速 在32位处理器上加密每字节18时钟周期紧凑 可在少于5K的内存上运行简单 结构简单 容易实现可变的安全性 密钥长度可变 从32位到448位子密钥和S盒的产生使用32位可变到448位的密钥 存储在K数组中 Kj 用来产生18个32 bit的子密钥 存储在P数组中 Pj 4个8x32的包含1024个32位项的S盒 存储在Si j Blowfish 2020 4 15 现代密码学理论与实践 06 42 57 产生P数组和S数组的步骤用常数 的小数部分初始化P数组和4个S盒对P数组和K数组逐位异或使用当前的P和S数组对64位分组加密 把P1和P2用加密的输出替代使用当前的P和S数组对第三步的输出加密 用所得密文替代P3和P4重复这个过程以更新P和S数组的所有元素 每一步都使用不断变化的Blowfish算法的输出 总共执行512次加密算法Blowfish对密钥经常变化的应用不适合 也不适合存储空间有限的应用 BlowfishKeySchedule 2020 4 15 现代密码学理论与实践 06 43 57 Blowfish的加密两个基本操作 模232的加和逐位异或数据被分成左右两部分L0这里 F a b c d S1 a S2 b XORS3 c S4 a BlowfishEncryption 2020 4 15 现代密码学理论与实践 06 44 57 2020 4 15 现代密码学理论与实践 06 45 57 2020 4 15 现代密码学理论与实践 06 46 57 Blowfish的S盒依赖于密钥 子密钥和S盒通过重复使用Blowfish本身产生 使得各比特彻底纠缠在一起 密码分析非常困难在每一循环中对数据的两部分进行操作 增大了密码强度通过选择适当的密钥长度 最长448位 对穷举攻击来说 Blowfish几乎是不可破的Blowfish的算法执行是很快的所以 Blowfish可能是最难破译的常规加密算法 讨论 2020 4 15 现代密码学理论与实践 06 47 57 国际数据加密算法IDEA InternationalDataEncryptionAlgorithm 1990年由瑞士苏黎世联邦工业大学的LaiXuejia和JamesMessey提出 1992年最终完成 算法形式同DES 用循环加密方式 设计原理使用128位密钥加密64位明

温馨提示

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

评论

0/150

提交评论