(现代密码学课件)02序列密码.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
math@jnu 一、二进制与位运算 二进制表示 字符编码 常用位运算 位运算练习 二进制表示 在现代密码算法中,我们通常需要将明文用二进制的明文流来表示,然后再对二进制的明文流加密。 任何十进制数字都可以用二进制数字表示 练习:将自己的学号的后三位用二进制数字表示(后面的练习还需要用到) 字符编码 在现代的计算机储存和交换信息中,需要对每个字符和文字都用二进制编码 ASCII 编码:一个字节(8比特)长,包含了所有英文字母和一些标点符号的编码 GBK 编码:兼容 ASCII 编码,英文一个字节长,中文两个字节长,国内制定的编码标准 UTF-8 编码:统一码(Unicode)的一种编码方案,包含世界上所有的文字。兼容 ASCII 编码,非英文的西方字符两个字节长,常用的中日韩文字三个字节长 常用位运算 在密码算法中经常会使用一些位运算(或称为按比特运算) 因此我们需要一些基本的位(bit)运算知识。下面的 A 和 B 在 0 和 1 中取值 取反运算(NOT): 异或运算(XOR):A?B ,逐位模 2 加法 与运算(AND):A?B 或者 A·B,逐位相乘 位运算练习 流密码基本概念 流密码(Stream Cipher)是利用密钥k产生一个密钥流,用密钥流对明文流逐次作用进行加密,解密时以同样的密钥流对密文流实现。 密钥流:z=z1z2…zi … 明文流:m=m1m2…mi…,其中mi?M 密文流:c=c1c2…ci…,其中ci?C 加密变换:ci=E(zi,mi) 解密变换:mi=D(zi,ci) 同步流密码结构 在同步流密码中,由于zi=f(k,σi)与明文字符无关,因而此时密文字符ci=E(zi, mi)也不依赖于此前的明文字符。 因此,可将同步流密码的加密器分成密钥流产生器和加密变换器两个部分。 二元加法流密码是目前最为常用的流密码体制,其加密变换可表示为ci=E(zi,mi)=mi ?zi 。 三、密钥流生成器 四、线性反馈移位寄存器 反馈移位寄存器 密钥生成器的驱动部分通常使用线性反馈移位寄存器(LFSR) 反馈移位寄存器(FSR: Feedback Shift Register) 线性移位寄存器(LFSR: Linear Feedback Shift Register) 反馈移位寄存器 反馈移位寄存器 反馈函数 f (x1, x2,…,xn): GF(2)n?GF(2) 工作原理:当一个时钟脉冲来到时,第i 级寄存器的内容传送给第i-1级寄存器(i=2,3,…,n),第1级寄存器的内容为反馈移位寄存器的输出. 反馈函数 f (x1, x2,…,xn)的值传送给第n级寄存器. 输出序列: a1,a2,…,ai,… 称为反馈移位寄存器序列(FSR序列). 反馈移位寄存器例子 例子:设有限域GF(2)上的3级FSR的反馈函数为: f(x1, x2, x3)=x1?x2?x3 初始状态为a1 a2a3 =(1,0,1). 求FSR序列. 解答: 反馈移位寄存器序列: a =1011…; 周期为4. 线性反馈移位寄存器 f(x)为线性函数时称为LFSR,即输出序列满足下式 LFSR 练习 设3级 LFSR 的递归函数为ai+3=ai+2+ai,初始状态为 (a1,a2,a3)=(1,0,1)。求输出序列和周期,并画出LFSR的示意图。 特征多项式 不可约多项式 如果多项式 f(x) 仅能被常数 c 和 cf(x) 整除,但不能被其它多项式整除,我们称 f(x) 为不可约多项式。 不可约多项式与讨论的系数域有关。这里我们指的系数域是由0和1这两个数组成的二元域GF(2),使用模2运算。 例子:GF(2) 上的二次不可约多项式。 m序列的个数 GF(2)上的n次本原多项式一共有?(2n-1)/n个 所有不等价n级m序列共有?(2n-1)/n个 其中?(t)为欧拉函数,即少于或等于t的数中与t互质的数的数目。 m序列例子 六、m序列的伪随机性 流密码的安全性取决于密钥流的安全性,因此要求密钥流序列有良好的随机性,以使分析者对它无法预测 如果密钥流是周期的,要完全做到随机性是困难的 我们只要求截获比周期短的一段时不会泄漏更多信息,这样的序列称为伪随机序列 七、m序列的破译 矩阵的可逆性 矩阵的可逆性 矩阵的可逆性 矩阵的可逆性 m序列破译例子 m序列破译例子 m序列破译例子 破译练习 已知流密码的密文串1010110110和相应的明文串0100010001,而且还已知密钥流是使用3级线性反馈移位寄存器产生的,试破译该密码系统。 八、非线性序列 非线性序列 非线性序列 Geffe序列生成器 J-K触发器例子 例子 令m=2, n=3,两个驱动m序列分别为 {ak}=0,1,1,…

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档