【安全课件】第14讲—序列密码
- 格式:pptx
- 大小:185.08 KB
- 文档页数:19
序列密码算法随着互联网的飞速发展,信息安全问题越来越受到人们的关注。
在信息安全领域中,密码学是一门重要的学科,其研究的对象就是如何保护信息的机密性、完整性和可用性。
密码学中的一种重要技术就是密码算法,而序列密码算法就是其中的一种。
序列密码算法是一种基于序列的密码算法,它使用一个生成器生成一个伪随机序列,然后将该序列与明文进行异或操作,得到密文。
在解密时,使用相同的生成器生成相同的伪随机序列,再将密文与该序列进行异或操作,即可得到明文。
因此,序列密码算法的安全性主要依赖于伪随机序列的质量。
序列密码算法有很多种,其中最常见的是RC4算法。
RC4算法是一种流密码(Stream Cipher)算法,它采用变长密钥,最长可达256位,但通常使用40位或128位密钥。
RC4算法的主要流程如下:1. 初始化阶段:生成一个S盒(S-Box)和一个T盒(T-Box)。
2. 密钥调度阶段:使用密钥填充S盒和T盒。
3. 伪随机数生成阶段:使用S盒和T盒生成伪随机数序列。
4. 加密阶段:将伪随机数序列与明文进行异或操作,得到密文。
5. 解密阶段:使用相同的密钥和相同的S盒和T盒生成相同的伪随机数序列,再将密文与该序列进行异或操作,即可得到明文。
RC4算法具有以下优点:1. 加密速度快:由于RC4算法采用流密码算法,每次只需要处理一位明文,因此加密速度非常快。
2. 实现简单:RC4算法的实现非常简单,只需要一些基本的位运算和数组操作即可。
3. 可逆性强:RC4算法的加密和解密使用相同的密钥和相同的算法,因此具有强的可逆性。
但是,RC4算法也存在一些缺点:1. 密钥长度较短:RC4算法的密钥长度最长只能达到256位,这使得它的安全性受到了一定的限制。
2. 安全性不足:由于RC4算法的S盒和T盒生成方式不够随机,因此可能存在安全漏洞,容易受到攻击。
为了弥补RC4算法的不足,人们提出了很多改进的序列密码算法,如Salsa20、ChaCha20等。
序列密码设计思想简述序列密码是通过位方式操作,采用一次一密的加密方式,如果产生的密钥序列为随随机序列,理论上是不可破译的,但是这会造成密钥长度与明文一样长,存储和传递密钥的代价很大,所以在实际应用中很少使用。
实际的做法是根据一组密钥源和一个密钥序列产生器(KG)生成伪随机密钥序列,这样就解决了由于密钥过长产生的存储和传递问题,问题的关键在于KG的设计,使其产生的k伪随机序列尽可能满足随机性。
所有的密钥序列,都是由种子密钥K经过变化产生的,密钥亮的大小取决于K的变化量的大小。
但是K毕竟是有限的位,其变化量也是有限的不会超过n2,为了更好地抵抗统计分析,尽可能的使k的周期最大化,且k的变化具有均匀分布的特性,所有的变化都可能出现,且出现的概率相同。
由k推测KG或K在计算上不可行,满足Shannon 混乱原则和扩散原则。
能抵抗各种已知攻击。
KG应该具有可重复性,即输入K相同不论何时何地输出的k应该相同,以上所述是KG的设计原则。
KG设计完成后,还需要利用一些方法对其产生的k进行随机性、混乱性、扩散性、密码分析等各种检测,检测KG的设计是否满足上述的原则。
驱动子系统f,类似于分组密码中的P盒,属于线性变换,由种子密钥K控制,设计简单,无法单独完成混淆,无法抵御线性分析和统计分析,f的作用在于生成多个统计性能良好(大周期、均匀分布)的子序列,线性变换还有扩散的作用,即生成序列中一位的变化造成子序列中大量位的变化,子序列中的任何一位与生成序列中的每一位存在关系。
非线性组合子系统F,类似于分组密码中的S盒,由种子密钥K控制,对f提供的多个子序列进行非线性组合,使其线性复杂度实现最大化,提供序列的混乱性,使明文、密文、密钥之间的关系尽可能的复杂,防止线性攻击和统计分析。
另外f与F要相互独立,F不能泄漏任何f的结构信息。
序列密码与分组密码的最大不同之处在于,序列密码具有记忆性,分组密码没有记忆性。
序列密码是有状态的,与加密到第几步有很大关系,也叫状态密码,而分组密码的每个分组的加密密钥都是一样的,如果对分组密码的密钥产生加入记忆模块,那么就变成了序列密码。
旺旺:旺我旺:能我过能软过软考考主要内容序列密码的基本概念 序列密码的分类 线性移位寄存器序列 线性移位寄存器的输出序列求解旺旺:我能过软考序列密码的基本概念版权所有:我能过软考香农证明了“一次一密”不可破解。
用序列密码模仿“一次一密”密码。
为了安全,序列密码应使用尽可能长的密钥,但是,长密钥的存储、分配存在困难。
设计一个好的密钥序列产生算法,利用较短的种子密钥,产生长的密钥序列。
作为核心密码的主流密码3 旺旺:我能过软考序列密码的分类 同步序列密码自同步序列密码 1)同步序列密码 密钥序列产生算法与明密文无关 产生的密钥序列和明密文无关 在通信中,通信双方必须保持精确的同步 不存在错误传播版权所有:我能过软考输出反馈模式OFB4 旺旺:我能过软考同步序列密码的失步分析版权所有:我能过软考设密c=c1, c2, c4, c5…., cn-1, cn文⊕ k=k1, k2, k3, k4…., cn-1, cn失 步m=m1,m2, X,X…., X, X 可以检测插入、删除、重播等主动攻击(c3 丢失) (密钥正确)5 旺旺:我能过软考同步序列密码错误传播分析版权所有:我能过软考c=c1, c2, c3, c4…., cn-1, cn ⊕ k=k1, k2, k3,k4…., cn-1, cnm=m1,m2,X,m4 …,mn-1 ,mn-1 不存在错误传播(c3 错误) (密钥正确)6 旺旺:我能过软考自同步序列密码错误传播分析版权所有:我能过软考 ci错误只影响n个密钥,导致n位错误,有限的错误传播 同步丢失,会影响n位解密,然后重新建立同步, 如: 电视信号、手机通信 难于检测出主动攻击7 旺旺:我能过软考线性移位寄存器序列 1、移位寄存器如果反馈函数f(S0、 S1 、 … 、 Sn-1)是线性函数,则 称移位寄存器为线性移位寄存器;否则,称为非线性 移位寄存器。