欢迎来到天天文库
浏览记录
ID:14279541
大小:1.36 MB
页数:18页
时间:2018-07-27
《密码学——第8章 序列密码和移位寄存器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第八章序列密码和移位寄存器香农证明了“一次一密”密码体制在理论上是不可破译的,促使人们长期以来一直寻求某种能仿效“一次一密”密码的密码体制,序列密码就是所寻求的方法之一。目前,序列密码是世界军事、外交等领域应用的主流密码体制。序列密码的加、解密过程:[1]将报文、语音、图像、数据等原始明文转换成明文数据序列;[2]将转换后的数据序列用密钥序列进行逐位加密生成密文数据序列并发送给接收者;[3]接收者用相同的密钥序列对密文数据序列进行逐位解密恢复出明文序列。l序列密码不存在数据扩展和错误传播,实时性好,加解密实现容易。序列密码的发展历程:lVernam密码最早的二进制序列密码系统。当Verna
2、m密码中的密钥序列为完全随机的二进制序列时,它就是“一次一密”密码。但其密钥产生分配和管理都极为困难,故未得到广泛应用。l随着微电子技术和数学理论的发展,基于伪随机序列的序列密码成为当前最通用的密码系统。这种序列密码中,加、解密的密钥序列都是伪随机序列。l伪随机序列是由密钥流产生器产生的。密钥流产生器实际上就是通过给定算法产生通常是0-1数据流的密钥流。伪随机序列:序列密码可看成多表密码的一种,其密钥流是有周期的,因为密钥流是周期的,所以要完全做到随机非常困难。一般,希望密钥流的周期尽可能大,至少应与明文的长度相等。由于这种密码的密钥序列不可能做到随机,只要求截获比周期短的一段密文时不至泄
3、露更多的信息,故这样的序列称为伪随机序列。序列密码的安全保密性主要依赖于密钥序列,因此研究什么样的伪随机序列可以作为序列密码的密钥序列就成为序列密码研究中的主要问题,即序列密码的关键是产生密钥序列的算法。8.1序列密码的一般原理假设序列密码中l为明文空间是由可能的二进制数字序列组成的集合l为密钥空间,为控制算法产生长密钥序列的一个短密钥。序列密码的成败取决于算法的保密程度和复杂程度,各国的核心密码都不公布算法。序列密码的加、解密过程:l对于每一个短密钥,由算法确定一个二进制序列。l加密时,当明文时对,计算,则密文为。l解密时,对,计算,恢复出明文。通常称密钥为种子密钥。由通过算法产生的序列
4、称为密钥序列。因此,序列密码的安全性主要依赖于密钥序列,当是离散无记忆的二进均匀分布信源产生的随机序列时,则该密码系统是一次一密密码。但实际上是由通过确定性算法产生的伪随机序列,故该系统不再是完全保密的。设计序列密码系统的关键是设计密钥序列;破译序列密码也只需求出所使用的。序列密码系统中密钥序列设计应考虑如下因素:[1]系统的安全保密性;[2]密钥易于分配、保管、更换;[3]产生密钥序列简单、快速。目前,密钥序列的产生大多数是基于移位寄存器。为达到安全保密性要求,序列密码的密钥序列应满足伪随机准则:[1]极大的周期。现代密码机的数据率为108bit/s,如果10年内不使用重复的,要求的周期
5、>3×1016或255。l周期长,是为了不至使通过两组密文相加的结果和语言冗余度分析就能获得一些关于明文的信息;[2]良好的随机统计特性,即序列中每位接近均匀分布。l良好的随机特性是为了使密钥序列能很好地掩盖住明文,以抵抗“已知明文攻击”;[3]序列线性不可预测性充分大。l线性不可预测性是为防止从部分密钥序列通过线性关系简单的推导出整个密钥序列的测度。上述三个准则是保证序列密码安全性的必要条件,但不是充分条件。一般随设计密钥产生器方法的不同,确保系统安全性的要求也不同。实用中最感兴趣的是GF(2)上的序列密码。群的概念定义*1给定一集合和该集合上的运算,满足下列四条件作的代数系统称为群:l
6、封闭性:若,则存在,使l结合律成立:恒有l存在单位元素:即存在,对,恒有l存在逆元素:对于,恒有,使,元素称为的逆元素,用表示,即。若对有则称为阿贝尔(Abel)群。为简便起见,简记为。域的概念定义*2是至少含有两个元素的集合,对定义了两种运算“+”和“*”,并且满足以下三条件的代数系统称为域。l的元素关于运算“+”构成阿贝尔群,设单位元为。l关于运算构成阿贝尔群。l对于分配律成立。即若域的元素有限个,则称之为有限域或伽罗瓦(Galois)域。表示集合除去元素后的元素。是素数,则在的意义下关于“+”和“*”运算构成的域用表示。8.2线性移位寄存器移位寄存器是序列密码中产生密钥序列的一个主要
7、组成部分。GF(2)上n级反馈移位寄存器的表示见图8.2。图中l标有a1,a2,…,an-1,an的小方框表示(0,1)二值存储单元,信号流从左向右。这n个二值存储单元称为该反馈移位寄存器的级。l在任一时刻,这n级的内容构成该反馈移位寄存器的状态,即反馈移位寄存器的状态对应于一个GF(2)上的n维向量,共有2n种可能的状态。l每一时刻的状态可用n长序列:a1,a2,…,an,或n维向量f(a1,a2,…,an)表示。其中
此文档下载收益归作者所有