第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序列由其结构常数和初态唯一确定;

序列密码

序列密码

旺旺:旺我旺:能我过能软过软考考主要内容序列密码的基本概念 序列密码的分类 线性移位寄存器序列 线性移位寄存器的输出序列求解旺旺:我能过软考序列密码的基本概念版权所有:我能过软考香农证明了“一次一密”不可破解。

用序列密码模仿“一次一密”密码。

为了安全,序列密码应使用尽可能长的密钥,但是,长密钥的存储、分配存在困难。

设计一个好的密钥序列产生算法,利用较短的种子密钥,产生长的密钥序列。

作为核心密码的主流密码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)是线性函数,则 称移位寄存器为线性移位寄存器;否则,称为非线性 移位寄存器。

crypt4-序列密码3

crypt4-序列密码3

a 0 , a1 , a 2 , a 3 1,1, 0 ,1,求:序列
a的有理表示
9
10
有 理 表 示 2:设 GF 2 上 序 列 a的 周 期 为 p, 则 a的 有 理 表 示 有 a x a 0 a1 x a 2 x 2 a p 1 x p 1 1 x p
定理: 设 f x 是首1的 n次多项式,则 1 S f x S f x
总结: 序列有三种表示:
序列表示:
a a 0 a1a 2 a 3
2
非全零序列 a S f x 是 n级 m 序列的充分必要条件是 f x 是 n次本原多项式。
2011-4-7
2、序列的表示
序列表示: a a 0 a1a 2 a 3
定理:对于序列 a a 0 a1a 2 a 3 和首 1的 n 次多项式, f ( x ) c0 c1 x c 2 x 2 c n 1 x n 1 c n x n , c 0 1, a S ( f ( x ))的充要条件是: a的幂级表示为以下形式 : ( a x) g ( x )是次数小于 n 的多项式。 g ( x) 的展开式子 f ( x)
序列表示 :
a 1110011110 01
彻底解决了m-序 列的构造问题
构造出本原多项式,就构造出m-序列
11
12
2
第四章 第四节 序列的表示与本原多项 式
2011-4-7
常见的本原多项式: 1 x2 1 x x
3
1 x x2
4、对偶移位寄存器概述
为了便于计算机软件实现LFSR,我们引进了与 LFSR等价的移位寄存器——对偶移位寄存器。

序列密码体制续解析精品PPT课件

序列密码体制续解析精品PPT课件
为了使密钥流生成器输出的二元序列尽可能复杂,应保证其周 期尽可能大、线性复杂度和不可预测性尽可能高,因此常使用多个 LFSR来构造二元序列,称每个LFSR的输出序列为驱动序列,显然 密钥流生成器输出序列的周期不大于各驱动序列周期的乘积,因此 ,提高输出序列的线性复杂度应从极大化其周期开始。
2021/1/8
因此,如果知道{ck}中相邻位的值ck-1和ck,就可以推断出ak 和bk中的一个。而一旦知道足够多的这类信息,就可通过密码分 析的方法得到序列{ak}和{bk}。为了克服上述缺点,Pless提出了由 多个J-K触发器序列驱动的多路复合序列方案,称为Pless生成器

2021/1/8
9
3.Pless生成器 Pless生成器由8个LFSR、4个J-K触发器和1个循环计数器构
Geffe序列的周期实现了极大化,且0与1之间的分布大体上是 平衡的。
2021/1/8
6
2.J-K触发器 J-K触发器如下图所示,它的两个输入端分别用J和K表示,其
输出ck不仅依赖于输入,还依赖于前一个输出位ck-1,即
ck x1 x2 ck1 x1
其中x1和x2分别是J和K端的输 入。由此可得J-K触发器的真值表 ,如下表所示。
{ak}=0,1,1,…和 {bk}=1,0,0,1,0,1,1,… 于是,输出序列{ck}是0,1,1,0,1,0,0,1,1,1,0,1,0,1,0,0,1,0,0,1,0,… 其周期为:(22-1)(23-1)=21。
由表达式ck=(ak+bk+1)ck-1+ak可得:
ck
ak
,
bk ,
ck1 0 ck1 1
应用密码学
张仕斌 万武南 张金全 孙宣东编著

序列密码(讲用)

序列密码(讲用)
分组密码使用的是一个不随时间变化的固定变换,具有 扩散性好、插入敏感等优点;其缺点是:加密处理速度慢。
9
序列密码
序列密码为一六元组(P,C,K,L,E,D)和函数g,并满足 以下条件:
1. P是由所有可能明文构成的有限集。 2. C是由所有可能密文构成的有限集。 3. K是由所有可能密钥构成的有限集。
因为确定性算法产生的序列是周期的或准 周期的,为了使序列密码达到要求的安全保密 性,密钥经其扩展成的密钥流序列应该具有如 下性质:极大的周期、良好的统计特性、抗线 性分析、抗统计分析。
我们仅对实用中最感兴趣的二元情形即 GF(2)上的序列密码原理进行介绍,但其理论 是可以在任何有限域GF(q)中进行研究的。
5
由此可见, 序列密码的安全性主要依赖于密钥序列k0k1…=A(k), 当k0k1…是离散无记忆的随机序列时,则该系统就是一次一密密 码, 它是不可破的. 但通常A(k)是一个由k通过确定性算法产生的 伪随机序列, 因而此时, 该系统就不再是完全保密的. 设计序列密 码的关键是设计密钥序列A(k),密钥序列A(k)的设计应考虑如 下几个因素:
(2)无错误传输。在传输期间,一个密文字符被改变只 影响该字符的恢复,不会对后继字符产生影响。
12
自同步序列密码
自同步序列密码的密钥流的产生和已经产生的固定数量 的密文字符有关,即是一种有记忆变换的序列密码。如图所 示。
密钥流 生成器
密钥流 生成器
密 钥 流
ki 明文流mi 加密算法E
密文流ci
密 钥 流
《应用密码学》
序列密码
1
1 概述
按照对明文消息加密方式的不同,对称密码体制一般可以分为两类:分组密 码(block cipher)和流密码(stream cipher) 。

序列密码

序列密码

产生序列为:1001110……和一个全零序列。
(三)、表示方法
1、线性递推式表示
一个r级线性移存器的线性递推式表示为:
a n c1 a n 1 c 2 a n 2 c r a n 1
an-2
an-3
an-4
a n a n2 a n3 a n4 (n 4)
通用的序列密码

手机通信GSM中的序列密码A5/1


1987年基于LFSR设计的序列密码,A5/2是一个弱化版本 ,最初算法是保密的,1994年算法泄露 2000年,Biryukov, Shamir ,Wagner 给出已知明文的时间 存储折中的攻击,复杂度248次加密,存储238数据

蓝牙通信(Bluetooth)中的序列密码E0
反馈多项式(联结多项式):
一个r级线性移存器的线性递推式表示为:
a n c1 a n 1 c 2 a n 2 c r a n r ( n r )
引进迟延算子D:Da
2
k
a k 1 , D a k a k i , D
i
2 n r
0
I
r
c 递推式可改写为:0 Ia n c1 Da
序列密码
YHB 2012年6月19日
1
提纲


序列密码简介 线性反馈移位寄存器LFSR B-M算法 A5 RC4
2
序列密码简介

分组密码:

y 1 , y 2 , , y n e k ( x 1 ), e k ( x 2 ), , e k ( x n )
特点

一次加密一个消息分组,通常 (xi或yi)是64比特或128比特 加密函数e( )操作复杂,通常通过多轮迭代

第4章 序列密码

第4章 序列密码

2019/8/6
2019/8/6
2019/8/6
14
111444
随机种子是从哪儿获得的?
随机种子为什么是在内存的0040:006CH处取?那么0040:006CH处存放的是什么?
学过《计算机组成原理》课程应该记得在编制ROM BIOS时钟中断服务程序时,会用 到Intel 8253定时/计数器,它与Intel 8259中断芯片的通信使得中断服务程序得以运转, 主板每秒产生的18.2次中断正是处理器根据定时/记数器值控制中断芯片产生的。在计 算机的主机板上都会有这样一个定时/记数器用来计算当前系统时间,每过一个时钟信 号周期都会使记数器加一,而这个记数器的值存放在哪儿呢?
紧接着,输出随机数(调用random()方法)
Random()是根据随机种子RAND_SEED的值计算得出随机数:
RAND_SEED=(RAND_SEED*123+59)%65536; 注意:随机数的计算方法在不同的计算机中是不同的,即使在相同的计算机中安装的 不同的操作系统中也是不同的。(比如在linux和windows下相同的随机种子在这两种 操作系统中生成的随机数是不同的,这说明它们的计算方法不同。)
这个记数器的值就存在内存的0040:006CH处,其实这一段内存空间是这样定义的: TIMER_LOW DW ? ;地址为 0040:006CH TIMER_HIGH DW ? ;地址为 0040:006EH TIMER_OFT DB ? ;地址为 0040:0070H
时钟中断服务程序中,每当TIMER_LOW转满时,此时记数器也会转满,记数器的 值归零,即TIMER_LOW处的16位二进制归零,而TIMER_HIGH加1。
(2)不可预测性
不可预测性是指即使给出的产生序列的硬件和所有以前产生序列的全部知

序列密码

序列密码


n −1 j=0
a( x) k (x) = * f ( x)
j
(∑ cn−l k j−l ) x
l=0
j
2011-3-29
20
特征多项式
* i l 证: k ( x ) f ( x ) = ( ∑ k i x )( ∑ c n − l x ) i=0 l =0 ∞ min( j , n ) l =0 ∞ n

• 同相自相关函数 的倍数, 时为, )=1 当j为p的倍数,即pj时为,R(j)=1; • 异相自相关函数 不是p的倍数时 当j不是 的倍数时 不是
2011-3-29 7
例 2- 2
二元序列111001011100101110010… 二元序列111001011100101110010… 周期p 周期p=7 同相自相关函数R )=1 同相自相关函数R(j)=1 异相自相关函数R )=- 异相自相关函数R(j)=-1/7。
2011-3-29
22
多项式的周期
• 多项式f(x)的周期p为使f(x)除尽xn-1的最小整数n的取 多项式f(x)的周期 为使f(x)除尽 的周期p 除尽x 的最小整数n 值。 • 序列的周期与生成序列特征多项式的周期密切相关。 序列的周期与生成序列特征多项式的周期密切相关。 引理3 引理3-2: 令f(x)为n次式,周期为p,令{ki}i≥0∈Ω(f),则{ki}i≥0的 次式,周期为p 周期p 周期p’p。
C3 决定了密码的强度 , 是序列密码理论的核心 。 它 决定了密码的强度,是序列密码理论的核心。 包含了序列密码要研究的许多主要问题, 包含了序列密码要研究的许多主要问题,如线性复杂度 相关免疫性、不可预测性等等。 、相关免疫性、不可预测性等等。

序列密码

序列密码

序列密码内容提要(或本章引言)使用流密码对某一消息m执行加密操作时一般是先将m分成连续的符号(一般为比特串),m=m1m2m3……;然后使用密钥流k=k1k2k3……中的第i 个元素k i对明文消息的第i个元素m i执行加密变换,i=1,2,3,……;所有的加密输出连接在一起就构成了对m执行加密后的密文。

序列密码以其易于实现、加解密快速、无错误传播、应用协议简单等优点,在政府、军事、外交等重要部门的保密通信以及各种移动通信系统中被广泛使用。

本章重点♦一次一密加密体制;♦线性反馈移位寄存器;♦基于线性反馈移位寄存器的伪随机序列生成器;♦伪随机序列的安全性;♦m序列;♦RC4、A5算法。

2.1 概述 (2级标题)按照对明文消息加密方式的不同,对称密码体制一般可以分为两类:分组密码(block cipher)和流密码(stream cipher)z分组密码:对于某一消息m,使用分组密码对其执行加密操作时一般是先对m进行填充得到一个长度是固定分组长度s的整数倍的明文串M;然后将M划分成一个个长度为s的分组;最后对每个分组使用同一个密钥执行加密变换。

z流密码(也称序列密码):使用流密码对某一消息m执行加密操作时一般是先将m分成连续的符号(一般为比特串),m=m1m2m3……;然后使用密钥流k=k1k2k3……中的第i个元素k i对明文消息的第i个元素m i执行加密变换,i=1,2,3,……;所有的加密输出连接在一起就构成了对m执行加密后的密文。

与分组密码相比,序列密码受政治的影响很大,目前应用领域主要还是在军事、外交等部门。

虽然也有公开设计和研究成果发表,但作为密码学的一个分支,流密码的大多设计与分析成果还是保密的。

目前可以公开见到、较有影响的流密码方案包括A5、SEAL、RC4、PIKE等。

本章主要讨论流密码加密体制,关于分组密码的知识将在下一章给出。

容易想到,使用流密码对消息m执行加密时,最简单的做法就是让密钥流中的第i个比特与明文串中的对应比特直接做XOR运算,即图2-1 简单的流密码加密结构对应的解密运算即为:图2-2 简单的流密码解密结构由于实现XOR逻辑运算非常简单,因此这样的加解密操作将是快速有效的。

第四讲序列密码体制解析PPT课件

第四讲序列密码体制解析PPT课件
为了使密钥流生成器输出的二元序列尽可能复杂应保证其周期尽可能大线性复杂度和不可预测性尽可能高因此常使用多个lfsr来构造二元序列称每个lfsr的输出序列为驱动序列显然密钥流生成器输出序列的周期不大于各驱动序列周期的乘积因此提高输出序列的线性复杂度应从极大化其周期开始
第四讲 序列密码
知识点:
◇ 密码学中的随机数 ◇ 序列密码的概念 ◇ 线性反馈移位寄存器 ◇ 非线性序列简介 ◇ 常用序列密码 ◇ 序列密码的应用
每一存储器称为移位寄存器的一级,在任一时刻,这些级的内容 构成该反馈移位寄存器的状态,每一状态对应于GF(2)上的一个n维 向量,共有2n种可能的状态。
每一时刻的状态可用n长序列“a1,a2,…,an ”n维向量“(a1,a2,…,an)” 来表示,其中ai是第i级存储器的内容。
初始状态由用户确定,当第i个移位时钟脉冲到来时,每一级存 储器ai都将其内容向下一级ai-1传递,并计算f(a1,a2,…,an)作为下一时 刻的an。
4.1.4 伪随机数的评价标准
(1)看起来是随机的,表明它可以通过所有随机性统计检验。 现在的许多统计测试。它们采用了各种形式,但共同思路是它们
全都以统计方式检查来自发生器的数据流,尝试发现数据是否是随 机的。
确 保 数 据 流 随 机 性 的 最 广 为 人 知 的 测 试 套 件 就 是 George Marsaglia 的 DIEHARD 软件包(请参阅 pub/diehard/)。另一个 适合此类测试的合理软件包是 pLab(请参阅)。
加密: C i =mi⊕K i 在解密端,密文流与完全相同的密钥流异或运算恢复出明文流。
解密: m i =C i⊕K i 显然,mi⊕K i⊕K i =m i
序列密码一般模型
  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
相关文档
最新文档