【安全课件】第14讲—序列密码

合集下载

第14讲-序列密码3

第14讲-序列密码3
m序列的定义及性质 不可约多项式及本原多项式
LFSR序列的综合:B-M算法
第六章 序列密码与移位寄存器
——伪随机序列的生成
数学与统计学学院 贾小英 2013.03
主要内容
序列密码简介
线性反馈移位寄存器序列 m序列的伪随机性
B-M 算法 线性移位寄存器的非线性组合
上 节 回 顾
定理:设
a (a 0 a1 ...a N 1 )

是GF(2)上的一个无

穷周期序列。其线性复杂度
- n个LFSR。提供供组合部分使用的周期大且
随机性良好的序列。 滤波部分。
-组合函数f。从GF(2)n到GF(2)的非线性函数。
线性移位寄存器的非线性组合 非线性组合生成器
L F S Rn
L F S Rn-1

L F S R2 L F S R1
驱动部分

非 线 性 组 合 函 数 f
密钥序列为:
LFSR
驱动部分
非线性滤波函数f
滤波部分
kt
kt 密钥序列为:(k0 , k1 ,...) 。其中, f (at , at 1 ,...at n1 )
线性移位寄存器的非线性组合 例:
密文
an
an-1

a2
a1
驱动 部分
c1
AND
c2
AND
cn 1
AND
cn
AND
滤波 部分
明文 明文:

线性移位寄存器的非线性组合 非线性滤波生成器 通过非线性地滤波一个LFSR的状态来得到一个非线性 的密钥序列。 驱动部分。
- 一个n阶LFSR。提供供滤波部分使用的周期
大且随机性良好的序列。 滤波部分。

8-序列密码

8-序列密码
极大的周期 良好的统计特性 抗线性分析 抗统计分析。
15
基于移位寄存器的流密码算法
rn rn-1 … r2 r1 bn bn-1 … b2 b1
bn bn-1 … b2
挪威政府的首席密码学家Ernst Selmer 于1965年提出了移位寄存 器理论,它是序列密码中研究随机密钥流的主要数学工具.
移位寄存器是指有n个寄存器(称为n-级移位寄存器)r1,r2,…,rn从 右到左排列,每个寄存器中能存放1位二进制数,所有寄存器中的数可以 统一向右(或向左)移动1位,称为进动1拍. 即r1的值(b1)右移1位后输出, 然后r2的值(b2)送r1 , r3的值(b3)送r2,……最后, rn的值(bn)送rn-1.
下图是一个5级线性反馈移位寄存器,其初始状 态为(a1,a2,a3,a4,a5)=(1,0,0,1,1),可求出输出序列 为1001101001000010101110110001111100110…,周 期为31。
29
序列的周期性
当一个无限序列{si}是由一个有限序列重复而成 时,这个序列是有周期的。即存在一个正整数r, 使得对所有的正整数k,有:sk+r= sk。
序列密码
1
主要内容
• 流密码(序列密码)起源 • 流密码的分类 • 线性反馈寄存器 • RC4密码算法
2
流密码的思想起源
种子密钥
密钥流生成器
k12
c12
明文
m12
加密过程
3
流密码的思想起源
种子密钥
密钥流生成器
k12
m12
密文
c12
解密过程
4
流密码的思想起源
• 设明文为m=m1m2… mi∈GF(2), i>0

第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所示。

【学习课件】第14-15讲数据加密技术(序列加密)

【学习课件】第14-15讲数据加密技术(序列加密)

• 只要选择合适的连接多项式便可使线性移位寄存
器的输出序列周期达到最大值2n –1,并称此时的
输出序列为最大长度线性移位寄存器输出序列,
简称为m序列。
ppt课件
16
二、线性移位寄存器序列密码
1、线性移位寄存器
• 仅当连接多项式g(x)为本原多项式时,其线性移
• 例如,如果通信中丢失或增加了一个密文字符,则收
方的解密将一直错误。
ppt课件
4
一、序列密码的基本概念
①同步序列密码
种子密钥k
种子密钥k
密钥序列 产生算法
密钥序列 产生算法
m1,m2, …
k1,k2,… c1,c2,…
Ci = mi⊕ki
k1,k2,… m1,m2,…
设密文失步 c = c1, c3, c4, … cn-1, cn ( c2 丢失)
• 注意:错误与失步是不同的概念!
设密文错误 c = c1, c2, c3, … cn-1, cn ( c2 错) ⊕ k= k1, k2, k3, … kn-1, kn (密钥正确)
m=m1,×, m3, …ppt课m件 n-1, mn (仅 m2 错)
6
一、序列密码的基本概念
②自同步序列密码( Self- Synchronous Stream Cipher)
• 密钥流的每一位是前面固定数量密文位的函数。军方
称为密文自动密钥
• 密钥序列产生算法与明文(密文)相关,则所产生的
密钥序列与明文(密文)相关。
• 设密钥序列产生器具有 n位存储,则加密时一位密文
错误将影响后面连续 n个密文错误。在此之后恢复正 确。
• 解密时一位密文错误也将影响后面连续 n个明文错。

序列密码算法

序列密码算法

序列密码算法随着互联网的飞速发展,信息安全问题越来越受到人们的关注。

在信息安全领域中,密码学是一门重要的学科,其研究的对象就是如何保护信息的机密性、完整性和可用性。

密码学中的一种重要技术就是密码算法,而序列密码算法就是其中的一种。

序列密码算法是一种基于序列的密码算法,它使用一个生成器生成一个伪随机序列,然后将该序列与明文进行异或操作,得到密文。

在解密时,使用相同的生成器生成相同的伪随机序列,再将密文与该序列进行异或操作,即可得到明文。

因此,序列密码算法的安全性主要依赖于伪随机序列的质量。

序列密码算法有很多种,其中最常见的是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等。

序列密码

序列密码

+ 容易验证该线性反馈移位寄存器的输出序列为 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 序列密码定义
• 香农的保密理论提出:一次一密是理论完全保密的密码体 香农的保密理论提出: 但是必须满足随机的密钥序列必须满足与明文等长。 制,但是必须满足随机的密钥序列必须满足与明文等长。 • 设想使用少量的真随机数按一定的固定规则生成“伪随机” 设想使用少量的真随机数按一定的固定规则生成“伪随机” 的密钥序列,代替真正的随机序列。这就产生了序列密码。 的密钥序列,代替真正的随机序列。这就产生了序列密码。 序列密码关键就是如何设计伪随机序列。 序列密码关键就是如何设计伪随机序列。 • 少量的真随机数,就是序列密码的密钥,也有人称为种子 少量的真随机数,就是序列密码的密钥, 密钥。 密钥。 • 序列密码的安全性基础在于如何刻画密钥序列“随机性” 序列密码的安全性基础在于如何刻画密钥序列“随机性”, 如何保障密钥序列的“随机性” 如何保障密钥序列的“随机性”不会造成加密算法在实际 中被攻破。 中被攻破。

序列密码(1)

序列密码(1)

序列密码设计思想简述序列密码是通过位方式操作,采用一次一密的加密方式,如果产生的密钥序列为随随机序列,理论上是不可破译的,但是这会造成密钥长度与明文一样长,存储和传递密钥的代价很大,所以在实际应用中很少使用。

实际的做法是根据一组密钥源和一个密钥序列产生器(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的结构信息。

序列密码与分组密码的最大不同之处在于,序列密码具有记忆性,分组密码没有记忆性。

序列密码是有状态的,与加密到第几步有很大关系,也叫状态密码,而分组密码的每个分组的加密密钥都是一样的,如果对分组密码的密钥产生加入记忆模块,那么就变成了序列密码。

序列密码(讲用)

序列密码(讲用)
输出
f(x1,x2,x3)=x1x2⊕x3 一个GF(2)上的3阶非线性反馈移位寄存器
18/32
在初始状态下,即0时刻
第3级 第2级 第1级 输出
1
0
1
f(x1,x2,x3)=x1x2⊕x3 在第一个时钟到来时
第3级 第2级 第1级
S0=(1, 0, 1)
输出
1 1 f(x1,x2,x3)=x1x2⊕x3 x1=1, x2=0, x3=1
12/32
自同步序列密码
自同步序列密码的密钥流的产生和已经产生的固定数量 的密文字符有关,即是一种有记忆变换的序列密码。如图所 示。 密钥流 生成器 密 钥 流 ki 明文流mi 加密算法E 自同步序列密码模型
13/32
密钥流 生成器 密 钥 流 ki 密文流ci 解密算法D 明文流mi
自同步序列密码的特点
输出序列满足: an+t=c1an+t-1+c2an+t-2+…+cnat,t≥0
21/32
例 设一个GF(2)上的5阶线性反馈移位寄存器如图所示,其反 馈函数为f(x1,x2,x3,x4,x5)=x1⊕x4,初始状态为S0= (1,0,0,1,1) x5 x4 x3 x2 x1 输出
+ 容易验证该线性反馈移位寄存器的输出序列为 1001101001000010101110110001111100110…, 这个线性移位寄存器序列是一个周期序列,周期为31。
2/32
容易想到,使用流密码对消息 m 执行加密时,最简单的 做法就是让密钥流中的第 i 个比特与明文串中的对应比特直 接做 XOR 运算,即
对应的解密算法为:
3/32
由于实现XOR逻辑运算非常简单, 因此这 样的加解密操作将是快速有效的。如果这里的 密钥流是完全随机的(random)、与明文相同长 度的比特串,对应的密码被称为一次一密体制 (one-time pad)。显然,此时明文串与密文串之 间就是相互独立的。 不知道密钥的攻击者即 便守候在公开信道上从而得到密文串,他也无 法获得关于明文的任何信息。事实上, Shannon曾证明了“一次一密的密码体制是不 可破解的(unbreakable)”。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

相信命运,让自己成长,慢慢的长大 。2020年12月7日星期 一1时57分52秒Monday, December 07, 2020
爱情,亲情,友情,让人无法割舍。20.12.72020年12月7日 星期一 1时57分52秒20.12.7
谢谢大家!
14
二、m序列特性
(二)移加特性
L(t)(a)是左移变换,就是将序列 a 左移t位所得 到的序列。
性质3:若 a 是由r级本原线性移存器产生的m序列, 则 a L(t) (a) (t 0 mod 2r 1) 是与 a 平移等价的m序列。 性质4:周期为p的m序列 a ,左移t (t 0 mod 2r 1) 位 得到序列 b ,将 a 与 b 按位对齐。则在一个周期 段中,序列 a 与序列 b (0,0)的有(p-3)/4对,(1, 1)、(1、0)、(0、1)的各有(p+1)/4对。
加强自身建设,增强个人的休养。2020年12月7日下 午1时57分20.12.720.12.7
精益求精,追求卓越,因为相信而伟 大。2020年12月7日星 期一下 午1时57分52秒13:57:5220.12.7
让自己更加强大,更加专业,这才能 让自己 更好。2020年12月下 午1时57分20.12.713:57December 7, 2020
2
实例(画出移存器的逻辑框图,写出相应的线性
递推式)
多项式
f (x) x4 x3 x2 1
答案: 线性递推式: at=at-4+at-3+at-2
x1
x2
x3
x4
3
非退化的移位寄存器
若反馈函数形如:f (x1, x2, , xn ) cnx1 cn1x2 c1xn
,其中 ci GF(q),1 i n ,则称其为线性反馈寄存 器;否则称其为非线性反馈移为寄存器。
12
m序列的游程分布规律
性质2:将r级m序列的一个周期段首尾相接,其游程 总数为N=2r-1;其中没有长度大于r的游程;有1个长 度为r的1游程,没有长度为r的0游程;没有长度为
r-1的1游程,有1个长度为r-1的0游程;有 2r2k个长 度为k(1 k r 2) 的1游程,有2r2k 个长度
• 在密码学中,我们希望参与变换的序列周期越 长越好,因此对线性反馈移存器我们更感兴趣 的是能达到最长周期的序列,即m序列。
9
本原多项式
若n次多项式f(x)是不可约多项式且 p(f)=qn-1,则称f(x)是GF(q)上的本原多项式。
以本原多项式为连接多项式产生的非零序 列均是m序列。
10
m序列特性
周期为3
01//01//……
周期为2
111111…..
周期为1
000000……
周期为1
7
极小多项式
定义:对于一条移位寄存器序列a,称其联 结多项式中次数最低的多项式为a的极小多 项式。
定义:满足f(x)|1-xr 的最小正整数r为f(x)的
周期,记为p(f(x)),简记为p(f)。
例子:x4+x3+x2+x+1的周期为5 (x4+x3+x2+x+1)(x+1)=x5+1
15
二、m序列特性
(三)自相关特性
若 a (a0a1a2 )是一个周期为p的0、1序列, 定义{0 1}上的映射η为:(0) 1, (1) 1 ,定义 序列 a (a0a1a2 ) 的自相关函数为
p 1
C(t) (ai )(ait ) i0
性质5:若 a (a0a1a2 ) 是一个r级m序列,那么
8
序列和周期
一般地,一个移存器序列表示为:a a0a1a2 ai • 对于序列 a a0a1a2 ,ai 若 存在整数p使得对任
意正整数k有ak ak p 成立,称满足该式的最小 正整数p为序列的周期。 r级线性反馈移存器的最长周期: 2r 1 ,能达 到最长周期的线性移存器序列称为m序列。
6
定理2:若f(x)|h(x),则G(f) G(h).
例1:联结多项式为
f(x)=x4+x3+x+1=(x+1)2(x2+x+1)
线性递推式:at=at-4+at-3+at-1 输出序列:000111//000111//…… 周期为6
011//011//……
周期为3
001//001//……
m序列的统计特性 1、 m序列的“0、1”信号的频次规律
性质1 :r级m序列的一个周期中,1出现 2r1个, 0出现 2r1 1个。
11
m序列的游程分布规律
若干个信号连续出现的现象称游程。对于序列 a,称a中形如01…10或10…01的段为一个1游 程或0游程,游程中所含1或0的个数称为该游 程的长度,如0110为一个长为2的1游程,101 为一个长为1的0游程。
2r 2
2r 1,
t0
C(t) (ai )(ait )
i0
1,
0 t 2r 1
16
习题
一、一个线性移存器如图,
(1)写出该线性移存器的线性递推式。 (2)写出该线性移存器的联接多项式。 (3)写出该线性移存器生成的序列。
1
2
3
4
二、已知 f (x) x6 x 1 是6次本原多项式,a是 f (x) 生 成的m序列, (1) a的周期是多少? (2) a在的一个周期内,0、1各出现多少次? (3) a在的一个周期内,游程分布如何?
做一枚螺丝钉,那里需要那里上。20.12.713:57:5213:57Dec -207-D ec-20
日复一日的努力只为成就美好的明天 。13:57:5213:57:5213:57Monday, December 07, 2020
安全放在第一位,防微杜渐。20.12.720.12.713:57:5213:57:52December 7, 2020
17
反馈多项式的含义
一个r级线性移存器的线性递推式表示为:
an c1an1 c2an2 cr anr (n r)
引进迟延算子D:Dak ak1, Diak aki , D0 I 递推式可改写为:c0Ian c1Dan c2D2an cr Dran 0 即:(c0 c1D c2D2 cr Dr )an 0 c0 1
将上式中的D用符号x代替,引入多项式:
f (x) cr xr cr1xr1 c1x 1
从而有:f (D)an 0, (n r) 那么对于序列a, f (D)a 0
18
生活中的辛苦阻挠不了我对生活的热 爱。20.12.720.12.7Monday, December 07, 2020
人生得意须尽欢,莫使金樽空对月。13:57:5213:57:5213:5712/7/2020 1:57:52 PM
其中 cn 0 ,若 cn 0 我们说该寄存器是退化 的,否则是非退化的。
4
移位寄存器序列空间
符号说明:G(f)表示以f(x)为联结多项式的n级线 性移位寄存器序列构成的空间
定理1:G(f)是GF(q)上的一个n维线性空间。 证明:只需证明G(f)中的任意两个序列的任意线
性组合也属于G(f)即可。即证:
这些年的努力就为了得到相应的回报 。2020年12月7日星期 一1时57分52秒13:57:527 December 2020
科学,你是国力的灵魂;同时又是社 会发展 的标志 。下午1时57分 52秒下 午1时57分13:57:5220.12.7
每天都是美好的一天,新的一天开启 。20.12.720.12.713:5713:57:5213:57:52Dec- 20线性移位寄存器量 Nhomakorabea密码研究室
王滨
2005年3月29日
1
移位寄存器序列的三种表示方法:
线性递推式(一元多项式): at+n=c1at+n-1+c2at+n-2+…+cnat ,t>=0
联结多项式: f(x)=1+c1x+c2x2+…+cnxn
状态转移矩阵: 满足:st+1=stTf 称st=(at,at+1,at+2,…,at+n-1)为n维状态
a G( f ),b G( f ), a b G( f ), , GF (q)
特例:当q=2时,G(f)中任意两个序列之和仍然 属于G(f)。
5
(不)可约多项式
(不)可约多项式 定义:若存在g(x),h(x),使得f(x)=g(x)h(x),则
称f(x)是可约多项式;否则,称其为不可约多 项式。
为k(1 k r 2) 的0游程。
13
二、m序列特性
(一)统计特性
1、“0、1”信号频次
性质1 :r级m序列的一个周期中,1出现 2r1 个, 0出现 2r1 1 个。
2、游程分布 性质2:在r级m序列的一个周期中,有1个长度为r的 1游程和1个长度为r-1的0游程;长度为 k(1 k r 2) 的1游程和0游程各有 2r2k 个。
相关文档
最新文档