- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 分组密码 3.1 分组密码概述 3.2 数据加密标准 3.3 差分密码分析与线性密码分析 3.4 分组密码运行模式 3.5 IDEA算法 3.6 AES算法-Rijndael 3.1.1 代换 代换是输入集A到输出A’上的双射变换: fk:A?A' 式中,k是控制输入变量,在密码学中则为密钥。 实现代换fk的网络称作代换网络。双射条件保证在给定k下可从密文惟一地恢复出原明文。 3.1.3 Feistel密码结构 1、Feistel加密结构 将n bit明文分成为左右各半、长为n/2 bit的段,以L和R表示。然后进行多轮迭代,其第i轮迭代的输出为前轮输出的函数 Li =Ri-1 Ri =Li-1 ?f(Ri-1, Ki) 式中,Ki是第i轮用的子密钥,f是任意密码轮函数。称这种分组密码算法为Feistel网络(Feistel Network),它保证加密和解密可采用同一算法实施. 3.2.4 3个密钥的三重DES 3个密钥的三重DES密钥长度为168比特,加密方式为 C=EK3[DK2[EK1[P]]] 令K3=K2或K1=K2,则变为一重DES。 3.4 分组码的运行模式 主要工作模式 电子码本(ECB) 密码分组链接(CBC) 密码反馈(CFB) 输出反馈(OFB) 。 3.4.1 电码本ECB模式 直接利用加密算法分别对分组数据组加密。 在给定的密钥下同一明文组总产生同样的密文组。这会暴露明文数据的格式和统计特征。 明文数据都有固定的格式,需要以协议的形式定义,重要的数据常常在同一位置上出现,使密码分析者可以对其进行统计分析、重传和代换攻击。 电码本ECB模式 3.5 IDEA 瑞士的Xuejia Lai和James Massey于1990年公布了IDEA密码算法第一版,称为PES (Proposed Encryption Standard)。为抗击差分密码攻击,他们增强了算法的强度,称IPES(Improved PES),并于1992年改名为IDEA(International Data Encryption Algorithm,国际数据加密算法。) 3.5 IDEA 3.5.1 设计原理 IDEA是一个分组长度为64位的分组密码算法,密钥长度为128位(抗强力攻击能力比DES强),同一算法既可加密也可解密。 2、实现上的考虑 软件: 使用子分组:16bit的子分组; 使用简单操作(易于加法、移位等操作实现) 硬件: 加密解密过程类似; 规则的结构(便于VLSI实现)。 有扰信道上(如卫星通信)传送数据流 与CFB类似,不同之处是本次加密算法的输入为当前一次加密算法的输出 输出反馈(OFB)模式 传送数据流;认证 每次只处理输入的j比特,将上一次的密文用作加密算法的输入以产生伪随机输出,该输出再与当前明文异或以产生当前密文 密码反馈(CFB)模式 传送数据分组;认证 加密算法的输入是当前明文组与前一密文组的异或 密码分组链接(CBC)模式 传送短密钥(如一个加密密钥) 每个明文组独立地以同一密钥加密 电码本(ECB)模式 用途 描述 模式 3.4 分组码的运行模式 3.4 分组码的运行模式 x y k DES y x k DES-1 3.4.1 电码本ECB模式 ECB特点 简单和有效 可以并行实现 不能隐藏明文的模式信息 相同明文?相同密文 同样信息多次出现造成泄漏 对明文的主动攻击是可能的 信息块可被替换、重排、删除、重放 误差传递:密文块损坏?仅对应明文块损坏 适合于传输短信息 密码分组链接CBC Ci=EK(Ci-1?Pi) ? Pi=EK(Ci )? Ci-1 3.4.2 密码分组链接CBC模式 CBC模式 一次对一个明文分组加密,每次加密使用同一密钥,加密算法的输入是当前明文分组和前一次密文分组的异或(在产生第1个密文分组时,需要有一个初始向量IV与第一个明文分组异或); 3.4.2 密码分组链接(CBC)模式 解密时,每一个密文分组被解密后,再与前一个密文分组异或(第一个密文分组解密后和初始向量IV异或恢复出第一个明文分组)。 CBC特点 没有已知的并行实现算法 能隐藏明文的模式信息 需要共同的初始化向量IV 相同明文?不同密文 初始化向量IV可以用来改变
文档评论(0)