917820-密码学-第三章 序列密码 3.2 m序列特性
密码学与网络安全_第三章传统对称密钥密码

解密:
C= zebbw
k=7, 7 =15 mod 26
-1
25 = z 4=e 1=b 22 = w
(25-2)×15 = 7 mod 26 ( 4-2 )×15 = 4 mod26 ( 1-2)×15 = 11 mod26 (22-1)×15= 14 mod26
H=07 E=04 L=11 O=14
4.选择明文攻击(Chosen-ciphertext Attack)。
选择明文攻击和已知明文攻击相似,不过明文 / 密文对是 由破译者自己选择的。 5.统计攻击(statistical attack)。 破译者找出密文中使用最多的字母,并假设相关明文的 字母是 E ,找出几对后,破译者就可以找到密钥并运用 密钥来解密信息。 6.模式攻击(pattern attack)。 有些密码将语言特征隐藏起来,但可能在密文忠创建一 些模式,破译者可能会采用模式攻击来攻击这些模式来 破译密文。
破译者只知加密算法、待破译的密文。破译者只能 得到用同一加密算法加密的消息的密文。 2.蛮力攻击(brute-force method) 破译者知道算法和密钥域,运用拦截密码的放大, 采用所有可能的密钥对密文进行解密,知道明文被 搞清楚。 3.已知明文攻击(Known-Plaintext Attack) 破译者已知:加密算法和经密钥加密形成的一个或多 个明文 — 密文对,即可以知道一定数量的密文和对 应的明文。
埃尼格玛之父谢尔比乌斯却未能看到埃尼格玛被广泛使用并对第二次世界大战所产生的重大影响他于1929年5月因骑马时发生意外伤重而死enigma密码机的构造装有26个灯泡的灯板加密时显示密文字符解密时显示明文字符3个转轮每天从5个转轮中选出
第三章 传统对称密钥密码
§3.1 导言
现代密码学之03序列密码

(1)以种子密钥为移存器的初态,按照确定的递推关 系,产生周期长、统计特性好的初始乱源序列。
(2)继而利用非线性函数、有记忆变换、采样变换等 手段,产生抗破译能力强的乱数序列。
在序列密码设计中,大多使用周期达到最大的那些 序列,包括:
(1)二元域GF(2)上的线性递归序列 (2)2n元域GF(2n)上的线性递归序列 (3)剩余类环Z/(2n)上的线性递归序列 (4)非线性递归序列
3.2.2 线性反馈移存器(LFSR)简介
c0=1
c1
c2 …
…
x1
x2
am-1
am-2
cn-2 xn-1
cn-1
cn
xn am-n
一、当ci=1时,开关闭合,否则断开;c0=1表示总有 反馈;一般cn=1,否则退化。
二、反馈逻辑函数
f(x1, x2, …, xn)=c1x1+c2x2+…+cnxn 三、线性递推式
= c0am+c1Dam+c2D2am+…+cnDnam) = (c0+c1D+c2D2+…+cnDn)am 因此反馈多项式(也称特征多项式)为:
g(x)= c0+c1x+c2x2+…+cnxn
五、状态转移矩阵
给定两个相邻状态:
则有
Sm=(am+n-1,…,am+1,am) Sm+1=(am+n,…,am+2,am+1)
管理问题!
因而人们设想使用少量的真随机数(种子密钥) 按一定的固定规则生成的“伪随机”的密钥序 列代替真正的随机序列ki,这就产生了序列密 码。
密码学(范明钰)3.2-序列密码

K
K
安全信道
……
滚动密钥生成器
zi
xi
yi……滚动密钥生器ziyixi
同步序列密码
一次一密密码是加法序列密码的原型。事实上,如 果密钥使用滚动密钥流,则加法序列密码就退化成 一次一密密码。
实际使用中,密码设计者的最大愿望是设计出的滚 动密钥生成器,使得密钥经其扩展成的密钥流序列 具有如下性质:极大的周期、良好的统计特性、抗 线性分析、抗统计分析
基本概念
分组密码与序列密码的区别在于有无记忆性 序列密码的滚动密钥z0=f(k,σ0)由函数f、密钥k和指
定的初态σ0完全确定。此后,由于输入加密器的明文 可能影响加密器中内部记忆元件的存储状态,因而 σi(i>0)可能依赖于k,σ0,x0,x1,…,xi-1等参数。
同步序列密码
根据加密器中记忆元件的存储状态σi是否依赖 于输入的明(或密)文字符,序列密码可进一 步分成同步和自同步两种。
和σi产生的函数。
9
基本概念
序列密码将明文消息 M连续地分成字符
bit,并用密钥流来 加密每个字符bit
基本上,序列密码体
制只使用混乱技术,
而不使用散布技术。 这使得这种体制没有
错误扩散
基本情况
序列密码有广泛的理论基础,对于其各种设计原则已经 进行了详尽的分析。然而在公开的文献中详尽的序列密 码系统却相对较少 造成这种状况的部分原因是,在实际中使用的大部分序 列密码归私人所有或需要保密。相比之下,大量的分组 密码建议已经出版,其中的一些已经被标准化或公开
却希望它的输出(密钥序列k)对不知情的人来 说象是随机的。 到底该从哪些角度把握随机性等,才使所设计出 来的KG能够具有我们需要的安全程度?
第三章 密码学基础与应用

仅以加密密钥的保密为基础;
编辑版pppt
28
▪ 必须适合不同的用户和不同的应用场合; ▪ 实现算法的电子器件必须很经济,运行有
效; ▪ 必须能够出口。 1975年,IBM提出的算法被采纳,并向全国公 布,征求意见。1977年1月15日,美国国家标 准局正式采用这个算法作为数据加密标准(
换位密码(置换密码)(三)
▪ 引入密钥k,如k=COMPUTER,明文为: WHAT CAN YOU LEARN FROM THIS BOOK
密钥 C O M P U T E R 顺序号 1 4 3 5 8 7 2 6
WH A T C A N Y 明 OU L E AR N F 文 ROM T H I S B
▪ 换位密码(transposition cipher) ,又称置 换密码(permutation cipher):明文的字母 保持相同,但顺序被打乱了。
编辑版pppt
23
代替密码
▪简单代替密码(单字母密码):明文的一 个字符用相应的一个密文字符代替。如恺 撒密码(密钥为3)。 ▪多名码代替密码:明文的一个字符可以映 射成密文的几个字符之一。 ▪字母代替密码:组成加密字符块。 ▪多表代替密码:由多个简单的代替密码构 成。如滚动密钥密码。
就是加密密钥和解密密钥相同,或实质上 等
同,即从一个易于推出另一个。又称秘密 密
钥算法或单密钥算法。
▪非对称密钥算法(asymmetric cipher)
编辑版pppt
7
3.2 古典密码学
▪ 密码技术是信息安全的核心技术。 ▪ 密码技术要求很高的数学基础:群和域的理论、
序列密码

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

反馈多项式的含义
一个r级线性移存器的线性递推式表示为:
a n c 1 a n 1 c 2 a n 2 c r a n r( n r )
引进迟延算子D:D k a k 1 ,D ia k a k i,D 0 I 递推式可改写为:c 0 In a c 1 D n c 2 a D 2 a n c r D r a n 0 即:( c 0 c 1 D c 2 D 2 c r D r) a n 0c0 1
8
序列和周期
一般地,一个移存器序列表示为:aa0a1a2ai
• 对于序列 aa0a1a2,ai若存在整数p使得对任 意正整数k有ak akp 成立,称满足该式的最小 正整数p为序列的周期。
r级线性反馈移存器的最长周期: 2r 1 ,能达 到最长周期的线性移存器序列称为m序列。
• 在密码学中,我们希望参与变换的序列周期越 长越好,因此对线性反馈移存器我们更感兴趣 的是能达到最长周期的序列,即m序列。
特例:当q=2时,G(f)中任意两个序列之和仍然 属于G(f)。
5
(不)可约多项式
(不)可约多项式 定义:若存在g(x),h(x),使得f(x)=g(x)h(x),则
称f(x)是可约多项式;否则,称其为不可约多 项式。
6
定理2:若f(x)|h(x),则G(f) G(h).
例1:联结多项式为
将上式中的D用符号x代替,引入多项式:
f(x ) c rx r c r 1 x r 1 c 1 x 1
从而有:f(D )an0,(nr) 那么对于序列a, f (D)a0
18
14
二、m序列特性
(二)移加特性
L(t)(a)是左移变换,就是将序列 a 左移t位所得 到的序列。
第17讲--m序列与BM算法(密码学)

8
线性移位寄存器的综合问题可表述为:给定一个N长 二元序列a,如何求出产生这一序列的最小级数的线性移 位寄存器,即最短的线性移存器?
几点说明:
1、反馈多项式f(x)的次数l。因为产生a且级数最小的线性
移位寄存器可能是退化的,在这种情况下 f(x)的次数<l;并且此 时 f(x)中的cl=0,因此在反馈多项式f(x)中c0=1,但不要求cl=1。
2r 2
2r 1,
t 0
C(t) (ai )(ait )
i0
1,
0 t 2r 1
6
(二)、B-M迭代算法
根据密码学的需要,对线性反馈移位寄存器 (LFSR)主要考虑下面两个问题:
(1)如何利用级数尽可能短的LFSR产生周期大、随 机性能良好的序列,即固定级数时,什么样的移存器 序列周期最长。这是从密钥生成角度考虑,用最小的代价
则最后得到的
就是产生给fN定(x)N,l长N 二元序列a的
最短的线性移位寄存器。
10
3、B-M算法 任意给定一个N长序列a (a0., a1, , aN1),按n归纳定义
fn (x),ln n 0, 1, 2, , N 1
1、取初始值: f0 (x) 1, l0 0
2、设 f0(x),l0 , f1(x),l1 , , fn (x),ln (0 n N)
3
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 个长度
为k(1 k r 2) 的0游程。
5-序列密码

我国的密码分级
前三种国家密码局统一管理。
核心密码:保护党、政、军的核心机密 涉密网 普通密码:保护国家和事企业单位秘密信息 非涉密网商用密码:保护国家和事企业单位敏感信息 个人密码:保护个人隐私
我国商用密码政策: 统一领导、集中管理、定点研制、专控经营、 满足使用。
无线局域网产品使用的SMS4密码算法,是国内官方公布的第 一个商用密码算法。
b2 b1
…
反馈函数f
n位寄存器中的初始值称为移位寄存器的初态。 反馈函数f:n个变元的布尔函数。 bn,bn-1,…,b2,b1取值{0,1}
f(bn,bn-1,…,b2,b1)
f也取值{0,1}
例:3级LFSR
f(x)=b3+b1
3 2 1
第0时刻 第1时刻 第2时刻 第3时刻 第4时刻 第5时刻 第6时刻 第7时刻
官方公布商用密码
国家密码管理局公告(第 7 号) 2006.1.6
无线局域网产品须采用下列经批准的密码算法: 1、对称密码算法:SMS4; 2、签名算法:ECDSA; 3、密钥协商算法:ECDH; 4、杂凑算法:SHA-256; 5、随机数生成算法:自行选择。
其中,ECDSA和ECDH密码算法须采用我局指定 的椭圆曲线和参数。
理论上能产生周期为2n-1的伪随机序列
b3 b2 b1
初态:100
b3 b2 b1
反馈函数f
反馈函数f
m序列
m序列有良好的随机性,50年 代作为密钥序列用于军用,60 年代发现不安全。
若一个n阶的LFSR的输出序列周期为2n-1,则称 该序列为m序列。
f a 4 a1
本原多项式
f ( x) x x 1
6,m序列特性

《密码学》课程多媒体课件 密码学》
(一)解方程法
已知序列a是由 级线性移存器产生的 且知a 已知序列 是由r级线性移存器产生的,且知 是由 级线性移存器产生的, 的连续2 位 的连续2r位,可用解线性方程组的方法得到线性递 推式。 推式。
《密码学》课程多媒体课件 密码学》
=01111000是 级线性移存器产生的序列的8 例:设a=01111000是4级线性移存器产生的序列的8 =01111000 个连续信号,求该移存器的线性递推式。 个连续信号,求该移存器的线性递推式。
1
2
3
0 1 1 1 0 1 0 0
0 0 1 1 1 0 1 0
1 0 0 1 1 1 0 1
产生序列为: 产生序列为:1001110……
《密码学》课程多媒体课件 密码学》
2、游程分布 、 性质2: 级 序列的一个周期中 序列的一个周期中, 性质 :在r级m序列的一个周期中, 游程有1个 (1)长度为 的1游程有 个; )长度为r的 游程有 (2)长度为 的0游程有 个; 游程有1个 )长度为r-1的 游程有 (3)长度为 k (1 ≤ k ≤ r − 2) 的0、1游程各有 2r −2−k 个; ) 、 游程各有 游程各占一半。 (4)游程总数为 2r −1 个,且0、1游程各占一半。 ) 、 游程各占一半
分析:序列信号必满足递推式所确定的关系,要得到4 分析:序列信号必满足递推式所确定的关系,要得到4级 移存器的递推式,只须确定4个系数即可,利用已知的8 移存器的递推式,只须确定4个系数即可,利用已知的8 个信号,恰好得到4个方程,解方程组即可求解。 个信号,恰好得到4个方程,解方程组即可求解。
《密码学》课程多媒体课件 密码学》
《密码学》课程多媒体课件 密码学》
序列密码三

二、B-M算法与序列的线性复杂度
1、B-M算法解决的问题 给定序列能否找到阶数尽可能小的线性移位寄存器来生成。
具体的:设 a = ( a 0 a1 a 2 L )是长度为 N 的序列,
N
f N ( x )是一个能生成 a N 并且阶数最小的线性移 位寄存器的联系多项式, l N 是该线性移位寄存 器的阶数,( f N ( x ), l N )为 a N 的线性综合解。 BM 算法就是来求这一个线性综合解。
2、B-M算法
它是一个迭代算法,先算出 a n的综合解 , 再算出 a n +1的综合解,直到算出 a ( N )的综合解 , 具体如下:
1)设 n0 是满足 a 0 = a1 = L = a n0 −1 = 0, 而 a n0 ≠ 0的非 负整数。取 d 0 = d1 = L = d n0 −1 = 0, d n0 = a n0 f1 ( x ) = f 2 ( x ) = L f n0 ( x ) = 1, f n0 +1 ( x ) = 1 − d n0 x n0 +1 l1 = l2 = L = ln0 = 0, ln0 +1 = n0 + 1
5、 f ( x ) ∈ Fq [ x ]并且常数项为1,次数为 n ,则任意非零序列 a ∞ ∈ G(f )都是 m序列的充要条件 f(x )是本原多项式。
m序列的特性? 周期性
如 何 由 m序 列 求 出 f ( x )
一、m序列的伪随机性
1、GF(2)上的随机序列的一般特性
设ξ ∞ = (ξ 0 , ξ1 ,L)是GF(2)上的随机序列,则具有以下特性:
长为n的1游程有1个,因为一个周期中有状态11…11(n个) 但不会有n+1个1在一起,那样会出现两个全1状态,矛 盾。所以这n个1的前后都是0,从而是一个长为n的1游 程。形如: 011…110
m序列特征多项式

m序列特征多项式M序列特征多项式是线性反馈移位寄存器(LFSR)生成的一种特殊的伪随机数序列的关键描述工具。
这个多项式是一个关于变量x 的数学表达式,其系数是二进制数,即仅为0或1。
特征多项式在密码学、通信系统和许多其他领域中具有广泛的应用,因为它提供了一种有效的方式来描述和生成具有特定性质的序列。
M序列特征多项式的基本性质1.不可约性:M序列的特征多项式是一个不可约多项式,这意味着它不能被分解为两个或更多个非常数多项式的乘积。
这一性质对于确保生成的序列具有最大周期长度(即2^n-1,其中n是LFSR的位数)至关重要。
2.本原性:与不可约性紧密相关的是本原性。
一个多项式是本原的,如果它的一个根(在扩展的二元域中)具有最大的可能阶数。
对于M序列,这意味着特征多项式的根必须是本原元素,从而确保生成的序列具有所需的周期性。
特征多项式与LFSR的关系特征多项式直接决定了LFSR的结构和操作。
LFSR由一系列存储单元(通常是位)组成,这些单元的内容在每个时钟周期根据特定的反馈函数进行更新。
这个反馈函数正是由特征多项式定义的。
•反馈系数:特征多项式的系数对应于LFSR中的反馈路径。
具体来说,如果一个特征多项式具有形式f(x) = x^n + a_{n-1}x^{n-1} + ... + a_1x + a_0,那么a_i(i从0到n-1)就是LFSR中从第i个存储单元到反馈逻辑的系数。
如果a_i为1,则存在从该单元到反馈的连接;如果为0,则没有。
•初始状态:除了特征多项式外,LFSR的初始状态(即开始生成序列前存储单元的内容)也是重要的。
不同的初始状态可能导致不同的M序列,尽管它们都具有相同的周期和统计特性。
特征多项式的选择选择适当的特征多项式是设计基于LFSR的系统的关键步骤。
多项式的选择必须满足特定的标准,包括不可约性和本原性,以确保生成的序列具有所需的性质。
随机性:尽管M序列是伪随机的(因为它们是由确定性算法生成的),但它们被设计成在许多方面类似于真正的随机序列。
序列密码

序列密码内容提要(或本章引言)使用流密码对某一消息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逻辑运算非常简单,因此这样的加解密操作将是快速有效的。
序列密码 3.2 m序列特性

3.2
设本原多项式 设初态为0001
m序列特性
f ( x) x 4 x 3 1
0001, 1000, 0100, 0010, 1001, 1100, 0110, 1011,
0101, 1010, 1101, 1110, 1111, 0111, 0011, 0001 该移存器产生的是4级m序列100010011010111…… 及一个全零序列,序列的周期是15,除了零状态以 外每一个状态恰好出现一次。
一些对应明文为: m0m1m2m3m4=01001,m6m7= 01, m9=1 k0k1k2k3k4=10111,k6k7= 11,k9=0
3.2
m序列特性
利用游程特性分析:10111*11*0
0
0
得到长为10的密钥序列:1011101.2
六 随机性的描述
列的线性复杂度仅为log(N+1),由此可知,m
序列的线性复杂度与随机序列的复杂度要求还有
很大的差别,尽管m 序列具有很好的伪随机性,
但是m序列不能直接当密钥序列来使用。
3.2
m序列特性
在密码学中,我们总是希望密钥序列不能用一个 可实现长度的线性移存器来产生,就是要求密钥序 列的线性复杂度不能太小。 以 m 序列为初始乱源,对其进行一系列有针对 性的变换,最终得到密码学性质好的密钥序列。要 达到此目标,还需要一些具体可行的编码环节。
m序列特性
性质3(2):若 a 和 b 是由r 次本原多项式g(x)产生
b L(t ) (a) 。 的两条m序列,则存在正整数t,使得
证明思路: 个不同的初态产生的m序列的集合(由g(x)产生) 2r 1 =将 a 平移 2r 1 次产生的m序列组成的集合。
密码学3 序列密码

仿射加密
加密: c (am b) mod26 解密: m a1(c b) mod 26
0 m,c 25
2020/1/27
3
3. 多表代换密码
Playfair密码
将明文字母按照两个字母一组分组,然后将这 些组按照字母矩阵替换为密文字母组合。基于 一个5×5字母矩阵.
m1
,
m2
,md
kd1 kd 2 kdd
解密:
k11 k12 k1d 1
m1
,
m2
,
,
md
c1
,
c2
,
cd
kd1 kd 2 kdd
2020/1/27
5
第3章 序列密码
重点: 掌握LFSR的使用。 熟悉RC4加密算法。 学时:4-6学时
2020/1/27
24
二 特征多项式
设n级线性移位寄存器的输出序列{ai}满足递 推关系
an+k=c1an+k-1 c2an+k-2 … cnak 其中ci=0或1。 这种递推关系可用一个一元高次多项式 P(x)=1+c1x+…+cn-1xn-1+cnxn 表示,称这个多项式为LFSR的特征多项式。
2020/1/27
14
一、同步流密码
优点: 容易检测出是否有插入、删除等主动攻击。 如果密文中只有某个字符产生了错误(不是
插入或删除),只影响此字符的解密,不影 响其他字符,即无错误传播。
2020/1/27
15
【密码学】序列密码

【密码学】序列密码序列密码就是对密⽂进⾏逐⼀的加密或者解密和分组密码⽐起来,分组密码是⼀组⼀组加密,序列密码就是逐个加密序列密码的安全性能主要取决于密钥流或者密钥流产⽣器的特性。
优点:实现简单、加密和解密速度快、安全性能较好、没有或少有差错传播序列密码的基本结构1.同步序列密码 同步序列密码的原理: 种⼦密钥k经过由安全信道传送给收、发双⽅后,由密钥流产⽣器⽣成加密和解密所需要的密钥流,⽽加、解密本⾝就是简单的模2加法运算。
同步序列密码的特点: ①密钥流仅仅依赖于种⼦密钥和密钥流产⽣器的结构,⽽与明⽂流(或密⽂流)⽆关。
②如果密钥流完全随机产⽣且长度⾄少和明⽂流⼀样长,则可实现绝对安全的“⼀次⼀密”。
但实际上,这很难做到。
③⽆差错传播。
因为密钥流独⽴于密⽂流,所以⼀个密⽂的传输错误不会影响下⼀个密⽂的解密。
④为了保障接收端能够正确解密,要求收、发双⽅必须严格同步。
2.⾃同步序列密码 ⾃同步序列密码的简介: 与同步序列密码需要收、发双⽅严格同步不同,⾃同步序列密码能够依靠⾃⾝的能⼒“⾃动地”实现收、发双⽅的同步,因⽽是⼀种不需要外部同步的序列密码系统。
⾃同步序列密码的特点: ①密钥流不仅依赖于种⼦密钥和密钥流产⽣器的结构,还与密⽂流(或明⽂流)有关。
初始向量IV在这⾥相当于初始密⽂的作⽤,要求收、发双⽅必须相同。
②⾃同步。
解密只取决于先前特定数量的密⽂字符,因此,即使出现删除、插⼊等⾮法攻击,收⽅最终都能够⾃动重建同步解密,因⽽收、发双⽅不再需要外部同步。
③有差错传播。
因为密钥流与密⽂流有关,所以⼀个密⽂的传输错误会影响下⾯有限个密⽂的解密。
密钥流产⽣器密钥流产⽣器是决定序列密码安全性能的主要因素,因⽽线性反馈寄存器是密钥流产⽣器最基本也是最重要的部件。
1.线性反馈移位寄存器定义:如果将移位寄存器的某些级的输出通过异或(模2加)运算函数运算后反馈回它的第⼀级输⼊端,便构成了线性反馈移位寄存器。
上海交大密码学课件--第二讲:序列密码

例4. 如图为一种4级LFSR,其联接多项 式为 x4 x3 x2 x 1
如取初始状态为(a1, a2, a3, a4)=(1,1,1,1)其状态转移图为:
输出序列为10001 10001……,周期为5。
如取初始状态为(a1, a2, a3, a4)=(0,0,0,1),其状态转移图为:
k j f (a1 j,a2 j ,...., anj )
钟控生成器
基本思想是:用一种或多种移位寄存器来控制另一种或多种移位寄存器 旳时钟,这么旳序列生成器叫做钟控生成器(clock-controlled generator), 也叫停走生成器(stop and go generator),最终旳输出被称为钟控序列, 基本模型如图所示。
反馈移位寄存器
线性反馈移位寄存器 假如反馈函数形如 :
f (a1, a2 ,..., an ) cna1 cn1a2 ... c1an
ci 0,1
这里旳加法运算为模2加,乘法运算为一般乘法, 则称该反馈函数是a1, a2,…,an旳线性函数, 相应旳反馈移位寄存器称为线性反馈移位寄存器,用LFSR表达。
流密码完整构造
安全性:
流密码旳安全性完全取决于密钥旳安全等级.
实用旳流密码以少许旳、一定长度旳种子密钥经过逻 辑运算产生周期较长、可用于加解密运算旳伪随机序 列。
2.1.2同步流密码与自同步流密码
同步流密码:密钥流旳产生与明文消息流相互独立
密钥流与明文串无关,所以同步流密码中旳每个密文ci 不依赖于之 前旳明文mi-1,……,m1。从而,同步流密码旳一种主要优点就 是无错误传播:在传播期间一种密文字符被变化只影响该符号旳恢 复,不会对后继旳符号产生影响。
2.1.1 流密码简朴构造
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2 m序列特性
性质2:在r级m序列的一个周期中, (1)长度为r的1游程有1个; (2)长度为r-1的0游程有1个; (3)长度为 k(1 k r 2) 的0、1游程各有 2r2k 个; (4)游程总数为 2r1 个,且0、1游程各占一半。
长度为1的1游程数:2r3 长度为1的0游程数:2r3 长度为1的游程总数:2r2 占游程总数的1/2
密码学
第三章 序列密码
3.2 m序列特性
第三章 序列密码
➢ 移位寄存器基础 ➢ m序列特性 ➢ 序列密码编码技术 ➢ 前馈函数的设计准则 ➢ 典型序列密码算法
3.2 m序列特性
➢ m序列统计特性 ➢ m序列移加特性 ➢ m序列的还原 ➢ 随机性的描述
3.2 m序列特性
m 序列:能达到最长周期的线性移存器序列。 最长周期: 2r ,1r为移存器级数。
3.2 m序列特性
证明思路:注意到序列 a b 与原m序列平移等价 当序列a与序列b是(0,0)和(1,1)时在和序列中出现0,
序列a与序列b是(0,1)和(1,0)时在和序列中出现1,
设(1,1)对有x1; (1,0)对有x2; (0,1)对有x3; (0,0)对有x4;
x1+x2=a序列中1的个数=(p+1)/2 x1+x3=b序列中1的个数=(p+1)/2 x1+x4=a+b序列中0的个数=(p-1)/2 x3+x4=a序列中0的个数=(p-1)/2
3.2 m序列特性
三 自相关特性
定义1 设a和b是两条周期为p的二元序列,
则称函数
Ca,b
1 p
p i 1
(1)ai bi
为序列a和b的互相关系数。
定义2 设a是周期为p的二元序列,则
称函数
Ca ( )
1 p
p i 1
(1)ai ai
为周期序列a的自相关函数。
3.2 m序列特性
性质5:二元域上的r级m序列的自相关函数满足:
3.2 m序列特性
一 统计特性
1、“0、1”信号频次 性质1 :r级m序列的一个周期中,1出现 2r1 个,
0出现 2r1 1 个。
3.2 m序列特性
证明思路
初态 ar1, ar2 ,, a0
( ar1 ( ar ( ar1
ar2 a0 ) ar1 a1 ) ar a2 )
(
a2r r3
a a 2r r4
2r 2
)
状态图中含有p个状态
依次取出相应位置分量即得m序列。在统计0、 1频次时,我们可以不管其排列顺序,将状态按高 位是0、1重排,即得性质1。
3.2 m序列特性
2、游程分布
若干个信号连续出现的现象称游程。
对给定的m序列
a (a a a ) 012
若存在一段序列: 0110 两端为0中间连续k个1,称长为k的1游程。 1001 两端为1中间连续k个0,称长为k的0游程。
3.2 m序列特性
条件1: 已知m序列或m序列的若干时刻的信号, 并已知线性递推式 an c1an1 c2an2 cranr ,目的 是求解m序列的初态.
设
a
{ai
} i0
是n级m序列,S0
(ar1, ar2 ,
, a0 ) 是其
初态.现已知其线性递推式,并已知序列a在 i1,i2,,iN
3.2 m序列特性
定理:设a是周期为2n-1的m序列,k为正整数。则 (1) 当gcd(k,2n-1)=1时,序列a的k采样序列都是周
期为2n-1的m序列; (2) 当存在非负整数d:0≤d≤n,使k=2d时,序列a的
k采样序列都与序列a平移等价。 (3) 当gcd(k,2n-1)≠1时,序列a的k采样序列仍是线
推式。
3.2 m序列特性
性质3(2):若 a 和 b 是由r 次本原多项式g(x)产生 的两条m序列,则存在正整数t,使得 b L(t) (a) 。
证明思路:
2r 1个不同的初态产生的m序列的集合(由g(x)产生)
=将 a 平移 2r 1 次产生的m序列组成的集合。
3.2 m序列特性
性质4:周期为p的m序列a,左移 t (t 0 mod 2r 1) 位 得到序列b,将a与 b按位对齐, 则在一个周期段中,序列a与序列b (0,0)的对有(p-3)/4对; (1,1)的对有(p+1)/4对; (1、0)的对有(p+1)/4对; (0、1)的对有(p+1)/4对。
m序列
特 性
是否存在 弱点?
说明m序列的 优点
应用
序列密码
aiN iN S0
只要该方程组是满秩的,就可唯一地求出未知
数,从而得到序列的初态。
3.2 m序列特性
条件2: 已知r级线性递归序列的连续2r个时刻
的信号a0, a1,…, a2r-1,并已知该序列的级数r,目的是 求解该序列的线性递推式的结构参数c1, c2,…, cr.
求解方法: 将已知的后r个信号都按递推式线性由该信号
c1 c2 c3 1
(1)
c1 c2 c3 c4 0 (2)
c2 c3 c4 0
(3)
c3 c4 0
(4)
3.2 m序列特性
解方程组(1),(2),(3),(4)得
c1 0, c2 0, c3 1, c4 1
所求4级线性移存器的线性递推式为
an an3 an4
(n 4)
同理长度为2的游程占游程总数的1/4 长度为k的游程占游程总数的1/2k
3.2 m序列特性
例 如 对 4 级 m 序 列 100010011010111…… 的 一 个
周期
11 1 1 00 0
0
1
101 1 0 0
长度为4的1游程,1个;长度为4的0游程,0个;
长度为3的1游程,0个;长度为3的0游程,1个;
ቤተ መጻሕፍቲ ባይዱ
3.2 m序列特性
设本原多项式 f (x) x4 x3 1
设初态为0001
0001, 1000, 0100, 0010, 1001, 1100, 0110, 1011, 0101, 1010, 1101, 1110, 1111, 0111, 0011, 0001
该移存器产生的是4级m序列100010011010111……及 一个全零序列,序列的周期是15,除了零状态以外 每一个状态恰好出现一次。
3.2 m序列特性
利用游程特性分析:10111*11*0 00
得到长为10的密钥序列:1011101100,于是
可以还原出5级 m 序列。
3.2 m序列特性
六 随机性的描述
1、Golomb随机性假设 为了度量周期序列的随机性,Golomb提出了
下列三条标准: (1)一个周期中0、1的个数相差不超过1个; (2)一个周期段中,长度为i的游程占游程总数的
时刻的信号 ai1 , ai2 ,, aiN .目的是求解m序列的初态.
3.2 m序列特性
将状态
Si
看作行向量,由
S
T i
AS
T i 1
得到:
SiT
Ai
S
T 0
在已知 ai1 , ai2 ,, aiN 时,就可计算出向量 i1 , i2 ,, iN
ai1 ai2
i1 S0
i2 S0
在密码学中,我们总是希望密钥序列不能用一个 可实现长度的线性移存器来产生,就是要求密钥序 列的线性复杂度不能太小。
以 m 序列为初始乱源,对其进行一系列有针对性 的变换,最终得到密码学性质好的密钥序列。要达 到此目标,还需要一些具体可行的编码环节。
3.2 m序列特性
内容之间的联系
线性移存器序列
周期 最长
Ca ( )
1 (1) 2r 2
ai ai
2r 1 i0
1 1/(2r
, 1) ,
若是2r 1的倍数;
其它.
3.2 m序列特性
四 m序列的采样特性
设 a {ai}i是0 周期为2n-1的m序列,k为正整数,t 为非负整数,则称序列
a(k ,t)
{aik
t
} i0
为序列a的以t为起点的k采样序列,并称k为采 样距。
其反馈多项式为
f (x) x4 x3 1
3.2 m序列特性
已知某序列密码的加密方式为 ci mi; ki 且密钥序列由5级本原移存器产生。 今截收到一段密文为:
c0c1….c15=1111001001001101, 一些对应明文为:
m0m1m2m3m4=01001,m6m7= 01, m9=1 k0k1k2k3k4=10111,k6k7= 11,k9=0
3.2 m序列特性
例:设 a = 01111000是 4 级线性移存器产生的序列 的 8 个连续信号,求该移存器的线性递推式。
解:设该4级线性移存器的线性递推式为
an c1an1 c2an2 c3an3 c4an4
不妨设 a0a1a2a3a4a5a6a7 01111000
(n 4)
代入线性递推式
前面的r个信号表示,得到以c1, c2,…, cr为未知变量 的方程组
ar c1ar1 c2ar2
ar1 c1ar c2ar1
cr a0 cr a1
a2r 1 c1a2r 2 c2a2r 3 cr ar 1
该方程组一定是满秩的,因而由它可唯一求出c1, c2,…, cr.
长度为2的0、1游程各有1个;
长度为1的0、1游程各有2个。
3.2 m序列特性
二 移加特性
性质3(1):若 a 是由r级本原线性移存器产生的m 序列, 则 a L(t) (a) (t 0 mod 2r 1) 是与 a 平移等价 的m序列。