- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
--(完美WORD文档DOC格式,可在线免费浏览全文和下载)值得下载!
2008-9-21 111 现代密码学与应用 ——序列密码 大 纲 序列密码的基本概念 密钥序列生成器 线性反馈移位寄存器(LFSR) RC4 参考书籍 《Handbook of Applied Cryptography》: Chapter 6 《Applied Cryptography: Protocols, algorithms, and source code in C》:Chapter 16, 17 一、序列密码的基本概念 起源 一次一密 无条件安全:在理论上是不可破译的 但:要求密钥与明文具有相同长度、且不可重复使用,增加了密钥分配与管理的困难 对策:用一个较小的密钥来伪随机地生成密钥流。 人们试图以序列密码方式仿效“一次一密”密码 序列密码的理论已经比较成熟,而且具有工程实现容易、效率高等特点 采用一个短的种子密钥来控制某种算法产生出长的密钥序列,供加、解密使用,而短的种子密钥的存储、分配都较容易 序列密码 vs. 分组密码 序列密码的基本原理 序列密码的基本原理 序列密码的关键就是产生密钥序列的算法 密钥序列产生算法应能产生的密钥序列z: 只能是伪随机序列 具有良好的随机性和不可预测性 密钥序列产生算法都采用带存储的时序算法,其理论模型为有限自动机,其实现电路为时序电路 序列密码实际应用中的关键技术:如何保持通信双方的精确同步? (zi 与ci一一对应) 序列密码的分类——同步序列密码 同步序列密码 密钥序列的生成独立于明文和密文 同步序列密码通信模型 同步序列密码的特点 在保密通信过程中,通信的双方必须保持精确的同步 对于同步序列密码,只要通信双方的密钥序列产生器具有相同的种子密钥和相同的初始状态,就能产生相同的密钥序列。 对失步的敏感性 收方的解密将一直错误,直到重新同步为止 容易检测插入、删除、重播等主动攻击 无错误传播 当通信中某些密文字符产生了错误(如0变成1,或1变成0),只影响相应字符的解密,不影响其它字符 序列密码的分类——自同步序列密码 自同步序列密码 密钥序列由种子密钥和固定个数的以前的密文字符的函数所生成 自同步序列密码通信模型 自同步序列密码的特点 自同步 有限的错误传播 主动攻击 明文统计扩散 二、密钥序列产生器 密钥序列产生器的构成 驱动部分:控制生成器的状态序列,并为非线性组合部分提供统计性能良好的序列。 如,驱动部分可由一组最大长度线性反馈移位寄存器组成。(将实际密钥k扩散成周期很大的驱动序列) 扩散 非线性部分:将驱动部分所提供的序列组合成密码特性好的序列。 如,可提高密钥序列的线性复杂度(可隐蔽驱动序列与密钥k之间过分明显的依赖关系) 混淆 这两部分构成刚好与Shannon早期提出的两条密码原则——扩散和混淆是一致的。 目前最为流行和实用的密钥流产生器大多基于线性反馈移位寄存器。如图所示,其驱动部分是一个或多个线性反馈移位寄存器。 (3) 钟控生成器 三、线性反馈移位寄存器(LFSR) (Linear Feedback Shift Register) 线性反馈移位寄存器(LFSR) 是许多密钥序列生成器的基本部件 LFSR的优点 非常适合用硬件实现 可以产生大周期序列 可以产生具有良好统计性质的序列 易于利用代数方法对其进行分析 线性反馈移位寄存器(LFSR) n-位LFSR: 密钥序列产生器的构成 同步序列密码 密钥序列的生成独立于明文和密文 LFSR的组成 移位寄存器:是位的序列 输入位bn+1:最高有效位 输出位b1:最低有效位 级数(长度)n:包含的位的数目 周期T:输出序列从开始到重复时的长度 输出序列:最低有效位串 状态序列σi :某个时刻移位寄存器存储的位所组成的序列 σi =(bn,bn-1, … , b1) 共有2n-1个可能的状态 线性反馈函数:f (f是线性函数) 其中常数ci=0或1, 是模2加法 例题 若其初始状态序列为 ,求: 输入位是? 输出位是? 级数(长度)n=? 后续的状态序列分别为?共有多少个不同的状态? 输出序列是? 周期T=? 线性反馈函数f 如何表述? LFSR 线性反馈移位寄存器输出序列的性质完全由其反馈函数决定。 n级线性反馈移位寄存器最多有2n个不同的状态。若其初始状态为0,则其状态恒为0。若其初始状态非0,则其后继状态不会为0。 n级LFSR的状态周期≤ 2n-1。其输出序列的周期与状态周期相等,也≤ 2n-1。 只要选择合适的反馈函数便可使输出序列的周期达到最大值2n-1 周期达到最大值的输出序列称为m序列。 例题 若其初始状态序列为 ,求: 输入位是? 输出位是? 级数(长度)n=? 后续的状态序列分别
文档评论(0)