第七讲:序列密码

合集下载

序列密码——精选推荐

序列密码——精选推荐

序列密码序列密码引⾔序列密码⼜称流密码,它是将明⽂串逐位地加密成密⽂字符。

并有实现简单、速度快、错误传播少等特点。

密码按加密形式可分为:分组密码序列密码密码按密钥分为:对称密码(私钥密码)⾮对称密码(公钥密码)1. 加解密算法明⽂序列:m=m1m2……mn……密钥序列:k=k1k2……kn……加密:ci=mi+ki,i=1,2,3,……解密:mi=ci+ki,i=1,2,3,……注:+模2加,0+0=0,0+1=1,1+0=1,1+1=0例 m=101110011,c=m+k=111000110,m=c+k=101110011.1949年,Shannon证明了“⼀次⼀密”密码体制是绝对安全的。

如果序列密码使⽤的密钥是真正随机产⽣的,与消息流长度相同,则是“⼀次⼀密”体制。

但缺点是密钥长度要求与明⽂长度相同,现实情况中不可能实现,故现实中常采⽤较短的种⼦密钥,利⽤密钥序列⽣成器产⽣⼀个伪随机序列。

序列密码的原理分组密码与序列密码都属于对称密码,但两者有较⼤的不同:1. 分组密码将明⽂分组加密,序列密码处理的明⽂长度为1bit;2. 分组密码算法的关键是加密算法,序列密码算法的关键是密钥序列⽣成器。

3. 序列密码分类同步序列密码密钥序列的产⽣仅由密钥源及密钥序列⽣成器决定,与明⽂消息和密⽂消息⽆关,称为同步序列密码。

缺点:如果传输过程中密⽂位被插⼊或删除,则接收⽅与放送⽅之间产⽣了失步,解密即失败。

⾃动同步序列密码密钥序列的产⽣由密钥源、密钥序列⽣成器及固定⼤⼩的以往密⽂位决定,称为⾃同步序列密码(⾮同步密码)。

优点:如果密⽂位被删除或插⼊时,可以再失去同步⼀段时间后,⾃动重新恢复正确解密,只是⼀些固定长度的密⽂⽆法解密。

4. 密钥序列⽣成器的要求(key generation)种⼦密钥k的长度⾜够⼤,⼀般128bit以上,防⽌被穷举攻击;密钥序列{ki}具有极⼤的周期性现代密码机数据率⾼达10^8 bit/s,如果10年内不使⽤周期重复的{ki},则要求{ki}的周期T>=3*106或255;良好的统计特征。

序列密码——精选推荐

序列密码——精选推荐

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

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。

第7章 序列密码

第7章 序列密码
定理7.6.1 n级m序列{ai}具有如下性质: (i)在一个周期内,0,1出现次数分别为2n-1-1和2n-1 次.
(ii)在一个周期圈内,总游程数为2n-1,对1≤i≤n-2, 长为i的游程有2n-i-1个,且0,1游程各半,长为n-1 的0游程一个,长为n的1游程1个。
(iii) {ai}的自相关函数为二值:
定理 7.7.2 GF(2)上n级M序列的数目
为 2 2 n1 n

7.7.2 非线性前馈序列
引理7.7.1 在图7.7.1中n级LFSR为n级m
序列生成器时,对任一组不全为0的k j ( j 0,1,2, ,2n 2)
,存在唯一的前馈函数f(x),使前馈序列
是周期序列k k 0k1
1,
Ra
()ຫໍສະໝຸດ 1 T,当 0 当0 T 1
定理 7.6.2 设线性移位寄存器的特征多项
式为 令
Ax
定义
p7ix1.a6i xii.n12,0 ci x则设i,pA递((xx) 推)p为序((xx))G列,F其(a2j 中)上((的xp)(x多)i)n1。项cni式xn,i ji。1 a j
lLn [ x]
记为Nf,即f(x)的非线性度为其与所有线性 函数之最短距离,于是线性函数的非线性度
为0。称max lLn [ x]
d
(
f
,
l
)为f(x)的线性度,记为Cf。即
的线性度是f(x)与所有线性函数的最大距离。
定义 7.4 若l(x)使得
,则称l(x)为
f(x)的最佳线性逼近。d( f ,l) N f
若的r周i两期两为互素,f(nx)(与2ri 各1) 变元均有关,则{kj}
NF

第7讲 序列密码体制

第7讲 序列密码体制
2014-2-13 6
事实上,序列密码算法其安全性依赖于简单的异或运算和密钥 序列。密钥流发生器生成的看似随机的密钥流实际上是确定的,在 解密的时候能很好的将其再现。密钥流发生器输出的密钥越接近随 机,对密码分析者来说就越困难。 如果密钥流发生器每次都生成同样的密钥流的话,对攻击来说, 破译该算法就容易了。
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
知识点:
◇ 序列密码的概念 ◇ 线性反馈移位寄存器 ◇ 序列和周期

序列密码

序列密码

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

计算机安全保密第七讲

计算机安全保密第七讲

32位的最长周期的LFSR
7.3 序列密码的设计与分析
线性复杂度:能够模拟产生器输出的最 短的LFSR的长度n。
– 低线性复杂度的产生器肯定是不安全的 – 有高的线性复杂度也不一定安全
相关免疫函数
7.4 进位反馈移位寄存器
进位反馈移位寄存器(FCSR):包括一个移 位寄存器,一个反馈函数和一个进位寄存器。 进位寄存器:将选择序列的各位相加,并加 上进位寄存器的内容,结果模2成为新位,结 果除以2成为进位寄存器的新内容。
– Xn = (aXn-1+b) mod m – Xn为序列中第n个数,Xn-1为序列中第n-1个 数 – 变量a,b和m为常数 – X0为密钥或种子 – 最大周期:m-1
不能用于密码学
7.2 线性反馈移位寄存器
移位寄存器:一个二进制位序列。需要 1位时,所有位都向右移动一位,空出 的最左边一位由寄存器中其他位的一个 函数来计算。
计算机安全保密第七讲 序列密码
唐明 武汉大学计算机学院
本次课的内容
7.1 线性同余产生器 7.2 线性反馈移位寄存器 7.3 序列密码的设计与分析 7.4 进位反馈移位寄存器 7.5 非线性反馈移位寄存器 7.6 设计序列密码的方法 本ppt来自董晓梅老师的电子教案
7.1 线性同余产生器
线性同余产生器:伪随机序列产生器
进位寄存器 0 0 0 0 0 0 1 1 1 1 1 0
周期为10 最大周期:q-1 q = 2q1+22q2+23q3+…+2nqn-1, qi对应于各选择位,q只能是 素数,2为其原根 并非所有状态都能给出最大周期
7.5 非线性反馈移位寄存器
反馈函数可以是任意的 问题:
– 可能会有倾向性 – 最大周期可能很低 – 开始值不同,可能周期不同 – 序列可能退化

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 年本科密码学
列密码体制的模型如下图。

流密码 ppt课件

流密码 ppt课件

同步流密码
根据加密器中记忆元件的存储状态 i 是否依赖于输入的明文字 符,序列密码可进一步分成同步和自同步两种。
✓ i 独立于明文字符的叫做同步序列密码,否则叫做自同步序列 密码。
由于自同步流密码的密钥流的产生与明文有关,因而较难从理论 上进行分析。目前大多数研究成果都是关于同步流密码的。
在同步流密码中,由于密钥流 zi f (k,i ) 与明文字符无关,因
– 输出:输出为一个64比特的伪随机数Ri和一个64比特的新种 子Vi +1,其中:
EDE表示两个密钥的三重DES。
ANSI X9.17的伪随机数生成器
ANSI X9.17伪随机数产生器的框图如下:
ANSI X9.17的伪随机数生成器
本方案具有非常高的密码强度,因为: – 采用了112比特长的密钥和9个DES加密; – 算法由两个伪随机数输入驱动,一个是当前的日 期和时间,另一个是算法上次产生的新种子。 – 即使某次产生的随机数Ri泄露了,但由于Ri又经 过一次EDE加密才产生新种子Vi +1,所以别人即 使得到Ri也得不到Vi +1 ,从而得不到新随机数Ri +1。
DES的OFB模式能用来产生密钥并能用于流加密,加密算法的每一步输 出都为64比特,其中最左边的j个比特被反馈回加密算法,因此加密算法 的一个个64比特输出就构成了一个具有很好统计特性的伪随机数序列, 同样,如此产生的会话密钥可通过对主密钥的保护而得以保护。
ANSI X9.17的伪随机数生成器
ANSI X9.17伪随机数产生器是密码强度最高的伪随 机数产生器之一,已在包括PGP等许多应用过程中被 采用。 它有3个组成部分:
BBS生成器举例
BBS生成器
BBS的安全性基于大整数分解的困难性,它是密码上 安全的伪随机比特产生器。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数 F(s0 ,s1 ,...,sn-1 )计算产生。
• 称函数 F(s0 ,s1 ,...,sn-1 )为反馈函数。 • 如果反馈函数 F(s0 ,s1 ,...,sn-1 )是
s0 ,s1 ,...,sn-1 的线性函数,则称为线性移位寄 存器,否则称为非线性移位寄存器。
二、线性移位寄存器序列密码
以其为连接多项式的线性移位寄存器的输出序列
为100110101111000··· ,它是周期为2 4-1=15的m
序列。
0001 0101
0010 1011
0100 0111
g0=1 g1=1 g2=0
S0
S1
S2
g3=0 S3
g4=1 1001 1111 0011 1110 0110 1100
1101 1000
一、序列密码的基本概念
1、序列密码的分类
①同步序列密码(Synchronous Stream Cipher)
• 密钥序列产生算法与明文无关,所产生的密钥
序列也与明文无关。
• 在通信过程中,通信的双方必须保持精确的同
步,收方才能正确解密,如果失步收方将不能 正确解密。例如,如果通信中丢失或增加了一 个密文字符,则收方的解密将一直错误。
• 只要选择合适的连接多项式便可使线性移位寄存
器的输出序列周期达到最大值2n –1,并称此时的 输出序列为最大长度线性移位寄存器输出序列,
简称为m序列。
二、线性移位寄存器序列密码
1、线性移位寄存器
• 仅当连接多项式g(x)为本原多项式时,其线性移
位寄存器的输出序列为m序列。
• 设f(x)为GF(2)上的多项式,使f(x)| x p-1的
一、序列密码的基本概念
②自同步序列密码
种子密钥k
种子密钥k
密钥序列 产生算法 n位存储
密钥序列 产生算法 n位存储
k1,k2,…
k1,k2,…
m1,m2,…
c1,c2,…
m1,m2,…
Ci 的错误将影响n位
二、线性移位寄存器序列密码
1、线性移位寄存器(Linear Sift Registor)
• 例1
18、总复习/检查:综合实验
一、序列密码的基本概念
①明文、密文、密钥以位(字符)为单位加
解密;
②模型
种子密钥
明文: m1,m2,…
密钥序列 产生器
密钥序列: k1,k2,… 密文: c1,c2,…
Ci = mi⊕ki
一、序列密码的基本概念
③人们用序列密码模仿 “一次一密 ” 密码; ④加密运算最简单,而且是对合运算; ⑤安全取决于密钥序列产生算法; ⑥理论和技术都十分成熟; ⑦核心密码的主流密码。
• 密钥序列产生算法与明文(密文)相关,则所
产生的密钥序列与明文(密文)相关。
• 设密钥序列产生器具有 n位存储,则加密时一
位密文错误将影响后面连续 n个密文错误。在 此之后恢复正确。
• 解密时一位密文错误也将影响后面连续 n个明
文错。在此之后恢复正确。
• 加解密会造成错误传播。在错误过去之后恢复
正确。
1010
二、线性移位寄存器序列密码
1、线性移位寄存器
• m序列具有良好的随机性:
游程:称序列中连续的i个1为长度等于i 的1游程,同样,称序列中连续的i个0为 长度等于i的0游程。 ①在一个周期内,0和 1出现的次数接近 相等,即0出现的次数为2 n - 1 -1,1出现 的次数为2 n-1 ;
二、线性移位寄存器序列密码
最小正整数p称为f(x)的周期。如果f(x)的次数为 n,且其周期为2 n-1,则称f(x)为本原多项式。
• 已经证明,对于任意的正整数n,至少存在一个n
次本原多项式。而且有有效的产生算法。
二、线性移位寄存器序列密码
1、线性移位寄存器
• 举例:设g(x)=x4 +x +1, g(x)为本原多项式,
1、线性移位寄存器 ④自相关函数
定义:设{ki}是周期为p的序列,k0, k1,…, kp-1是其
中一个周期子段,则 k0+τ, k1+τ,…, kp-1+τ也是一个周 期子段。记这两个子段中相同的位数为A,不相 同的位数为D,则自相关函数定义为:
A-D R(j)=
P
自相关函数反映一个周期内平均每位的相同程度。
其中
K= k1 ,k2,...,k2n,
ki= mi⊕ci = mi ⊕(mi⊕ki)。
二、线性移位寄存器序列密码
2、线性移位寄存器序列密码
由此可以推出线性移位寄存器连续 n+1个状态:
S1 =(k1,k2 ,...,kn)T S2 =(k2,k3 ,...,kn+1)T

作矩阵
Sn+1 =(kn+1,kn+2 ,...,k2n)T
密码学
(第七讲 )
序列密码
张焕国
武汉大学计算机学院
目录
1、密码学的基本概念 2、古典密码 3、数据加密标准(DES) 4、高级数据加密标准(AES) 5、中国商用密码(SMS4) 6、分组密码的应用技术
7、序列密码
8、习题课:复习对称密码 9、公开密钥密11、数字签名(1) 12、数字签名(2) 13、HASH函数 14、认证 15、密钥管理 16、PKI技术 17、习题课:复习公钥密码
1、线性移位寄存器 • 设F(s0,s1 ,...,sn-1 )为线性函数,则可写成
F(s0,s1,...,sn-1)=g0s0+g1s1+,...,+gn-1sn-1 其中,g0,g1 ,...,gn-1为反馈系数。
• 在二进制的情况下,式中的+即为⊕,反馈系数
gi ∈GF(2 ),如果gi=0,则表示式中的gisi 项不 存在,因此表示si不连接 。同理,gi=1表示si连 接。故 gi的作用相当于一个开关。
H=
...
S’=
S=
0 0 0 ...1
g0 g1...gn-1
s’n-1
sn-1
矩阵H称为连接多项式的伴侣矩阵。
二、线性移位寄存器序列密码
2、线性移位寄存器序列密码
进一步假设攻击者知道了一段长2n位的明密文对, 即已知:
M= m1,m2 ,...,m2n C= c1,c2 ,...,c2n 于是可求出一段长2n位的密钥序列,
• 一般模型
F(s0,s1,…,sn-1)
输出
S0 S1
Sn-2 Sn-1
二、线性移位寄存器序列密码
1、线性移位寄存器(Linear Sift Registor) • 图中s0 ,s1 ,...,sn-1 组成左移移位寄存器,
并称每一时刻移位寄存器的取值为一个状态。
• 移位寄存器的输出同时要送入sn-1,其值要通过函
输出
S0 S1
• 例2 增加反馈
Sn-2 Sn-1
输入
移位 脉冲
输出
S0 S1
Sn-2 Sn-1
输入
移位 脉冲
二、线性移位寄存器序列密码
1、线性移位寄存器(Linear Sift Registor)
• 例3 增加运算

输出
S0 S1
Sn-2 Sn-1
输入
移位 脉冲
二、线性移位寄存器序列密码
1、线性移位寄存器(Linear Sift Registor)
二、线性移位寄存器序列密码
1、线性移位寄存器
• 形式地,用xi与si 相对应,则根据反馈函数
可导出一个文字x的多项式: g(x)= gn x n +gn-1 x n-1 +,...,+g1x +g0
• 称g(x) 为线性移位寄存器的连接多项式。
• 与图对照可知,gn=g0 =1。否则,若gn=0则
s’0 = s1 s’1 = s2
...
s’n-2= sn-1 s’n-1= g0s0+g1s1+,...,+gn-1sn-1
二、线性移位寄存器序列密码
2、线性移位寄存器序列密码
写成矩阵形式:S’=HS mod 2
0 1 0 ...0 0 0 1 ...0 0 0 0 ...0
s’0
s0
s’1
s1
2、线性移位寄存器序列密码
• m序列具有良好的随机性; • 50年代开始用作密钥序列,并用于军用。 • 60年代发现其是不安全的。
二、线性移位寄存器序列密码
2、线性移位寄存器序列密码
设m序列线性移位寄存器的状态为
S=(s0,s1 ,...,sn-1)T, 下一状态为S’=(s’0,s’1 ,...,s’n-1)T ,其中
m=m1,×, ×, … ×, × ( m1 后的明文全错)
一、序列密码的基本概念
①同步序列密码
• 对失步的敏感性,使我们能够容易检测插入、
删除、重播等主动攻击。
• 另一个优点是没有错误传播,当通信中某些密
文字符产生了错误(不是插入和删除),只影 响相应字符的解密,不影响其它字符。
• 注意:错误与失步是不同的概念!
输出不反馈到sn -1,若g1=0则s0不起作用, 应将其去掉。
二、线性移位寄存器序列密码
1、线性移位寄存器
g0=1
g1 S0 S1
g2 Sn-2
gn-1 Sn-1
gn=1
二、线性移位寄存器序列密码
1、线性移位寄存器 • n级线性移位寄存器最多有2n个不同的状态。若其
初始状态为零,则其后续状态恒为零。若其初始 状态不为零,则其后续状态也不为零。因此,n级 线性移位寄存器的状态周期≤2n –1,其输出序列 的周期≤2n –1。
二、线性移位寄存器序列密码
相关文档
最新文档