流密码的基本概念汇总

合集下载

第四讲 流密码ppt

第四讲  流密码ppt

4.2 流密码的原理
1 流密码的基本概念 流密码是将明文划分成字符(如单个字母),或其编 码的基本单元(如0, 1数字),字符分别与密钥流作用进 行加密,解密时以同步产生的同样的密钥流实现,其 基本框图如图3-1-1所示。图中,KG为密钥流生成器 密钥流生成器, 密钥流生成器 kI为初始密钥 初始密钥。流密码强度完全依赖于密钥流产生器所 初始密钥 生 成 序 列 的 随 机 性 (Randomness) 和 不 可 预 测 性 (Unpredictability)。其核心问题是密钥流生成器的设计 核心问题是密钥流生成器的设计 。保持收发两端密钥流的精确同步是实现可靠解密的 关键技术。
2. 流密码相对于分组密码有以下优点: 流密码相对于分组密码有以下优点: 在硬件实施上,流密码的速度一般要比 分组密码快,而且不需要有很复杂的硬 件电路; 流密码能较好地隐藏明文的统计特征;
在某些情况下(例如某些电信上的应用),当缓冲 不足或必须对收到的字符进行逐一处理时,流密 码就显得更加必要和恰当; 流密码的差错传播有限或没有差错传播,使得在 一些容易发生传输误差的环境中使用流密码就更 具优势; 流密码有较理想的数学分析工具,如频谱理论和 技术、代数等; 目前大多数国家的军事和一般外交保密通信似乎 仍主要使用流密码。
A3(1)
(2) A2 A3(2) A1(2)
A1(2) (2) A2 A3(2)
A1(1)
s2 s3 s1
A3(2) A1(2) (2) A2
(1) A2
s1 s2 s3
A3(1) s3 s1 s2
有限状态自动机可用有向图表示,称为转移图。转 移图的顶点对应于自动机的状态,若状态 si 在输入 Ai(1) 时转为状态 s j ,且输出一个字符 A(2),则在转移图中,从 j 状态 si 到状态 s j 有一条标有的弧线 ( Ai(1) , A (j 2 ) ) ,见下图。

流密码名词解释

流密码名词解释

流密码名词解释流密码是一种用于保护信息安全的密码算法。

它通过对数据流逐位进行加密和解密,以确保数据在传输和存储过程中的保密性。

不同于传统的块密码算法,流密码是一种流式加密算法,它将明文划分为一个个的位,然后通过一系列的加密操作,将明文转化为密文。

流密码的基本原理是使用一个密钥生成一个伪随机的密钥流,再将密钥流与明文进行异或运算,得到密文。

解密时,使用相同的密钥再次生成密钥流,并将密文与密钥流进行异或运算,即可恢复出原始的明文。

流密码的加密速度通常非常快,并且不受明文长度的限制。

它可以用于各种不同的应用场景,包括通信、存储和计算机网络等。

对于需要实时传输和处理大量数据的系统,流密码是一种非常有效的加密方式。

流密码具有以下几个重要的特点:首先,流密码具有良好的扩展性。

它可以方便地应用于各种不同的通信协议和网络环境,无论是传统的有线网络还是无线网络。

其次,流密码的安全性与密钥的选择和管理密切相关。

密钥的强度和安全性直接影响着流密码算法的安全性。

因此,在使用流密码时,必须注意密钥的保密性和更新策略,以及密钥生成算法的安全性。

再次,流密码对明文的保密性非常高。

由于流密码是逐位进行加密的,所以即使部分明文被攻击者获取,也无法得到完整的明文信息。

最后,流密码具有较低的存储空间需求。

由于流密码是逐位加密的,不需要额外的存储空间来存储加密后的数据。

这使得流密码在资源受限环境下的应用更加方便。

综上所述,流密码是一种有效的加密算法,能够在信息传输和存储过程中提供良好的保密性和安全性。

但是,在使用流密码时,我们仍然需要密切关注密钥的安全性和密钥管理的问题,以确保数据的保密性。

流密码详解

流密码详解

15
2.2 线性反馈移位寄存器序列

伪随机序列

序列的游程
定义2.2 设a= (a0, a1,…,ai,ቤተ መጻሕፍቲ ባይዱ)是一个周期为N的二元序列, 在一个周期内连续出现的最多的符号“0”(或1)的串, 称为0(或1)的一个游程。在一个游程中,0(或1)的 个数称为该游程的长度。(讨论:该定义有否歧义?)
例: 在序列 k={ki}=001110100000111100中, 有 长为1的0游程一个; 长为4的0游程一个; 长为5 的0游程一个; 长为1的1游程一个; 长为3的1游 程一个; 长为4的1游程一个.
4
课堂讨论:

加密函数和解密函数都用异或运算,行不行?
什么样的加解密算法是高效、安全的?Why? 实用的流密码方案中,加解密算法是什么?


5
2.1 流密码一般模型

流密码原理框图
k 安全信道 k
密钥流 生成器
密钥流 生成器
zi mi E ( zi , m i ) ci 信道 ci
zi D(zi,ci) mi
6
2.1 流密码一般模型


流密码体制的安全性 当流钥序列是具有均匀分布的离散无记 忆随机序列时, 在理论上是不可破译的. 实用的困难性


真正的具有均匀分布的随机序列是不可能重 复产生的. 密钥序列长(至少与明文序列一样长), 其管理 (存储、分配)难.

设计流密码体制的关键问题 设计产生密钥序列的方法.
16
2.2 线性反馈移位寄存器序列

伪随机序列

序列的相关函数
定义2.3 设a=(a0,a1,…,aN1)和b=(b0,b1,…,bN1)是两个 周期为N的二元周期序列,其相关函数定义为

流密码的基本概念汇总

流密码的基本概念汇总

2020/1/2
kI
··· KG
ki mi
Eki(mi)
4
流密码的框图
消息流:m=m1m2…mi,其中miM。
密文流:c=c1c2…ci…=Ek1(m1)Ek2(m2)…Eki(mi)…, ciC。
密钥流:{ki},i0。
一个完全随机的非周期序列,可以实现一次一密体制。但
需要无限存储单元和复杂的输出逻辑函数f。i是第i时刻
看为一个参数为k的FA
输出集Z,状态集Σ,状态转移
φ
函数φ和输出函数ψ,初态0
设计的关键是φ和ψ
i
ψ
zi
k
k
2020/1/2
9
作为FA的密钥流产生器
具有非线性的φ的FA理论很不完善,通
常采用线性φ以及非线性的ψ
可将此类产生器分为驱动部分和非线性 组合部分。
驱动部分控制状态转移 非线性组合部分提供统计特性良好的序
流密码强度完全依赖于密钥序列的随机性(Randomness) 和不可预测性(Unpredictability)。
核心问题是密钥流生成器的设计。
保持收发两端密钥流的精确同步是实现可靠解密的关
键技术。
2020/1/2
3
流密码的框图
kI
安全信道
··· KG
ki
mi
ci
ci
Eki(mi)
···
优点:具有自同步能力,强化了其抗统计分析的能力
缺点:有n位长的差错传播。
2020/1/2
13
流密码的分类
n级移存器 … …
ki
f
mi mi
2020/1/2
ki Eki(·)

第讲流密码总结

第讲流密码总结

2.1.3 密钥流产生器
密钥流产生器: 参数为k的有限状态自动机, 一个输出符号集Z、一个状态集∑、两个函数φ和ψ 以及一个初始状态σ0组成。 状态转移函数φ:σi→σi+1,将当前状态σi变为一个新 状态σi+1, 输出函数ψ:σi→zi,当前状态σi变为输出符号集中的 一个元素zi。
图2.5 作为有限状态自动机的密钥流生成器
分组密码与流密码的区别就在于有无记忆性
x1
xm
k
k
y1
xi

无记忆元件


内部记忆元件
yi
yl
yi
图2.1 分组密码和流密码的比较
流密码的滚动密钥z0=f(k,σ0)由函数f、密钥k和 指定的初态σ0完全确定。 此后,由于输入加密器的明文可能影响加密器 中内部记忆元件的存储状态,σi (i>0)可能依赖于k, σ0,x0,x1,…,xi-1等参数。
2.1.1 同步流密码
流密码: 同步流密码和自同步流密码 σi独立于明文字符的叫做同步流密码,否 则叫做自同步流密码。 在同步流密码中,由于zi=f(k,σi)与明文字 符无关,因而此时密文字符yi=Ezi(xi)也不依 赖于此前的明文字符。因此,可将同步流密 码的加密器分成密钥流产生器和加密变换器 两个部分。
第2章 流密码
2.1 流密码的基本概念 2.2 线性反馈移位寄存器 2.3 线性移位寄存器的一元多项式表示 2.4 m序列的伪随机性 2.5 m序列密码的破译 2.6 非线性序列 习题
2.1 流密码的基本概念 (序列密码)
流密码的基本思想: 密钥:k 产生一个密钥流:z=z0 z1…, 明文串:x=x0 x1 x2… 加密: y=y0 y1 y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。 密钥流发生器f: zi=f(k,σi), σi是加密器中的记忆元件(存储器)在时刻i的状态, f是由密钥k和σi产生的函数。

流密码——精选推荐

流密码——精选推荐

流密码0000目前关于流密码的理论和技术已取得长足的发展。

同时密码学家也提出了大量的流密码算法,有些算法已被广泛地应用于移动通信、军事外交等领域。

流密码的原理:在流密码中,明文按一定长度分组后被表示成一个序列,并称为明文流,序列中的一项称为一个明文字。

加密时,先由主密钥产生一个密钥流序列,该序列的每一项和明文字具有相同的比特长度,称为一个密钥字。

然后依次把明文流和密钥流中的对应项输入加密函数,产生相应的密文字,由密文字构成密文流输出。

即设明文流为:M=m1m2…mi…密钥流为:K=k1k2…ki…则加密算法为:C=c1c2…ci…=Ek1(m1)Ek2(m2)…Eki(mi)…解密算法为:M=m1m2…mi…=Dk1(c1)Dk2(c2)…Dki(ci)…流密码与分组密码在对明文的加密方式上是不同的。

分组密码对明文进行处理时,明文分组相对较大。

所有的明文分组都是用完全相同的函数和密钥来加密的。

而流密码对明文消息进行处理时,采用较小的分组长度(一个分组称为一个字或一个字符),对明文流中的每个字用相同的函数和不同的密钥字来加密。

1.一次一密下面介绍一下一次一密密码体制。

以逐比特加密的一次一密为例,它要求对明文消息的每个比特做一次加密,而且加密每个明文比特时,都要独立随机地选取一个密钥比特。

无论明文的统计分布如何,一次一密都是无条件安全的,并且它使用的密钥量在所有无条件安全的密码体制中是最小的,因此,从这个意义上来说,一次一密无疑是最优的。

一次一密的一个明显缺点就是它要求密钥与明文具有相同长度,这增加了密钥分配与管理的困难,这一缺陷极大地限制了它在实际中的应用。

流密码采用了类似于一次一密的思想,但加密各明文字的密钥字不是独立随机选取的,而是由一个共同的较短的主密钥按一个算法产生的。

因此,它不具有一次一密的无条件安全性,但增加了实用性,只要算法设计得当,其安全性可以满足实际应用的需要。

流密码通常分为同步和自同步两类。

区块链中的密码学06-(3)流密码讲义_16

区块链中的密码学06-(3)流密码讲义_16

流密码陆军工程大学学习目标一、流密码的基本原理二、密钥流的产生器一、流密码流密码:也称序列密码 (Stream Cipher) ,是指明文消息按字符(如二元数字)逐位地、对应地加密的一类密码算法。

加密:C i = (M i ) M i K i 解密:M i = (C i ) C iK i ⊕明文序列M=M 1,M 2,...密钥序列K=K 1K 2....⊕密文序列C=C 1,C 2,...明文序列M=M 1,M 2,...密钥序列K=K 1K 2....≡⊕≡⊕i K E i K DAlice Bob A 6510=10000012m=1101101M 1,...M 7=1000001⊕K 1,...K 7=0101100C 1,...C 7=1101101=m M 1,...M 7=1000001=A ⊕K 1,...K 7=0101100C 1,...C 7=1101101Mary (窃听者)不可预测性:不能从过去的数列推测出下一个出现的数。

不可重现性:除非保存数列本身,否则不能重现相同的数列。

可用于密码技术流密码的密钥序列应该是变长、伪随机序列随机、不可预测的。

关键技术:通信双方的精确同步。

伪随机数生成器内部状态初始化内部状态伪随机数列二、密钥流生成器线性同余法伪随机数发生器线性反馈移位寄存器要生成的伪随机数列R1,R2,R3.... R1=(A×种子+C) mod MA、C、M是常量, A和C小于M R2=(A×R1+C) mod M.........R n+1=(A×R n+C) mod M内部状态初始化内部状态伪随机数列(A ×内部状态+C) mod M 例:A=3,C=0,M=7,种子为6伪随机数:451326 (451326)R 1=4,R 2=5,R 3=1,R 4=3,周期6谨慎选择A 、C 、M 的值Alice BobA=3,C=0,M=7,种子为6R1,...R n=451326 (451326)Mary(拦截者)(A×内部状态+C) mod MR1,...R n=451 3 (451326)R i+1=(A×R i+C) mod M线性同余法不具备不可预测性,不能用于流密码1100001移位寄存器移入移出易于硬件实现,速度快典型应用:A5,GSM语音加密标准⊕a na n-1a 2a 1c 1⊕c 2⊕c n-1⊕c n 输出序列 反馈函数f (a 1,a 2,...a n )为n元布尔函数,自变量和因变量只能取0,1值f(a 1,a 2,...a n )=c n a 1⊕c n-1a 2⊕...⊕c 1a nc 1,c 2,...c n 为反馈系数,取值0、1,表示开关断开和闭合若当前状态S i =(a i ,a i+1,...a i+n-1)则:a n+i =c n a i ⊕c n-1a i+1⊕...⊕c 1a n+i-1,i=1,2,...,移位寄存器的输入S i+1=(a i+1,a i+2,...a i+n )...二值0,1存储单元a 3a 2a 3a 1f(a 1,a 2,a 3)=a 1a 2⊕a 3输出序列先乘后异或例:下图是一个三级反馈移位寄存器,初始状态(a 1a 2a 3)=(1,0,1),求输出序列和周期。

流密码

流密码
2011-12-31 12
一、流密码的基本概念
1 n
n

( − 1)
k l + k l+k
l =1
2011-12-31
13
一、流密码的基本概念
伪随机性: 伪随机性:密钥流的实用情形
实用的密钥流k不可能由完全随机的方式生成。出于 商用目的和标准化要求,密钥流k必须由确定的方 式自动生成。不过从攻击者的角度来看,密钥流k 很像真正的随机序列,称为伪随机序列。 伪随机序列应该满足前面提到的性质(1’)(2’) (3’)。这三条性质就是著名的Golomb随机性假 设。
2011-12-31 23
二、线性反馈移位寄存器序列
定义 一个周期序列作为一个线性反馈移位寄存器序列, 它的最小阶数称为它的线性复杂度。对应于这个阶的 特征多项式称为该序列的极小多项式. (注意 一个周期序列作为一个线性反馈移位寄存器序 列,可以有很多不同的阶数,其中它的最小周期就是 它的一个阶数。因此,周期序列的线性复杂度一定不 超过它的最小周期) 所谓序列的综合,就是寻找周期序列的线性复杂度n, 并且求出极小多项式f(x)。 序列的综合的两种最著名的算法是B-M算法和GamesChan算法。
输出
1 0 1 1 1 0 …
2011-12-31
17
二、线性反馈移位寄存器序列
线性反馈移位寄存器序列
若比特流k由如下的方式生成: (1) 选择长度为n的比特串k1k2k3… kn; (2)当l>n后,kl=c1kl-1 ‘+’ c2kl-2 ‘+’ … ‘+’ cnkl-n。 其中常数c1、 c2 、 … 、 cn都是比特值,且cn=1。
2011-12-31 30

第6章__流密码

第6章__流密码

从密码系统的角度看,一个伪随机序列还应 满足下面的条件: 1. {ai}的周期相当大; 2. {ai}的确定在计算上是容易的;
3. 由密文及相应的明文的部分信息,不能确定整 个{ai}。
bojia@
定理6-9:
GF(2)上的n长m序列{ai}具有如下性质: 1. 在一个周期内,0、1出现的次数分别为2n-11和2n-1。 2. 在一个周期内,总游程数为2n-1;对1≤i≤n-2, 长为i的游程有2n-i-1 个,且0、1游程各半;长 为n-1的0游程一个,长为n的1游程一个。 3. {ai}的自相关函数为:
同步序列流密码的关键是密钥流产生器, 一般可将它看成一个参数为k的有限状态机。
bojia@
密钥生成器可以用线性反馈移位寄存器 (LFSR)构造。其驱动部分是一个或多个线 性反馈移位寄存器。 但是这种方法是不安全的,只要掌握有 限数量的明文和密文对,密码分析员就可以 推导出全部密钥流。甚至一个好的伪随机序 列生成器也未必适合构造密钥生成器。
bojia@
6.3.3 m序列密码的伪随机性和破译
流密码的安全性取决于密钥流的安全 性,要求密钥流序列有好的随机性,以使 密码分析者对它无法预测。
即使截获其中一段,也无法推测后面 是什么。若密钥流是周期的,要完全做到 随机性是困难的。 严格地说,这样的序列不可能做到随 机,只能要求截获比周期短的一段密钥流 时不会泄露更多信息,这样的序列称为伪 随机序列。
GSM会话每帧含有228比特,A5算法每 次会话产生228比特密钥,算法的密钥长64比 特,还有一个22比特的帧数。
bojia@
A5算法是一种典型的基于LFSR的流密码算 法,有两个版本:强的A5/1和弱的A5/2。 它由3个LFSR组成,是一种集互控和停走 于一体的钟控模型,然而A5算法没有完全公开。

密码学第7章 流密码

密码学第7章 流密码
如果与上述加密变换对应的解密变换为 xi Dzi ( yi ) ,则可给出同步 流密码体制的模型如下图所示。
同步流密码体制模型
同步流密码的加密变换 Ezi 可以有多种选择,只要保证变换 是可逆的即可。
实际使用的数字保密通信系统一般都是二元系统,因而在 有限域 GF(2)上讨论的二元加法流密码(如图)是目前最 为常用的流密码体制,其加密变换可表示为 yi zi xi 。
序列密码对密钥流的要求
二元加法流密码:若密钥流序列完全随机,就是一个完善的保密 系统(一次一密)。
实际使用的密钥流序列(以下简称密钥)都是按一定算法生成的, 因而不可能是完全随机的,所以也就不可能是完善保密系统。
为了尽可能提高系统的安全强度,就必须要求所产生的密钥流序 列尽可能具有随机序列的特征。
一般地,序列密码中对密钥流有如下要求(接近随机序列): 极大的周期:按任何算法产生的序列都是周期的 良好的统计特性:均匀的游程分布,更好地掩盖明文 高线性复杂度:不能从一小段密钥推知整个密钥序列。 用统计方法由密钥序列ki提取密钥生成器结构或密钥源的足够 信息在计算上是不可能的。
在 LFSR 中总是假定 c1, c2, , cn 中至少有一个不为 0,否则 f (a1, a2, , an ) 0 ,这样的话,在 n 个脉冲后状态必然是 00…0, 且这个状态必将一直持续下去。
若只有一个系数不为 0,设仅有 c j 不为 0,实际上是一种延 迟装置。
一般对于 n 级线性反馈移位寄存器,总是假定 cn 1。
一时刻的状态可用 n 长序列
或 n 维向量
a1, a2, , an
(a1, a2 , , an )
表示,其中 ai 是第 i 级存储器的内容。

流密码

流密码
• 线性反馈移位寄存器(LFSR):f 为线性函 数 • 非线性反馈移位寄存器: f 为非线性函 数
线性反馈移位寄存器简图
f (ai, ai+1, …ai+n-1)
ai+n-1 xn
ai+n-2 xn-1
ai+1 x2
ai ai-1.,…,a1 x1
线性反馈移位寄存器
f(x)为线性函数,输出序列满足下式
0 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1
1 0 0 0 1 0 0 1 1 0 1 0 1 1 1
问题
• n=4的LFSR,输出序列满足ki-4+ki-1 + ki =0,初始状态为0001。 • 不同时刻的状态及最终输出序列是怎样?
m序列
• 周期为2n-1的LFSR序列称为m序列。
流密码的基本概念
• 消息流:m=m1m2…mi,其中miM。 • 密文流: • 密钥流:{ki},i0。
c=c1c2…ci=Ek1(m1)Ek2(m2)… Eki(mi),ciC。 一个完全随机的非周期序列,可以实现一 次一密体制。但需要无限存储单元和复杂 的输出逻辑函数f。 加法流密码: ci=Eki(mi)=mi ki
多路选择序列
可供选择的输入

地 a0 (t ) 址 a1 (t ) 控 制 am 1 (t )
b0 (t )b (t )bn 1 (t ) 1
多路选择器 多路选择密码
Geffe生成器
• Geffe序列生成器由3个LFSR组成,其中 LFSR2作为控制生成器使用,如下图所示。
i 1
多项式的周期
• 多项式f(x)的周期p为使f(x)除尽xn-1的最 小整数n的取值。

简述流密码

简述流密码

简述流密码
流密码(Stream Cipher)是一种加密算法,是对称加密的一种形式。

它是通过一次一个比特地将明文转换为密文的方式来进行加密。

与分组密码不同,流密码不需要将明文分成固定长度的块,而是逐比特地加密数据。

流密码通过生成一系列称为“密钥流”(keystream)的伪随机比特序列来完成加密和解密过程。

这个密钥流与明文内容进行“异或”操作,从而生成密文。

与分组密码相比,流密码具有以下优势:
1. 快速:由于逐比特进行,流密码算法通常比分组密码快得多。

2. 可实时性:适用于实时传输或通信场景,可以立即对数据进行加密和解密。

3. 灵活性:流密码可以加密任意长度的数据,不需要将明文分割成固定大小的块。

然而,流密码也存在一些限制和安全性方面的考虑:
1. 依赖于随机性:密钥流必须具备足够的随机性,否则可能会出现重放攻击等安全问题。

2. 安全强度:密钥流生成算法必须足够复杂和安全,以抵御各种攻击手段,如线性和差分密码分析等。

需要注意的是,流密码的安全性不仅取决于算法本身,还取决于密钥管理和实施的安全措施。

为了保证流密码的安全性,关键是选择安全的密钥生成算法、使用足够长且随机的密钥以及采取适当的密钥管理措施。

第2章 流密码100906

第2章 流密码100906
一个n-FSR序列必呈某种周期性,若周期性重复从第 n
(以每点对应的状态为初态的序列都平移等价)
线性反馈移位寄存器(LFSR)
当一n-FSR的反馈函数为线性齐次式,即 f(ai,ai+1,…,ai+n-1)=c1ai+n-1+c2ai+n-2++cnai (cj=0,1) 时,称之为n-LFSR。习惯上,人们常进行下标变换: k=i+n 于是,对上述n-LFSR,其序列a满足下列递推关系式: ak=c1ak-1+c2ak-2++cnak-n (kn) 其结构示意图通常(在不明确c1,c2,…,cn时)画成: cn cn-1
第2章 流密码
2.1 流密码的基本概念 2.2 线性反馈移位寄存器 2.3 线性移位寄存器的一元多项式表示 2.4 非线性序列 习题
2.1 流密码的基本概念

序列密码又称流密码。它是将 明文消息字符串逐位地加密成 密文字符。
现代密码体制
前面我们学习过所谓的古典密码体制, 其特点是对字母(或文字)表进行操作(移位或 替换)。以下我们开始学习现代密码体制。
同一序列圈上不同点开始围绕此圈周而复始地运转下去的
结果。若视平移等价为本质相同,则n-LFSR只能产生其状 态图中所含圈数个本质不同的序列。 由一个n-LFSR的所有序列圈也可确定其状态图(思考)。
线性反馈移位寄存器(LFSR)
0,1序列a=a0a1a2若满足:存在正整数p,使得
ai=ai+p,对一切非负整数i成立
进一步假定敌手还知道密钥流是使用5级线性反馈移位寄存器产生的那么敌手可分别用密文串中的前10个比特和明文串中的前10个比特建立如下方程从而得到所以密钥流的递推关系为在前面已介绍密钥流生成器可分解为驱动子系统和非线性组合子系统驱动子系统常用一个或多个线性反馈移位寄存器来实现非线性组合子系统用非线性组合函数f来实本节介绍第2部分非线性组合子系统

第3-4讲 流密码概述

第3-4讲 流密码概述
第二章 流密码
流密码基本概念
线形反馈移位寄存器简介
m序列特性
非线性序列
2.1 流密码基本概念
1、什么是流密码(序列密码)
按加密方式不同,密码体制可分为流密码 和分组密码。 流密码的加密方式 加密变换为:
c Ek (m) Ek0 (m0 )Ek1 (m1 )Ek2 (m2 ) m {mi }i 0 m0m1m2
因此,现代流密码设计的关键是如何生成“随机 性”好的密钥序列,这部分称为密钥发生器。 密钥发生器组成:驱动部分和非线性组合部分
驱动部分控制密钥发生器的状态序列, 并为非线性组合部分提供统计特性好的序列。
非线性组合部分通过一系列复杂变换,将 输入序列组合成密码学特性好的序列。
密钥流生成器
我们希望密钥发生器驱动部分提供的序 列应该实现简单,且具有较好的统计特性, 那么,存在这样的序列么? 线性移位寄存器序列正是满足该要求的 序列。
状态图:为了从直观上描述反馈移存器的状 态转移情况,可以使用一些方框及联接这些方框 的箭头组成的图形,在数学上,把表示反馈移存 器功能的图形称为状态转移图。 在状态图中,从任意状态出发,依次取出各 状态相同位置的分量,即得到输出序列。 3级线性移位寄存器产生序列为:0111010…… 和一个全零序列。
在j+1时刻其内部状态变为:(a j , a j 1,, a j r 1 ) 其中: a j f (a j 1, a j 2 ,, a j r )
此时的输出为j时刻的最高级:a j r
a3 0 1 1 1 0 1 0 0
a2 0 0 1 1 1 0 1 0
a1 1 0 0 1 1 1 0 1
(二)一般伪随机序列的特性
1、在序列的一个周期内,0、1的个数相差最多一个。 2、在序列的一个周期内,长为1的游程占游程总数 1 1 的 2 ,长为2的游程占游程总数的 2 ,长为i的游程 1 占游程总数的 2 ,且在等长的游程中0的游程个数 和1的游程个数相等。

流密码介绍

流密码介绍
Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin
John von Neumann
随机数应用 随机性要求
➢ 均匀Uniform distribution ➢ 独立Independence 不可预测Unpredictability
定理4.2.1:设n 是任意一个正整数,那么F2 上的任意n 级LFSR 产生
的序列a都是终归周期的,且最小周期p a 2n 1
证明:对n级LFSR,第j个状态记为 a j (a j , a j1,..., a jn1)
(1)若 a j (0, 0,..., 0) 以后状态全是零状态,终归周期为1
LFSR是唯一的。
3当lN N 2,迭代至2lN步已有 f2lN x ,l2lN fN x,lN 。
B-M算法
设s为一个具有线性复杂度L的有限二元序列,t是s 的一个长度至少为2L的有限子序列,那么B-M算 法在t作为输入时,将确定出一个可以生成s且长度 为L的LFSR。
m-序列生成器适宜用在密钥流生成器的驱动部分 ,不能单独作为密钥源
流密码
流密码的基本概念及分类 Golomb随机性假设 线性反馈移位寄存器(LFSR) B-M算法 构造流密码的几种方法
流密码
基本思想
产生密钥流z z1z2 ,根据下述规则来加密
明文串x x1x2 ,得到密文:y y1 y2 Ez1 x Ez2 x
分类
➢ 同步流密码
发送端与接收端有相同的密钥与内部状态 状态更新与明文无关
伪随机数生成器设计
几种基于公钥密码的伪随机数生成器

最全对称加密----流密码总结到位

最全对称加密----流密码总结到位

最全对称加密----流密码总结到位它是以最⼩单位⽐特作为⼀次加密、解密的操作元素,利⽤加密算法进⾏加密与解密。

流密码的基本思想是利⽤密钥 k 产⽣⼀个密钥流 z ,并利⽤相应的规则对明⽂串 x进⾏加密,所得到的密⽂为: y 。

 ⽽流密码与所谓的分组密码最⼤的差距除了对于明⽂的处理⽅式不同以外,还有其加密器中是否含有记忆元件,流密码的加密器中存在记忆元件,⽽分组密码不存在,也正是由于这个记忆元件,我们可以进⼀步将流密码分为同步流密码和⾃同步流密码。

同步流密码: 是不是听起来有点复杂,但其实它取决于加密器中记忆元件的存储状态,独⽴于明⽂字符的叫做同步流密码,否则叫做⾃同步流密码, 但其实对于⾃同步流密码来说,它的密钥流的产⽣与输⼊的明⽂有关, 所以在理论上我们很难能够去分析清楚。

⽽⽬前,我们在流密码⽅⾯的所有科研成果绝⼤多数都是关于同步流密码的。

 同步流密码的加密过程都与明⽂⽆关,故我们得到的密⽂也与明⽂直接联系。

所以,通常情况下我们将同步流密码的加密器分成密钥流产⽣器和加密变换器两个部分。

在下图所表⽰的就是流密码的加密和解密流程。

 我们输⼊明⽂x,利⽤密钥流⽣成器⽣成的密钥z,利⽤加密算法E对明⽂x进⾏加密。

可以得到密⽂y。

 反过来说,当我们已知密⽂y时,利⽤密钥z和解密算法D解析密⽂y,就可以得到明⽂x。

 同步流密码的加密算法E可以是各种各样的,但是我们必须保证变换是可逆的(也就是说通过明⽂利⽤加密算法可以得到密⽂,反过来利⽤密⽂和解密算法就可以得到明⽂)。

 实际使⽤的数字保密通信系统⼀般都是⼆元系统,所以说,在有限域 GF(2)上讨论的⼆元加法流密码是⽬前最为常⽤的流密码体制。

 其实通过这两幅图我们可以对⽐出来,在⼆元域中,⼆元加法流密码就是将我们的加密算法换成了所谓的⼆元域上的加法。

(相信学计算机的我们⼀定对这个不陌⽣吧!hhhh~)线性反馈移位寄存器LFSR: 线性反馈移位寄存器(LFSR):通常由移位寄存器和异或门逻辑组成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

i
k
ψ
k
zi
2018/9/26
9
作为FA的密钥流产生器



具有非线性的φ的FA理论很不完善,通 常采用线性φ以及非线性的ψ 可将此类产生器分为驱动部分和非线性 组合部分。 驱动部分控制状态转移 非线性组合部分提供统计特性良好的序 列
10
2018/9/26
两种常见的密钥流产生器
LFSR LFSR LFSR 非线性组合函数 LFSR 非 线 性 组 合 函 数
2018/9/26 18
满足密码体制的另外三个条件
C1.周期p要足够大,如大于1050;
C2.序列{ki}i0产生易于高速生成; C3.当序列 { ki}i0 的任何部分暴露时,要分析整个序列, 提取产生它的电路结构信息, 在计算上是不可行的,称 此为不可预测性(Unpredictability)。
f1 s1 s2 s3
2018/9/26
7
FA的状态图表示
若输入为 x1x2x1x3x3x1 初始状态s1 输出为 y1y1y2y1y3y1
2018/9/26
8
作为FA的密钥流产生器

k

φ

同步流密码的密钥流产生器可 看为一个参数为k的FA 输出集Z,状态集Σ,状态转移 函数φ和输出函数ψ,初态0 设计的关键是φ和ψ
zi
zi
2018/9/26
11
流密码的分类


同步流密码SSC(Synchronous Stream Cipher): i与明文消息无关,密钥流将独立于明文。 特点:




对于明文而言,这类加密变换是无记忆的。但它是时变 的。 只有保持两端精确同步才能正常工作。 对主动攻击时异常敏感而有利于检测 无差错传播(Error Propagation)
G1. 若 p为偶,则 0, 1 出现个数相等,皆为 p/2。若 p 为奇, 则0出现个数为(p1)/2。 G2. 长为 l 的串占 1/2 l,且“ 0 ”串和“ 1 ”串个数相等或 至多差一个。 G3.R(j)为双值,即所有异相自相关函数值相等。这与白 噪声的自相关函数(函数)相近,这种序列又称为双值序 列(Two Value Sequence)。 PN 序列可用于通信中同步序列、码分多址 (CDMA)、 导航中多基站码、雷达测距码等。但仅满足 G1~G3 特性 的序列虽与白噪声序列相似,但远还不能满足密码体制 要求。

.011 10,100 01
l l
2018/9/26
15
序列的伪随机性

周期自相关函数
周期为p的序列{ki}i0,其周期自相关函数 R(j)=(A-D)/p , j=0, 1, …
式中,A={0i<p|:ki=ki+j},D={0i<p:kiki+j}。
第三章
流密码
一、流密码的基本概念 二、线性反馈移位寄存器序列 三、非线性序列
2018/9/26
1
一、流密码的基本概念
2018/9/26
2
流密码的基本概念

流密码是将明文划分成字符(如单个字母),或其编码 的基本单元(如0, 1数字),字符分别与密钥流作用进 行加密,解密时以同步产生的同样的密钥流实现。
2018/9/26
13
流密码的分类
n级移存器 … … ki f ki Eki(· ) n 级移存器 … … f ki Dki(· ) ki
mi
mi
2018/9/26
ci
ci
14
序列的伪随机性

周期 序列{ki}i0,使 对所有i,ki+p=ki 成立的的最小整数p 长为l的串(run) (kt , kt+1…kt+l -1) 序列{ki}的一个周期中, kt-1kt=kt+1=…=kt+l -1 kt+l 例:长为l的1串和长为l的0串:

Yj=f 1(sj ,Xj) Sj+1 =f 2(sj ,Xj)
第j时刻输入Xj X ,输出Yj Y
2018/9/26
6
例2-1

S={s1,s2,s3},X={x1, x2,x3},Y=(y1,y2,y3) 转移函数
x1 y1 y2 y3 x2 y3 y1 y2 X3 y2 y3 y1 f2 s1 s2 s3 x1 s2 s3 s1 x2 s1 s2 s3 X3 s3 s1 s2


加法流密码: ci=Eki(mi)=mi ki
2018/9/26 5
有限状态自动机FA (Finite state Automaton)

具有离散输入和输出(输入集和输出集均 有限)的一种数学模型

有限状态集S={si|i=1,2,…,l} 有限输入字符集X={ Xi|i=1,2,…,m} 有限输出字符集Y={ Yk|k=1,2,…,n} 转移函数

流密码强度完全依赖于密钥序列的随机性(Randomness) 和不可预测性(Unpredictability)。
核心问题是密钥流生成器的设计。 保持收发两端密钥流的精确同步是实现可靠解密的关 键技术。

2018/9/26
3
流密码的框图
kI 安 全 信 道 kI
· · · KG
· · · KG
2018/9/26
12
流密码的分类


自同步流密码SSSC(Self-Synchronous Stream Cipher) i依赖于(kI,i-1,mi),使密文ci不仅与当前输入 mi 有关,而且由于 ki 对 i 的关系而与以前的输入 m1, m2 ,…,mi-1 有关。一般在有限的 n 级存储下将与 mi1,…,mi-n有关。 优点:具有自同步能力,强化了其抗统计分析的能力 缺点:有n位长的差错传播。
mi
ki
Eki(mi)
ci
· · ·
ci
ki
Eki(mi)
mi
2018/9/26
4
流密码的框图

消息流:m=m1m2…mi,其中miM。 密文流: c=c1c2…ci…=Ek1(m1)Ek2(m2)…Eki(mi)…, ciC。 密钥流:{ki},i0。
一个完全随机的非周期序列,可以实现一次一密体制。但 需要无限存储单元和复杂的输出逻辑函数f。i是第i时刻 密钥流生成器的内部状态,以存储单元的存数矢量描述。

同相自相关函数 当j为p的倍数,即pj时为,R(=1;

异相自相关函数
当j不是p的倍数时
2018/9/26
16
例2-2
二元序列111001011100101110010…
周期p=7
同相自相关函数R(j)=1
异相自相关函数R(j)=-1/7。
2018/9/26
17
Golomb随机性假设-PN序列
相关文档
最新文档