第四章 序列密码
第4章 序列密码体制
4.1.4 伪随机数的评价标准
(1)看起来是随机的,表明它可以通过所有随机性统计检验。 现在的许多统计测试。它们采用了各种形式,但共同思路是它们 全都以统计方式检查来自发生器的数据流,尝试发现数据是否是随 机的。 确 保 数 据 流 随 机 性 的 最 广 为 人 知 的 测 试 套 件 就 是 George Marsaglia 的 DIEHARD 软件包(请参阅 / pub/diehard/)。另一个适合此类测试的合理软件包是 pLab(请参 阅http://random.mat.sbg.ac.at/tests/)。 (2)它是不可预测的。即使给出产生序列的算法或硬件和所有以 前产生的比特流的全部知识,也不可能通过计算来预测下一个随机 比特应是什么。 (3)它不能可靠地重复产生。如果用完全同样的输入对序列产生 器操作两次将得到两个不相关的随机序列。
签名中的素数。
4.1.1 随机数的使用
序列密码的保密性完全取决于密钥的随机性。如果密钥是真正 的随机数,则这种体制在理论上就是不可破译的。但这种方式所需 的密钥量大得惊人,在实际中是不可行的。 目前一般采用伪随机序列来代替随机序列作为密钥序列,也就 是序列存在着一定的循环周期。这样序列周期的长短就成为保密性 的关键。如果周期足够长,就会有比较好的保密性。现在周期小于 1010的序列很少被采用,周期长达1050的序列也并不少见。
第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所示。
第4讲 序列密码
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
第7讲 序列密码体制
事实上,序列密码算法其安全性依赖于简单的异或运算和密钥 序列。密钥流发生器生成的看似随机的密钥流实际上是确定的,在 解密的时候能很好的将其再现。密钥流发生器输出的密钥越接近随 机,对密码分析者来说就越困难。 如果密钥流发生器每次都生成同样的密钥流的话,对攻击来说, 破译该算法就容易了。
2014-2-13
11
2.同步序列密码
密钥流 生产器
密 钥 流 Ki 明文流mi
密钥k(基于安全通道传递
密钥流 生产器
密 钥 流 Ki
加密算法E
密文流ci
解密算法D
明文流mi
同步序列密码模型
同步流密码SSC(Synchronous Stream Cipher): 内部状态 i 与明文消息无关,密钥流将独立于明文。因此, 对于明文而言,这类加密变换是无记忆的,但它是时变的;只有 保 持 两 端 精 确 同 步 才 能 正 常 工 作 ; 无 差 错 传 播 ( Error Propagation)。
目前,最为流行和实用的密钥流产生器大多基于线性反馈移位 寄存器。如下图所示,其驱动部分是一个或多个线性反馈移位寄存
器。
LFSR ……… F LFSR1 LFSR2 LFSRn …… F
zi
zi
2014-2-13
15
预备知识:
布 尔 函 数
一般地,我们把n元布尔函数定义为如下映射:
f : F2n F2
张仕斌 万武南 张金全 孙宣东编著
西安电子科技大学出版社 二00九年十二月
2014-2-13 1
第4章 序列密码体制
2014-2-13
2
知识点:
◇ 序列密码的概念 ◇ 线性反馈移位寄存器 ◇ 序列和周期
现代密码学教程
()
(7) 差分分析是一种攻击迭代密码体制的选择明文攻击方法,所以,对于 和 都有一
定的攻击效果。
()
(8) 线性分析实际上是一种已知明文攻击方法。
()
(9) 通过 类似, 也存在弱密钥,但其弱密钥数量少于 的弱密钥数。 ( )
(10) 算法是可逆的,即可以用相同的算法进行加密和解密。
()
(11) 因为 密码算法采用 结构,所以具有加解密相似的特征。 ( )
,并且
,
,
,求 。
(8) 请给出一个 完全类问题的例子。
第四章 分组密码
1.
(1)
判在分断组题密码中,分组或密钥越长意味着安全性越高,因此,在实际应用中应选用分组和
密钥都长的分组密钥算法。
()
(2) 分组密码一般采用简单的、安全性弱的加密算法进行多轮迭代运算,使得安全性增强。
一般来说,分组密码迭代轮数越多,密码分析越可困难。
计算机网络的普及和发展。
()
(5) 年后,美国数据加密标准( )的公布使密码学的研究公开,从而开创了现
代密码学的新纪元,是密码学发展史上的一次质的飞跃。
()
(6) 现代密码系统的安全性不应取决于不易改变的算法,而应取决于可随机改变的密钥。
()
(7) 能经受住选择明文攻击的密码体制就能经受住已知明文攻击。 ( )
第五章 序列密码
1(. 1)判断序题列密码(又称流密码)是属于对称密码体制。
()
(2) 序列密码的加解密钥是由种子密钥生成的,而种子密钥的长度是由需加密的明文长
度决定。
()
(3) 利用反馈移位寄存器来生成序列密码的密钥的过程中,反馈移位寄存器的初始值是
由种子密钥决定的。
密码学复习
•只要选择合适的反馈函数便可使序列的周期达到 最大值2n -1,周期达到最大值的序列称为m序列。
反馈函数:b1+b3
4.4 线性移位寄存器的一元多项式表示
设n级线性移位寄存器的输出序列{ ai } 满足递推关系 ak+n=c1 ak+n-1 c2 ak+n-2 ... cn ak,
对任何k≥1成立。将这种递推关系用一个一 元高次多项式
表4.1 三级反馈移位 寄存器的输出状态表
图4.4 一个3级反馈移位寄存器
•三级反馈移位寄存器,其初始状态为(a1,a2,a3)=(1,0,1),
•输出可由表4.1求出,其输出序列为10111011101…,周期为4。
线性反馈移位寄存器(LFSR)
如果移位寄存器的反馈函数f(a1, a2, …, an)是a1, a2, …, an的线性函数,则称之为线性 反馈移位寄存器(LFSR)。
现代密码学理论与实践05 50/28
2013-8-15
扩展欧几里德算法求逆
元素{01}是乘法单位元。对任意次数小于8 的非零二元多项式b(x),其 乘法逆元记为b-1(x),可通过下述方法找到:使用扩展欧几里德算法计 算多项式a(x)和c(x)使得 b(x)a(x)+m(x)c(x)=1 m(x) = x8 + x4 + x3 + x +1
习题
1、对于线性替代密码,设已知明码字母J(9) 对应于密文字母P(15),即9k mod 26 = 15, 试 计算密钥k以破译此密码。
答: k=9-1*15 mod 26 9-1 mod 26=3 k=3*15 mod 26=19
第四章 序列密码
4.1 序列密码的基本概念
序列密码
+ 容易验证该线性反馈移位寄存器的输出序列为 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.2线性反馈移位寄存器序列
第二节线性反馈移位寄存器序列1基本概念和性质反馈移位寄存器, 特别线性反馈移位寄存器是许多密钥序列生成器的重要部件, 这一节引进线性反馈移位寄存器的模型, 并用数学(特别是代数)工具描述线性反馈移位寄存器.2设n是正整数, n级反馈移位寄存器的模型见下图a k+n−1 a k+n−2……… a k+1a k输出f (x n,…, x2, x1)反馈函数其中f(x1,…, x n)是一逻辑函数, 即f(x1,…, x n)∈2[x1,…, x n]这里2= {0, 1}表示二元域, n≥ 1.3当f(x1,…, x n)是线性函数时, 即f(x1, x2, … , x n) =c1x1+c2x2+ … +c n x n, c i∈2,称对应的反馈移位寄存器为线性反馈移位寄存器(简称LFSR), 所产生的序列称为线性(反馈)移位寄存器序列, 简记为LFSR序列.45此时所产生的序列适合关系式a n +k = 10n i −=∑c n −i a k +i , k = 0, 1, 2, ….并称序列a = (a 0, a 1,…)为n 级线性递归序列。
线性递归序列是LFSR 序列的数学描述, 但为书写简便, 以后在称谓上我们就用LFSR 序列.定义4.1 设a是LFSR序列, 称a的次数最小的特征多项式为a的极小多项式.定理4.1 设a是LFSR序列, 则a的极小多项式是唯一的.6进一步, 设m(x)是a的极小多项式, 则f(x)是a的一a(x)|f(x).个特征多项式当且仅当ma显然, LFSR序列的极小多项式刻画了生成该序列的最短LFSR,而定理4.1进一步说明, 这样的最短LFSR是唯一的.78设f (x )是F 2上n 次多项式, a =(a 0,a 1,a 2,…)是以f (x )为特征多项式的线性递归序列, 则a 由前n 比特a 0,a 1,…,a n −1唯一确定.例如: 设f (x )=x 3+x +1, a =(0,1,1,…)是以f (x )为特征多项式的线性递归序列, 则a =(0,1,1,1,0,0,1,0,1,1,1,…).定义4.2 对于F上序列a, 若存在非负整数k和正2整数T, 使得对任意i≥k, 都有a=a i, 则称a是准周i+T期序列, 最小这样的T称为a的周期, 记为per(a); 若k=0, 则称a是(严格)周期序列.注4.1 设per(a)=T, R是正整数, 若对任意i≥k, 有a i+R=a i, 则T|R.9显然, LFSR是一种有限状态机, 因此, 由LFSR生成的序列必然是准周期的. 下面的定理表明反之也是成立的, 即所有的准周期序列都可用LFSR来生成.定理4.2 a是准周期序列当且仅当a是LFSR序列.10利用序列的极小多项式可以判断序列是否严格周期.(x)是a的极小多项定理4.3 设a是LFSR序列, ma(0)≠0.式, 则a是周期序列当且仅当ma11进一步, 序列的周期由其极小多项式的周期完全确定.定理4.4 设a是周期序列, f(x)是它的极小多项式, 则per(a)=per(f(x)).12注4.2 若a是非严格周期序列, 定理4.4也成立. 由于非周期序列总可以转化成周期序列, 并且实际中使用的序列也都是周期序列, 故后面的讨论仅针对周期序列.13推论4.1 设f(x)是F上不可约多项式, 则以f(x)为2特征多项式的非零序列a有per(a)=per(f(x)).14最后, 我们给出LFSR序列的根表示.[x]是n次无重因子多项式,f(0)≠0, 定理4.5 设f(x)∈F2F2m是f(x)的分裂域, α1,α2,…,αn∈F2m是f(x)的全部根, 则,a1,…), 存在唯对任意以f(x)为特征多项式的序列a=(a一一组β,β2,…,βn∈F2m, 使得1a k=β1α1k+β2α2k+⋅⋅⋅+βnαn k, k≥0.15反之,设β,β2,…,βn∈F2m,若1a k=β1α1k+β2α2k+⋅⋅⋅+βnαn k∈F2, k≥0,,a1,…)以f(x)为特征多项式, 且f(x)是a的极则a=(a≠0, 1≤i≤n.小多项式当且仅当βi16m-序列注意到LFSR总是将0状态转化成0状态, 因此对于一个n级LFSR, 最多可输出周期为2n−1的周期序列.定义4.3 设a是n级LFSR序列, 若per(a)=2n−1, 则称a为n级最大周期序列, 简称为n级m-序列.17由定义显然有定理4.6 设a是n级LFSR序列, 则a是n级m-序列当且仅当a的极小多项式是n次本原多项式18定理4.7 若a是以n次本原多项式f(x)为极小多项式的m-序列, 则0, a, La,…, L2n−2a是以f(x)为特征多项式的序列全体.定理4.7说明, 由同一个本原多项式生成的两条m-序列彼此平移等价. 由定理4.7, 容易证明m-序列满足以下平移可加性.19定理4.8 设a是n级m-序列, 则对于非负整数s和t, 有L s a+L t a=L k a或0, 其中0≤k≤2n−2.注4.3 实际上, 定理4.8给出的平移可加性是m-序列的特有性质, 即对于周期为T的序列a, 非负整数s和t, 若L s a+L t a=L k a或0, 0≤k≤2n−2, 则a是m-序列.20m-序列是最重要的线性反馈移位寄存器序列, 不仅是因为m-序列的周期可达到最大, 而且因为m-序列的统计特性完全满足Golomb S.W.提出的三条随机性假设.2122(1) 元素分布设a 是周期为T 的序列, 将a 的一个周期依次排列在一个圆周上, 并且使得a 0和a T −1相邻, 我们称这样的圆为a 的周期圆.23引理4.1 设a 是n 级m-序列, 0 < k ≤ n , 则F 2上任意一个k 维向量(b 1,b 2,…,b k )在 a 的一个周期圆中出现的次数N (b 1,b 2,…,b k )为N (b 1,b 2,…,b k ) = 122, (,,,)(0,0,...,0)21,.n k k n k b b b −−⎧≠⎪⎨−⎪⎩…若,否则特别地, 分别取k=1和k=n, 有推论4.2 在n级m-序列的一个周期中1出现2n−1次, 0出现2n−1−1次.推论4.3 在n级m-序列的一个周期(圆)中每个(n维)非零状态出现且仅出现1次.2425(2) 游程分布设a 是周期序列, a 在一个周期圆中形如010...01全为 和 101...10全为的项分别叫做a 的0游程和1游程. 而0游程中连续0的个数及1游程中连续1的个数称为游程长度. m -序列具有非常理想的游程分布.定理4.9 设0<k≤n−2, 在n级m-序列的一个周期圆中, 长为k的0游程和1游程各出现2n−k−2次; 长度大于n的游程不出现; 长度为n的1游程和长度为n−1的0游程各出现一次; 长度为n的0游程和长度为n−1的1游程不出现; 游程总数为2n−1.2627(3) 自相关函数m-序列的自相关函数满足二值性, 即定理4.10 设a 是n 级m -序列, 则C a (t ) = 10(1)k k t T a a k +−+=−∑=1, 0(mod 21);21,0(mod 21).n n n t t ⎧−≠−⎪⎨−≡−⎪⎩若若.线性复杂度与Berlekamp-Massey算法线性复杂度的概念是针对LFSR结构提出的, 它衡量了用LFSR来生成给定序列的最小代价. 由于特征多项式完全刻画了生成序列的LFSR, 故自然有以下定义.28定义4.4 设a是周期序列, 称序列a的极小多项式的次数为a的线性复杂度, 记为LC(a).注4.4 对于周期序列a, 显然有LC(a)≤per(a)291969年提出的Berlekamp-Massey算法[14]解决了求序列极小LFSR的问题. 对于线性复杂度为L的序列a, 该算法在已知a的连续2L比特的前提下即可还原出整条序列, 计算时间复杂度仅为O(L2).30第四章序列密码因此, 好的伪随机序列必须具有高的线性复杂度. 对于上一小节介绍的n级m-序列, 其周期为2n−1, 是n 级LFSR能输出的最大周期序列, 但n级m-序列的极小多项式是n次本原多项式, 这意味着n级m-序列的线性复杂度等于n, 则在已知2n比特的条件下, 利用Berlekamp-Massey算法可还原出长为2n−1的原序列. 可见, n级m-序列绝不可单独作为密钥流序列使用.31。
序列密码
旺旺:旺我旺:能我过能软过软考考主要内容序列密码的基本概念 序列密码的分类 线性移位寄存器序列 线性移位寄存器的输出序列求解旺旺:我能过软考序列密码的基本概念版权所有:我能过软考香农证明了“一次一密”不可破解。
用序列密码模仿“一次一密”密码。
为了安全,序列密码应使用尽可能长的密钥,但是,长密钥的存储、分配存在困难。
设计一个好的密钥序列产生算法,利用较短的种子密钥,产生长的密钥序列。
作为核心密码的主流密码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)是线性函数,则 称移位寄存器为线性移位寄存器;否则,称为非线性 移位寄存器。
应用密码学第4章序列密码体制
2021/5/9
15
第4章 序列密码体制 实际的序列密码算法其安全性依赖于简单的异或运算和
一次一密乱码本。密钥流发生器生成的看似随机的密钥流实 际上是确定的,在解密的时候能很好地将其再现。密钥流发 生器输出的密钥越接近随机,对密码分析者来说就越困难。
如果密钥流发生器每次都生成同样的密钥流的话,对攻
2021/5/9
10
第4章 序列密码体制
4.1.4 伪随机数的评价标准 如果一序列产生器是伪随机的,它应有下面的性质: (1)看起来是随机的,表明它可以通过所有随机性统计
检验。 现在有许多统计测试。它们采用了各种形式,但共同思路
是它们全都以统计方式检查来自发生器的数据流,尝试发现数 据是否是随机的。
4.2 序列密码的概念及模型
序列密码算法将明文逐位转换成密文。该算法最简单的
应用如图4-1所示。密钥流发生器(也称为滚动密钥发生器) 输出一系列比特流:K1,K2,K3,…,Ki。密钥流(也称为滚 动密钥)跟明文比特流P1,P2,P3,…,Pi,进行异或运算产 生密文比特流,即
Ci =Pi⊕K i
(4-1)
2021/5/9
2
第4章 序列密码体制
4.1.1 随机数的使用 序列密码的保密性完全取决于密钥的随机性。如果密钥
是真正的随机数,则这种体制在理论上就是不可破译的。但 这种方式所需的密钥量大得惊人,在实际中是不可行的。因 此,目前一般采用伪随机序列来代替随机序列作为密钥序列, 也就是序列存在着一定的循环周期。这样序列周期的长短就 成为保密性的关键。如果周期足够长,就会有比较好的保密 性。现在周期小于1010的序列很少被采用,周期长达1050的 序列也并不少见。
20
第4章 序列密码体制
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等价的移位寄存器——对偶移位寄存器。
序列密码(讲用)
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) 。
现代密码学知识点整理:
第一章 基本概念1. 密钥体制组成部分:明文空间,密文空间,密钥空间,加密算法,解密算法2、一个好密钥体制至少应满足的两个条件:(1)已知明文和加密密钥计算密文容易;在已知密文和解密密钥计算明文容易;(2)在不知解密密钥的情况下,不可能由密文c 推知明文3、密码分析者攻击密码体制的主要方法:(1)穷举攻击(解决方法:增大密钥量)(2)统计分析攻击(解决方法:使明文的统计特性与密文的统计特性不一样)(3)解密变换攻击(解决方法:选用足够复杂的加密算法)4、四种常见攻击(1)唯密文攻击:仅知道一些密文(2)已知明文攻击:知道一些密文和相应的明文(3)选择明文攻击:密码分析者可以选择一些明文并得到相应的密文(4)选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文【注:✍以上攻击都建立在已知算法的基础之上;✍以上攻击器攻击强度依次增加;✍密码体制的安全性取决于选用的密钥的安全性】第二章 古典密码(一)单表古典密码1、定义:明文字母对应的密文字母在密文中保持不变2、基本加密运算设q 是一个正整数,}1),gcd(|{};1,...,2,1,0{*=∈=-=q k Z k Z q Z q q q(1)加法密码✍加密算法:κκ∈∈===k X m Z Z Y X q q ;,;对任意,密文为:q k m m E c k m od )()(+== ✍密钥量:q(2)乘法密码✍加密算法:κκ∈∈===k X m Z Z Y X q q ;,;*对任意,密文为:q km m E c k m od )(==✍解密算法:q c k c D m k mod )(1-==✍密钥量:)(q ϕ(3)仿射密码✍加密算法:κκ∈=∈∈∈===),(;},,|),{(;21*2121k k k X m Z k Z k k k Z Y X q q q 对任意;密文✍解密算法:q k c k c D m k mod )()(112-==- ✍密钥量:)(q q ϕ(4)置换密码✍加密算法:κσκ∈=∈==k X m Z Z Y X q q ;,;对任意上的全体置换的集合为,密文✍密钥量:!q ✍仿射密码是置换密码的特例3.几种典型的单表古典密码体制(1)Caeser 体制:密钥k=3(2)标准字头密码体制:4.单表古典密码的统计分析(1)26个英文字母出现的频率如下:频率 约为0.12 0.06到0.09之间 约为0.04 约0.015到0.028之间小于0.01 字母 e t,a,o,i.n,s,h,r d,l c,u,m,w,f,g,y,p,b v,k,j,x,q ,z【注:出现频率最高的双字母:th ;出现频率最高的三字母:the 】(二)多表古典密码1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同2.基本加密运算(1)简单加法密码✍加密算法:κκ∈=∈====),...,(,),...,(,,11n n n n q n q n n k k k X m m m Z Z Y X 对任意设,密文:✍密钥量:n q(2)简单乘法密码✍密钥量:n q )(ϕ1.简单仿射密码✍密钥量:n n q q )(ϕ2.简单置换密码✍密钥量:n q )!((3)换位密码✍密钥量:!n(4)广义置换密码✍密钥量:)!(n q(5)广义仿射密码✍密钥量:n n r q3.几种典型的多表古典密码体制(1)Playfair 体制:✍密钥为一个5X5的矩阵✍加密步骤:a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。
第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)不可预测性
不可预测性是指即使给出的产生序列的硬件和所有以前产生序列的全部知
【生物课件】第四章 序列分析
第二步:查找ORF并将目标序列翻译成蛋白质序列
利用相应工具,如ORF Finder、Gene feature(Baylor College of Medicine)、GenLang(University of Pennsylvania)等,查找ORF并将 DNA序列翻译成蛋白质序列
第三步:在数据库中进行序列搜索
可以利用BLAST进行ORF核苷酸序列和ORF翻译的蛋白质序列搜索
第四步:进行目标序列与搜索得到的相似序列的整体列线(global alignment)
虽然第三步已进行局部列线(local alignment)分析,但整体列线有助于 进一步加深目标序列的认识
第五步:查找基因家族
进行多序列列线(multiple sequence alignment)和获得列线区段的可视信息。 可分别在AMAS(Oxford University)和BOXSHADE(ISREC,Switzerland)等服 务器上进行
色体”、基因—“同源基因”和基因组的一个片断—“同源片断”
必须指出,相似性(similarity)和同源性(homology)是两 个完全不同的概念。
相似性是指序列比对过程中用来描述检测序列和
目标序列之间相同DNA碱基或氨基酸残基顺序所占 比例的高低。相似性本身的含义,并不要求与进化起源是
否同一,与亲缘关系的远近、甚至于结构与功能有什么联系。
【生物课件】第四章 序列分析
表1 九种完整DNA序列的碱基组成
表2 人类胎儿球蛋白基因不同区段的碱基组成
二.碱基相邻频率
分析DNA序列的主要困难之一是碱基相邻的频率 不是独立的。碱基相邻的频率一般不等于单个碱基 频率的乘积
例: 鸡血红蛋白β链的RNA编码区的438个碱基
序列密码
∑
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 决定了密码的强度 , 是序列密码理论的核心 。 它 决定了密码的强度,是序列密码理论的核心。 包含了序列密码要研究的许多主要问题, 包含了序列密码要研究的许多主要问题,如线性复杂度 相关免疫性、不可预测性等等。 、相关免疫性、不可预测性等等。
应用密码学第4章序列密码体制
第4章 序列密码体制
发生器的周期必须非常长,要比密钥更换之前发生器所
能输出的位的长度还要长得多。如果其周期比明文还要短, 那么明文的不同部分将用同样的加密——这是一个严重的弱 点。如果密码分析者熟悉这样的一批明文,他就可以恢复出 密钥流,然后恢复出更多的明文。即使分析者仅有密文,他 也可以用同一密钥流加密的不同部分密文相异或得到明文跟 明文的异或。这只是一个有非常长密钥的单一异或运算罢了。 周期需要多长取决于应用。用于加密连续T1连接通信 的密钥发生器每天加密237比特。那么它的周期应该比这个 数大几个数量级,尽管密钥每天都要更换。如果周期足够长, 你仅仅需要每周甚至每月才更换密钥一次。
第4章 序列密码体制
第4章 序列密码体制
4.1 密码学中的随机数 4.2 序列密码的概念及模型 4.3 线性反馈移位寄存器 4.4 非线性序列简介
4.5 常用的序列密码 密码学中的随机数
为什么在密码学中要讨论随机数的产生?因为许多密码 系统的安全性都依赖于随机数的生成,例如DES加密算法中 的密钥,RSA加密和数字签名中的素数。所有这些方案都需 要足够长度并且要“随机”的数,即使得任何特定值被选中
第4章 序列密码体制
4.1.4 伪随机数的评价标准
如果一序列产生器是伪随机的,它应有下面的性质: (1)看起来是随机的,表明它可以通过所有随机性统计
检验。
现在有许多统计测试。它们采用了各种形式,但共同思路 是它们全都以统计方式检查来自发生器的数据流,尝试发现数
据是否是随机的。
确保数据流随机性的最广为人知的测试套件就是 GeorgeMarsaglia的DIEHARD软件包(请参阅 /pub/diehard/)。另一个适合此类测试的 合理软件包是pLab(请参阅http://random.mat.sbg.ac.at/tests/)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
反馈函数:b1+b3
反馈函数:b1+b2+b3+b4
试题
设g(x)=x^4+x^2+1,g(x)为GF(2)上的多项 式,以其为连接多项式组成线性移位寄存器。 画出逻辑框图。设法遍历其所有状态,并写出 其状态变迁及相应的输出序列。
解答
破解流密码—插入法
插入法:要求能截获密文并可在明文中插入
4.3 线性反馈移位寄存器序列
移位寄存器是序列密码产生密钥序列 的一个主要组成部分。 GF(2)上一个n级反馈移位寄存器由n个二 元存储器与一个反馈函数f(a1 a2 ... an)组 成,如图4.3所示。
图4.3 GF(2)上的n级反馈移位寄存器 •每一个存储器称为移位寄存器的一级。
•在任一时刻,这些级的内容构成该反馈移位寄存器的状态。
第四章 序列密码
4.1 序列密码的基本概念 4.2 密钥流与密钥生成器 4.3 线性反馈移位寄存器序列 4.4 线性移位寄存器的一元多项式表示 4.5 随机性概念与M序列的伪随机性
4.1 序列密码的基本概念
序列密码的加密和解密就是用一个 随机序列与明文序列叠加产生密文,用 同一个随机序列与密文序列叠加来恢复 明文。 若设明文为m,密钥为k,加密后的 密文为c,则加密变换为:c=m k,解 密变换:m=c k,其中m,k,c是0、1 随机序列,表示模2加法运算。
(2)良好的统计特性。随机序列有均匀 的游程分布。游程指序列中相同符号的连 续段,其前后均为异种符号。
如 ……0 111 0000 10…… 中3个段分别为长为3的1游程、长为4的0游程、长为1 的1游程。 一般要求其在一周期内满足:同样长度的0游程和1游程 的个数相等,或近似相等。
(3)不能用级数较小的线性移位寄存器近 似代替,即要有很高的线性复杂度。
图4.6 一个5级线性反馈移位寄存器
f(a1, a2, …, a5)=a1 a4
•在线性反馈移位寄存器中总是假定c1, c2, …, cn中至少有一个不为0
•否则f(a1, a2, …, an)=0,这样的话,在n个 脉冲后状态必然是00…0,且这个状态必将一 直持续下去。
• n级线性反馈移位寄存器最多有2n个不同的状态。
每一级存储器ai都将其内容向下一级ai-1传递, 并根据存储器当前状态计算f(a1, a2, a3, …, an) 作为an下一时间的内容。
函f(a1, a2, a3, …, an)称为反馈函数,其中 f(a1,a2,a3,…, an)是n元布尔函数,即n个变元 a1, a2, a3, …, an可以独立地取0和1这两个可 能的值.最后的函数值也为0或1。
表4.1 三级反馈移位 寄存器的输出状态表
图4.4 一个3级反馈移位寄存器
•这个反馈移位寄存器的状态对应于一个GF(2)上的 n维向量, 共有2n种可能的状态。
•每一时刻的状态可用n长序列a1, a2, a3, …, an或n维行向量
(a1, a2, a3, …, an)表示,其中ai是第i级存储器的内容。
•若其初始状态非0,则其后继状态不会为0。 •因此n级线性反馈移位寄存器的状态周期≤2n -1。 •其输出序列的周期与状态周期相等,也≤2n -1 。
•只要选择合适的反馈函数便可使序列的周期达到 最大值2n -1,周期达到最大值的序列称为m序列。
反馈函数:b1+b3
4.4 线性移位寄存器的一元多项式表示
设n级线性移位寄存器的输出序列{ ai } 满足递推关系 ak+n=c1 ak+n-1 c2 ak+n-2 ... cn ak,
对任何k≥1成立。将这种递推关系用一个一 元高次多项式
p( x) 1 c1x cn1x cn x
n1
n
表示,称这个多项式为线性移位寄存器的联和解密
序列密码的安全性主要依赖于密钥序列 当密钥序列是均匀分布的离散无记忆信源产 生的随机序列时,相应的序列密码就是“一 次一密”密码。
4.2 密钥流与密钥生成器
一般地,序列密码中对密钥流有如下要求:
(1)极大的周期。因为随机序列是非周期的, 而按任何算法产生的序列都是周期的,因此 应要求密钥流具有尽可能大的周期。
时刻 0 1 1 0 2 0 3 1 4 1 5
状态
输出
1,0,0,1,1 0,0,1,1,0 0,1,1,0,1 1,1,0,1,0 1,0,1,0,0
0,1,0,0,1
0
反馈移位寄存器输出序列: 1001101001000010101110110001111100110…
s31
输出是一个周期序列:周期为31=25-1
线性反馈移位寄存器(LFSR)
如果移位寄存器的反馈函数f(a1, a2, …, an)是a1, a2, …, an的线性函数,则称之为线性 反馈移位寄存器(LFSR)。
此时反馈函数f可写为
f(a1, a2, …, an)=cn a1 cn−1 a2 … c1 an,
其中常数ci=0或1,是模2加法。
表4.1 三级反馈移位 寄存器的输出状态表
图4.4 一个3级反馈移位寄存器
•三级反馈移位寄存器,其初始状态为(a1,a2,a3)=(1,0,1),
•输出可由表4.1求出,其输出序列为10111011101…,周期为4。
设一个GF(2)上的5阶反馈移位寄存器: 初始状态 s0 =(1,0,0,1,1). 反馈函数 f ( x1 , x2 , x3 , x4 , x5 ) x1 x4
(4)用统计方法由密钥序列k0 k1 k2 … ki …提取密钥生成器结构或种子密钥的足 够信息在计算上是不可能的。
在密钥流生成器设计中,在考虑安全性 要求的前提下还应考虑以下两个因素: (1)密钥K易于分配、保管、更换; (2)易于实现、速度快。 目前密钥流生成器大都是基于移位寄 存器的,这种基于移位寄存器的密钥流序 列称为移位寄存器序列。