第4讲 序列密码

合集下载

序列密码——精选推荐

序列密码——精选推荐

序列密码基本概念序列密码的加密⽤⼀个随机序列(密钥流)与明⽂序列按位叠加产⽣密⽂,⽤同⼀随机序列与密⽂序列叠加来恢复明⽂。

v由种⼦密钥通过密钥流发⽣器得到的密钥流为:K=k1k2...k n,则加密变换为:C=c1c2...c n其中c i=m i⊕k i i=1,2...n,那么解密变换就是m i=c i⊕k i i=1,2...n密码强度主要依赖于密钥流的安全性同步序列密码密钥序列的产⽣独⽴于明⽂消息和密⽂消息。

特点:⽆错误传播:各符号之间真正独⽴。

⼀个传播错误只影响⼀个符号,不会影响到后继的符号同步:发送⽅和接收⽅必须保持精确的、⽤同样的密钥并作⽤在同样的位置上,才能正确的解密⾃同步序列密码密钥序列是密钥及固定⼤⼩的以往密⽂的函数,依赖于密⽂。

特点:有限错误传播:设密钥序列产⽣器具有n位存储,则⼀个符号的传输错误只影响到后⾯n符号的解密⾃同步:只要接收⽅连续收到n个正确的密⽂符号,密钥序列产⽣器便会⾃动地恢复同步消除明⽂统计特性密钥流⽣成器和密钥流密钥流的要求极⼤的周期:随机序列是⾮周期的,⽽按任何算法产⽣的序列都是周期的,因此应要求密钥流具有尽可能⼤的周期良好的统计特性:随机序列有均匀的游程分布游程:指序列中相同符号的连续段,其前后均为异种符号。

例如:……0 111 0000 10……注意:计算游程的时候要⾸尾相连计算,头和尾的两个0合在⼀起构成长度为2的0游程。

有长为3的1游程、长为4的0游程、长为1的1游程,长为2的0游程。

⼀般要求其在周期内满⾜:同样长度的0游程和1游程的个数相等,或近似相等。

很⾼的线性复杂度:不能⽤级数较⼩的线性移位寄存器LFSR近似代替⽤统计⽅法由密钥序列k0k1k2…ki…提取密钥⽣成器结构或种⼦密钥在计算上不可⾏密钥流⽣成器密钥流⽣成器可以分为:驱动部分⾮线性组合部分驱动部分:控制⽣成器的状态序列,为⾮线性组合部分提供统计性能良好的序列周期很⼤分布较随机⾮线性部分:将驱动部分提供的序列组合成密码特性好的序列可隐蔽驱动序列与密钥k之间明显的依赖关系⽬前密钥流⽣成器⼤都基于移位寄存器FSR通常由线性移位寄存器(LFSR)和⼀个⾮线性组合函数即布尔函数组合,构成⼀个密钥流⽣成器(a)由⼀个线性移位寄存器和⼀个滤波器构成(b)由多个线性移位寄存器和⼀个组合器构成LSFR的优点:⾮常适合硬件实现能产⽣⼤的周期序列能产⽣统计特性好的序列能够应⽤代数⽅法进⾏很好的分析反馈移位寄存器GF(2)上⼀个n级反馈移位寄存器由n个⼆元存储器与⼀个反馈函数f(a1a2...a n)组成Processing math: 100%每个存储器称为移位寄存器的⼀级在任⼀时刻,这些级的内容构成该FSR的状态;对应于⼀个GF(2)上的n维向量,共有2n种可能的状态状态可⽤n长序列a1,a2,a3,…,a n或n维⾏向量(a1,a2,a3,…,a n)表⽰每⼀级存储器a i将其内容向下⼀级a i-1传递,并根据存储器当前状态计算f(a1,a2,a3,…,a n)作为a n下⼀时间的内容example:初始状态为(a1,a2,a3)=(1,0,1),输出可由上表求出,其输出序列为10111011101…,周期为4如果反馈函数f(a1,a2,…,a n)是a1,a2,…,a n的线性函数,则称为线性反馈移位寄存器(LFSR)n级LFSR最多有2n个不同的状态初始状态为零,则其状态恒为零若其初始状态⾮0,则其后继状态不会为0因此n级LFSR的状态周期≤2n−1输出序列的周期与状态周期相等,所以≤2n−1选择合适反馈函数可使序列周期达到最⼤值2n−1,周期达到最⼤值的序列称为m序列特征多项式表⽰:1是必须写的,c i的取值和上⾯⼀⼀对应定理:n级LFSR产⽣的序列有最⼤周期2n−1的必要条件是其特征多项式为不可约的定义:若n次不可约多项式p(x)的阶为2n-1,则称p(x)是n次本原多项式,使得p(x)|(x p−1)的最⼩p称为p(x)的阶定理:设{a i}∈G(p(x)),{a i}为m序列的充要条件是p(x)为本原多项式Java实现LSFRpublic class LSFR {public static void newLsfr(List<Integer> lst, int k, List<Integer> key){int temp=0;List<Integer> temp1 = new ArrayList<>(lst);List<Integer> temp2 = new ArrayList<>(key);for(int i = 0;i < k; ++i){boolean flag = false;Integer kOut=0;for (int j = 0;j < 20;++j){if(temp2.get(j).equals(1))kOut = (Integer) ((kOut + temp1.get(j) ^ temp2.get(j)) % 2);}temp1.remove(0);temp1.add(kOut);for(int q = 0;q < 20;q++){if (!temp1.get(q).equals(lst.get(q))) {flag = true;break;}}System.out.println(temp1.toString()+"第"+(i+1)+"次");if(!flag)temp = i+1;}if(temp!=0)System.out.println("周期是:"+temp);}对于m-序列(周期为2n−1),如果攻击者知道了2n位明密⽂对,则可确定反馈多项式的系数,从⽽确定该LFSR接下来的状态,也就能得到余下的密钥序列,具体过程如下:三个随机性公设:在⼀个周期内,0与1的个数相差⾄多为1—a i中0与1出现的概率基本上相同在⼀个周期内,长为1的游程占游程总数的1/2,长为2的游程占游程总数的1/22,……,长为i的游程占游程总数的1/2i,……,且等长的游程中0游程个数和1游程个数相等——0与1在序列中每⼀位置上出现的概率相同异相⾃相关函数是⼀个常数——通过对序列与其平移后的序列做⽐较,不能给出其它任何信息⾮线性部分Geffe发⽣器钟控发⽣器交错停⾛式发⽣器门限发⽣器常⽤流密码算法RC4基于⾮线性数组变换优点:易于软件实现,加密解密速度快,⽐DES快10倍A5基于LFSR。

第4章(序列密码)

第4章(序列密码)

4.4 线性移位寄存器的一元多项式表示
设 n 级线性移位寄存器的输出序列满足递推 关系 an+k=c1an+k-1 c2an+k-2 … cnak (*) 对任何 k 1 成立。这种递推关系可用一个一 元高次多项式 P(x)=1+c1x+…+cn-1xn-1+cnxn 表示,称这个多项式为LFSR的联系多项式或 特征多项式。
初始状态由用户确定,当第i个移位时钟脉冲 到来时,每一级存储器ai都将其内容向下一级 ai-1传递,并根据寄存器此时的状态a1,a2,…,an 计算f(a1,a2,…,an),作为下一时刻的an。反馈函 数f(a1,a2,…,an)是n元布尔函数,即n个变元 a1,a2,…,an可以独立地取0和1这两个可能的值, 函数中的运算有逻辑与、逻辑或、逻辑补等运 算,最后的函数值也为0或1。
图4-4 GF(2)上的n级线性反馈移位寄存器
输出序列{at}满足 an+t=cnat cn-1at+1 … c1an+t-1 其中t为非负正整数。 线性反馈移位寄存器因其实现简单、速度快、 有较为成熟的理论等优点而成为构造密钥流生 成器的最重要的部件之一。
例4.2 图4-5是一个5级线性反馈移位寄存器, 其初始状态为(a1,a2,a3,a4,a5)=(1,0,0,1,1),可 求出输出序列为 1001101001000010101110110001111100110 … 周期为31。
即输出序列为101110111011…,周期为4。 如果移位寄存器的反馈函数f(a1,a2,…,an)是a1 ,a2,…,an的线性函数,则称之为线性反馈 移位寄存器LFSR(linear feedback shift register )。此时f可写为 f(a1,a2,…,an)=cna1 cn-1a2 … c1an 其中常数ci=0或1 2加法。ci=0或1可 用开关的断开和闭合来实现,如图4-4所示。

1-3古典密码之序列密码

1-3古典密码之序列密码

密码学原理流密码前面的密码体制中,连续的明文元素使用相同的密钥K来加密。

y=y1y2...=e k(x1)e k(x2)...这种类型的密码体制称为分组密码与分组密码的区别需要设计复杂的加密函数以提高安全性经常需要对明文进行填充(padding)操作以确保分组长度完整密钥管理将明文看作字符串或比特串,并逐字符或者逐位进行加密。

为了防止密钥穷举,使用和明文信息一样长的密钥(无限)流z=z 1,z 2...进行加密。

这种密码体制称为流密码(或序列密码)•可以使用非常简单的加密算法(如简单的异或运算)•关键是如何生成密钥流流密码设计思路1212z 1z 2y =y y =e (x )e (x )弗纳姆(Vernam)密码1918年,Gillbert Vernam建议密钥与明文一样长并且没有统计关系的密钥内容,他采用的是二进制数据:加密:Ci =Pi⊕Ki解密:Pi =Ci⊕Ki关键:构造和消息一样长的随机密钥流密码的代表流密码特点运算简单实时性强安全性依赖与密钥流的产生方法流密码的分类按密钥的周期性分类周期流密码•存在某个固定的正整数r,使得密钥流每隔r个字符(或者比特)以后重复。

非周期流密码•对任何正整数密钥流都不重复•如一次一密乱码本流密码的分类按密钥的产生方式分类同步流密码•密钥流的产生独立于消息流;•例如分组密码的OFB(输出反馈)模式异步流密码•每一个密钥字符是由前面n个明文或密文字符推导出来的,其中n为定值。

•例如分组密码的CFB(密码反馈)模式同步流密码使用某种算法,由一个初始密钥变换出和明文串相互独立的密钥流。

定义如下:同步流密码是一个六元组(P,C,K,L,E,D)和一个函数g,且满足如下条件•P,C,K分别是明文、密文、密钥的有限集。

•L是密钥流字母表有限集。

•g是密钥流生成器,g使用密钥k∈K作为输入,产生无限长的密钥流Z=z1z2...,其中z i∈L。

•对任意的z∈L,都有一个加密规则(函数)e z:P→C∈E和相应的解密规则(函数)d z:C→P∈D,并且对每个明文x∈P满足d z(e z(x))=x。

序列密码

序列密码

+ 容易验证该线性反馈移位寄存器的输出序列为 1001101001000010101110110001111100110…, 这个线性移位寄存器序列是一个周期序列,周期为31。
四川大学电子信息学院 24
3 线性反馈移位寄存器的一元多项式表示
设一个GF(2)上的n阶线性移位寄存器的反馈函数为: f(x1,x2,… , xn)=-cnx1-cn-1x2-…-c1xn, 其中ci∈GF(2), 1≤i≤n。 该线性移位寄存器的输出序列a0a1a2…满足递推关系式 an+t=-c1an+t-1-c2an+t-2-…-cnat,t≥0, 即 an+t+c1an+t-1+c2an+t-2+…+cnat=0,t≥0。
0
a0 1
S1=(1, 1, 0)
四川大学电子信息学院
21
在第二个时钟到来时
第3级 第2级 第1级 输出
1 1 f(x1,x2,x3)=x1x2⊕x3 x1=1, x2=1, x3=0
1
a0 0
S2=(1, 1, 1)
则其输出序列和状态序列如下 状态序列: (1,0,1) (1,1,0) (1,1,1) (0,1,1) (1,0,1) (1,1,0) …. 输出序列: 1 0 1 1 1 0 …. 由上面的结果可以看出,这个反馈移位寄存器的状态序 列和输出序列都是周期序列,其周期为4。
序列密码基础


四川大学电子信息学院
1
主要内容
• 序列密码的概述 • 伪随机序列的常规特性 • 序列密码的分类 • 有限域上的线性反馈移存器(LFSR)
• RC4
四川大学电子信息学院
2
1、序列密码的概述 、
1.1 序列密码定义
• 香农的保密理论提出:一次一密是理论完全保密的密码体 香农的保密理论提出: 但是必须满足随机的密钥序列必须满足与明文等长。 制,但是必须满足随机的密钥序列必须满足与明文等长。 • 设想使用少量的真随机数按一定的固定规则生成“伪随机” 设想使用少量的真随机数按一定的固定规则生成“伪随机” 的密钥序列,代替真正的随机序列。这就产生了序列密码。 的密钥序列,代替真正的随机序列。这就产生了序列密码。 序列密码关键就是如何设计伪随机序列。 序列密码关键就是如何设计伪随机序列。 • 少量的真随机数,就是序列密码的密钥,也有人称为种子 少量的真随机数,就是序列密码的密钥, 密钥。 密钥。 • 序列密码的安全性基础在于如何刻画密钥序列“随机性” 序列密码的安全性基础在于如何刻画密钥序列“随机性”, 如何保障密钥序列的“随机性” 如何保障密钥序列的“随机性”不会造成加密算法在实际 中被攻破。 中被攻破。

安徽工程大学 信息安全原理及应用 第4讲 对称密钥密码体制

安徽工程大学 信息安全原理及应用 第4讲 对称密钥密码体制

流密码的研究现状
在保密强度要求高的场合如大量军事密码系统,仍多采用 流密码,美军的核心密码仍是“一次一密”的流密码体制。鉴 于流密码的分析和设计在军事和外交保密通信中有重要价值, 流密码的设计基本上都是保密的,国内外少有专门论述流密码 学的著作,公开的文献也不多。尽管如此,由于流密码长度可 灵活变化,且具有运算速度快、密文传输中没有差错或只有有 限的错误传播等优点,目前仍是国际密码应用的主流,而基于 伪随机序列的流密码是当今最通用的密码系统。
❖ 目前密钥流生成器大都是基于移位寄存器的。因为移位寄存 器结构简单,易于实现且运行速度快。这种基于移位寄存器 的密钥流序列称为移位寄存器序列。
密钥流生成器
❖ 一个反馈移位寄存器由两部分组成:移位寄存器和反馈函数, 构 成一个密钥流生成器。 每次输出一位,移位寄存器中所有位都右 移一位,新的最左端的位根据寄存器中其它位计算得到。移位寄 存器输出的一位常常是最低有效位。
密钥发生器 种子 k
明文流 m i
明文流m i 加密算法E
密钥流 k i 密钥流 发生器
密文流 c i
安全通道 密钥 k
解密算法D
密钥流 发生器
明文流m i
密钥流 k i
图1 同步流密码模型
内部状态 输出函数
内部状态 输出函数
密钥发生器 种子 k
k
密文流 c i
k
图2 自同步流密码模型
明文流 m i
c(x)

f
*(x)

xn
f
(1) x
c0xn
c1xn1
... cn1x cn
称作是LFSR的特征多项式。cn0称之为非奇异LFSR。
密钥流生成器 y (1) i SR 1

3.2-序列密码

3.2-序列密码


提问: (1) (1) (1) (1) (1) (1) A3 A 如果上面的输入序列变为: 1 A2 A 1 A 3 A2 则上面的结果是什么,为什么?
20
同步序列密码密钥流产生器
设计关键是密钥流产生器。一般可将其看成一个参数为k的有 限状态自动机,由一个输出符号集Z、一个状态集∑、两个函 数φ和ψ以及一个初始状态σ0组成 状态转移函数φ:σi→σi+1,将当前状态σi变为一个新状态σi+1 输出函数ψ:σi→zi,当前状态σi变为输出符号集中的一个元素zi


有限状态机
范明钰 2019 年本科密码学
状态转移图 密钥序列生成器
17
有限状态自动机

有限状态自动机是具有离散输入和输出(输入集和输出 集均有限)的一种数学模型,由以下3部分组成:
范明钰 2019 年本科密码学

① 有限状态集 S {si | i 1,2,....l}
(1) A { A ② 有限输入字符集 1 j | j 1,2,..., m} 和有限输出字
(1) ( 2) (A ) 1 , A 3
(1) ( 2) ( A3 , A2 )
S2
(1) ( 2) ( A2 ,A ) 1
(1) ( 2) (A ) 1 , A 2
S3
(1) ( 2) ( A2 , A2 )
(1) ( 2) ( A3 ,A ) 1
19
例子
(1) (1) (1) S {s1 , s2 , s3 }, A1 { A1 , A2 , A3 }, ( 2) ( 2) ( 2) A2 { A1 , A2 , A3 }
范明钰 2019 年本科密码学
列密码体制的模型如下图。

信息安全讲义第4讲-5密钥管理

信息安全讲义第4讲-5密钥管理

密钥管理
密钥管理包括:
– (1)产生与所要求安全级别相称的合适密钥; – (2)根据访问控制的要求,对于每个密钥决定哪 个实体应该接受密钥的拷贝; – (3)安全地将这些密钥分配给用户; – (4)某些密钥管理功能将在网络应用实现环境之 外执行,包括用可靠手段对密钥进行物理的分配。
密钥交换是经常设计的协议功能 密钥选取也可以由密钥分配中心KDC来完成
④ ⑤ ⑥
证和签名,并且无法伪造或篡改)。这个证书中包括了Bob的身 份信息和Bob的公开密钥。 Alice验证CA证书,使用一个对称密钥加密算法来加密一个普通 文本信息和产生一个临时的通话密钥;然后使用Bob的公钥去加 密该临时会话密钥。然后把此会话密钥和该已加密文本发送给 Bob。 Bob接收到信息,并使用私有密钥恢复出会话密钥。 Bob使用临时会话钥对加密文本解密。 双方通过这个会话密钥会话。会话结束,会话密钥也就废弃。
4.4 密钥管理系统
密钥管理 密钥分配 计算机网络密钥分配方法 密钥注入 密钥存储 密钥更换和密钥吊销
4.4.2 密钥的分配
密钥的分配要解决两个问题:
(1)密钥的自动分配机制,自动分配密钥以提高系 统的效率; (2)应该尽可能减少系统中驻留的密钥量。
根据密钥信息的交换方式,密钥分配可以分成 三类:
第四章 密钥管理技术
本章提示
4.1 密钥管理概述 4.2 对称密钥的管理 4.3 非对称密钥的管理 4.4 密钥管理系统 4.5 密钥产生技术 4.6 密钥保护技术 4.7 密钥得分散管理与托管
密钥管理的定义
密钥管理是处理密钥自产生到最终销毁的整个 过程的的所有问题,包括系统的初始化,密钥 的产生、存储、备份/装入、分配、保护、更新、 控制、丢失、吊销和销毁等。 其中分配和存储是最大的难题。。

应用密码学5-序列密码

应用密码学5-序列密码

010
101
100
000
110
011
001
111
二、线性移位寄存器 (LFSR:Linear Feedback Shift Register)
反馈函数为线性函数。否则为非线性反馈移位寄存器。
我们总要求第一级的系数不为0,称之为非退化的。 如果第一级的系数为0,则不是n阶反馈了,称为退化的。 例6.2(P103)
同时产生与明文相同长度的密钥流:
r r0r1r3 , ri GF (2)
加密为: y y0 y1 y2 , yi xi ri ,
yi GF (2)
解密为: xi yi ri
如果每隔固定的r个字符或比特,以后密钥重复使用,
则为周期序列密码;密钥不重复的为非周期序列密码。
同步方式(synchronous);自同步方式(self-synchronous
c1 (ain1 bin1) c2 (ain2 bin2 ) cn (ai b)
c1d in1c2d in2 cn di 故 d G( f ) 又, a b (a0a1 an ) (b0b1 bn ) . 证毕.
定理 6.4: f (x) | h(x) G( f ) G(h) .
周期为 24 1 15
p(a ) 2n 1 的序列称为n 阶 m序列。
第一个初态!
1000
1100
0001
1110
0010
1111 0000
0100
0111 1001
1011 0101
0110 0011
1010 1101
只要进入, 就得循环!
第二个初态!
由例子可得出以下结论: (1)n-LFSR的结构由其结构常数唯一确定; (2)n-LFSR的结构常数与反馈函数互相唯一确定; (3)n-LFSR序列由其结构常数和初态唯一确定;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
0
0
1
1010 1101 0110 0011 1001
0
17
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0
0
1
0
0
1010 1101 0110 0011 1001 0100
0
18
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0
LFSR的周期
上例周期为15 不同的LFSR周期不一定相同
举例:反馈函数仅引入b1,则周期最大为4
阶为n的LFSR的最大周期为2n-1 周期主要与反馈函数有关
26
LFSR的周期
已经证明:当反馈函数是本原多项式时, 周期达到最大为2n-1 本原多项式定义
若阶为n的多项式P(x)能够整除xt+1,其中t = 2n-1,且对于任何d < 2n-1且d| 2n-1 ,P(x)不能 整除xd+1,则称P(x)为本原多项式
41
序列密码的评价标准
周期 统计特性 线性复杂度(局部线性复杂度) 混淆与扩散 非线性特性
42
真随机序列
信息源
电磁辐射,热噪声,人机交互等
不能用于加密,可以用于生成密钥
43
1
1000 1100 1110
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
24
1
1
1
1
1010 1101 0110 0011 1001 0100 0010 0001
0
1000 1100 1110 1111
n
6
LFSR
线性反馈移位寄存器
7
LFSR
举例
4位,b1和b4参与反馈
b4 b3 b2 b1
8
LFSR
举例
1111 → 1
1
1
1
1
0
9
LFSR
举例
1111 0111 → → 1 1
0
1
1
1
1
10
LFSR
举例
1111 0111 1011 → → → 1 1 1
1
0
1
1
0
11
LFSR
举例
1111 0111 1011 0101 → → → → 1 1 1 1
大整数N=PQ,其中P,Q是模4余3的素数,N的 分解未知。随机选择一个与N互素的整数x0作为种 子,迭代用下面的方式产生: xi+1=xi2 mod N 然后取出xi+1的低位log log N比作为序列的第i+1次 输出。Log N=1024, 2048等 速度比前面的LFSR相对慢一些,但比RSA或BM 发生器快得多。 是可以证明安全的,即如果大整数分解是困难的, 那么BBS发生器的输出是无法预测的。统计特性 也非常好。主要用于高安全性环境,例如生成系 统的主密钥等。
配合方式
多路输出
异或,门限,异步内积,其他线性函数
选择输出
Geffe:2选1,n选1 Jennings:组合选择
31
利用LFSR构造序列密码
配合方式
停走产生器
2选1交替走 Beth-Piper异步停走 对称停走 Gollmann级联停走
消耗产生器
输出/不输出控制位,自消耗/联合消耗
收缩产生器
32
实例
0
1
01Leabharlann 112LFSR
举例
1111 0111 1011 0101 → → → → → 1 1 1 1 0
1
0
1
0
1010
1
13
LFSR
举例
1111 0111 1011 0101 → → → → → → 1 1 1 1 0 1
1
1
0
1
1010 1101
0
14
LFSR
举例
1111 0111 1011 0101 → → → → → → → 1 1 1 1 0 1 0
22
1
1
0
0
1010 1101 0110 0011 1001 0100 0010 0001
1
1000 1100
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0
23
1
1
1
0
1010 1101 0110 0011 1001 0100 0010 0001
0
0
1
0
1010 1101 0110 0011 1001 0100 0010
0
19
LFSR
举例
1111 0111 1011 0101 1010 → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1
0
0
0
1
1101 0110 0011 1001 0100 0010 0001
第4讲 序列密码
授课:伍前红 Chinacrypt2008@, 辅导:周红亮 zhouhl2002@
序列密码
线性同余产生器 LFSR(Linear Feedback Shift Register):线 性反馈移位寄存器 LFSR与序列密码 序列密码实例 序列密码与其他密码 真随机源
36
其它序列密码
非线性反馈移位寄存器
反馈函数为非线性函数
例如:组合逻辑函数
问题:周期不容易确定,甚至可能退化
37
其它序列密码
无移位寄存器的序列密码
RC4,1987, Ron Rivest
植入密钥
Si = i ( i = 0,1,…,255) j=0 i = 0 to 255
j=( j+Si+Ki) mod 256 SWAP(Si, Sj)
A5算法
GSM手机与基站的信道加密 3个LFSR,周期分别为19,22,23 多路输出:异或 停走方式
若输出是3个1或3个0则全走,否则两个相同的走, 不相同的停
33
实例
Mush算法
两个LFSR
每个数据单元(寄存器)包含32bits,反馈函数采 用算术加:
Ai = ( Ai-55 + Ai-24 ) mod 232 Bi = ( Ai-52 + Ai-19 ) mod 232
本原多项式一定是不可约多项式
27
LFSR的周期
通过本原多项式设计反馈函数
去掉本原多项式中的最高次数项系数1 以剩余各项的次数作为编号,将移位寄存器中 相应编号在本原多项式中系数为1的寄存器的 1 内容取出进行异或,获得反馈值,最终输入到 反馈移位寄存器中 移位寄存器中的寄存器从右向左编号,最靠近 输出端的寄存器编号1,对应本原多项式的0次 项
Benlekamp-Massey方法截获2n位密钥,即可计算出 LFSR的当前状态,从而生成LFSR密钥流,破解密文
采用多个周期互素的LFSR相互配合,将各自的输 出非线性组合作为输出序列,增强安全性 相关免疫函数:寻求序列输出和序列发生器内部 LFSR的关系,利用工具主要线性代数
30
利用LFSR构造序列密码
2
线性同余产生器
工作方式:Xn=aXn–1+b mod m 序列周期的概念 线性同余产生器的最大周期为m–1(b与m互素) 速度快 统计特征非常好,然而可以预测,因而不能用于 密码设计 仍在用,主要用于编码或作为其它不需要安全性 的随机数发生器
3
LFSR
LFSR=移位寄存器+反馈函数 移位寄存器:一个二进制序列 如果有n位,则成为n位移位寄存器
4
LFSR
反馈函数:寄存器中特定位的异或,这些 位的列表称为一个选择序列,也称为 Fibobnacci结构
5
LFSR
线性反馈移位寄存器(LFSR)
22
n
1
1
密码学要求:输出序列周期足够长,统计特征好, 不可预测 n位的LFSR最大周期为2n–1,这样的序列称为m序 列。 反馈函数使用非线性函数,n位的非线性反馈移位 寄存器最大周期可达 22 1,这样的序列称为M序列。
38
RC4
产生密钥流
i=j=0 loop
i=(i+1) mod 256 j=(j+Si) mod 256 t=(Si+Sj) mod 256 Ki=St
39
序列密码与其他密码
利用对称密码或其他强密码,经常更换序 列密码的密钥 利用其他安全的密码设计序列密码
DES RSA BBS
40
BBS发生器
1
20
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1 0
1
0
0
0
1010 1101 0110 0011 1001 0100 0010 0001
1
1000
21
LFSR
举例
1111 0111 1011 0101 → → → → → → → → → → → → → → 1 1 1 1 0 1 0 1 1 0 0 1 0 0
0
1
1
0
1010 1101 0110
0
15
相关文档
最新文档