流密码详解ppt课件.ppt

上传人:牧羊曲112 文档编号:1347854 上传时间:2022-11-12 格式:PPT 页数:76 大小:1.23MB
返回 下载 相关 举报
流密码详解ppt课件.ppt_第1页
第1页 / 共76页
流密码详解ppt课件.ppt_第2页
第2页 / 共76页
流密码详解ppt课件.ppt_第3页
第3页 / 共76页
流密码详解ppt课件.ppt_第4页
第4页 / 共76页
流密码详解ppt课件.ppt_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《流密码详解ppt课件.ppt》由会员分享,可在线阅读,更多相关《流密码详解ppt课件.ppt(76页珍藏版)》请在三一办公上搜索。

1、1,第2章 流密码,李向东 中原工学院计算机学院 2011.9-2012.1,2,第2章 流密码,2.1 流密码一般模型2.2 线性反馈移位寄存器序列2.3 线性复杂度及B-M算法2.4 非线性序列生成器 2.5 流密码算法,3,2.1 流密码一般模型,实用密码体制的分类,4,2.1 流密码一般模型,流密码( stream cipher)(序列密码)体制模型,明文序列: m= m1 m2 m3 ; 密钥序列: z=z1 z2 z3 ;密文序列: c= c1c2 c3 ;加密变换: ci=E(zi,mi) (i=1,2,3,);解密变换: mi=D(zi, ci) (i=1,2,3,).,5,课

2、堂讨论:,加密函数和解密函数都用异或运算,行不行?什么样的加解密算法是高效、安全的?Why?实用的流密码方案中,加解密算法是什么?,6,流密码原理框图,2.1 流密码一般模型,7,流密码体制的安全性 当流钥序列是具有均匀分布的离散无记忆随机序列时, 在理论上是不可破译的.实用的困难性真正的具有均匀分布的随机序列是不可能重复产生的.密钥序列长(至少与明文序列一样长), 其管理(存储、分配)难.设计流密码体制的关键问题 设计产生密钥序列的方法.,2.1 流密码一般模型,8,序列密码的分类同步流密码(SSC: synchronous stream cipher)产生密钥序列的算法与明文、密文无关.自

3、同步流密码(SSSC: self-synchronous stream cipher)产生密钥序列的算法与以前的密文有关.,2.1 流密码一般模型,9,同步流密码(SSC: synchronous stream cipher)只要通信双方的密钥序列产生器具有相同的“种子序列”和相同的“初始状态”,就能产生相同的密钥序列.通信双方必须保持精确同步,才能正确解密.容易检测插入、删除、重播等主动攻击.没有差错传播.讨论:如何对SSC的这种“同步”性质进行形式化描述?,2.1 流密码一般模型,10,同步流密码(SSC: synchronous stream cipher) 产生密钥序列的算法与明文、密

4、文无关.,2.1 流密码一般模型,11,自同步流密码(SSSC: self-synchronous stream cipher) 产生密钥序列的算法与以前的密文有关.,2.1 流密码一般模型,12,自同步流密码(SSSC)密钥流生成器是一种有记忆变换器密钥流与明文符号有关: i 时刻的密文不仅取决于i 时刻的明文,而且与i 时刻之前的l个明文符号有关具有有限的差错传播具有自同步能力把明文每个字符扩散在密文多个字符中,强化了抗统计分析的能力问:SSSC是如何自同步的?请email回应。,2.1 流密码一般模型,13,二元加法序列密码,明文序列: m= m1 m2 m3 ; 密钥序列: z= z1

5、 z2 z3 ;密文序列: c= c1 c2 c3 ;加密变换: ci=zimi (i=1,2,3,);解密变换: mi=zici (i=1,2,3,).,2.1 流密码一般模型,14,第2章 流密码,2.1 流密码一般模型2.2 线性反馈移位寄存器序列2.3 线性复杂度及B-M算法2.4 非线性序列生成器 2.5 流密码算法,15,2.2 线性反馈移位寄存器序列,伪随机序列 考虑二元序列: a=ai=a0a1a2a3 .周期序列,定义2.1 设a= (a0, a1,ai,)是一个二元序列,若存在正整数N和非负整数m,使得ai+N=ai对于任意i m成立,则称二元序列a是终归周期序列。如果m=

6、0,则称序列a是严格周期序列,简称周期序列。而满足ai+Nai (i m)的最小正整数N被称为序列a的周期。,16,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游程一个.,17

7、,2.2 线性反馈移位寄存器序列,定义2.3 设a=(a0,a1,aN1)和b=(b0,b1,bN1)是两个周期为N的二元周期序列,其相关函数定义为特别地,如果a=b,则Ra,a()被称为自相关函数,其中当 =0,Ra,a(0)被称为同相自相关函数,而当0, Ra,a()被称为异相自相关函数。,伪随机序列序列的相关函数,18,2.2 线性反馈移位寄存器序列,例 2.1 已知序列a=0101110 0101110,则 a是周期为7的周期序列; a一共有4个游程:00,1,0,111,长度分别为2,1,1,3; 求a的自相关函数: a=0101110, a =1011100, Ra,a(0)=(-

8、1)0+0+(-1)1+1+(-1)0+0 +(-1)1+1 +(-1)1+1 +(-1)1+1 +(-1)0+0=7, a=0101110, Ta =1011100, Ra,a(1)=(-1)0+1+(-1)1+0+(-1)0+1 +(-1)1+1 +(-1)1+1 +(-1)1+0 +(-1)0+0=-1, a=0101110, T2a =0111001, Ra,a(2)=(-1)0+0+(-1)1+1+(-1)0+1 +(-1)1+1 +(-1)1+0 +(-1)1+0 +(-1)0+1=-1, Ra,a(3)= Ra,a(4)= Ra,a(5)= Ra,a(6)=-1.,19,伪随机序

9、列,哥伦布(Golomb, 1955)随性假设,(G1):在一个周期内,0与1出现的个数至多相差1。也即,如果N为偶数,则在一个周期内0与1的数目各占N/2;如果N为奇数,则在一个周期内0的数目为(N+1)/2或者(N-1)/2,相应地1的数目为(N-1)/2或者(N+1)/2。 (G2):在一个周期内,长度为i 的游程个数占游程总数的1/2i,i=1,2, 。且在长度为i的游程中,0的游程与1的游程数目相等或至多相差一个。 (G3):序列的异相自相关函数是一个常数。,满足上述三个条件的序列称为拟噪声序列, 或伪噪声序列(pseudo noise sequence), 简记为: PN序列. P

10、N序列在CDMA,通信同步, 导航, 雷达测距等领域有重要应用.,20,Solomon W. Golomb: Shimonoseki, Japan, October 10-14, 2005,21,伪随机序列,密钥序列k=ki=k0k1k2k3 .满足的条件 G1,G2,G3和以下三个条件:,(C1) 周期p要长. 如p1050. (C2) 生成容易. (C3)具有不可预测性(unpredictability): 当密钥序列k的 任何部分泄露时,要分析整个密钥序列, 在计算上是不可行的.,C3决定了密码的强度, 是序列密码理论的核心. 主要研究问题: 线性复杂度, 相关免疫性,不可预测性等.,2

11、2,反馈移位寄存器(FSR: Feedback Shift Register)n个寄存器: 从右至左依次称为第1,2,n 级反馈函数 f(x0, x1,xn-1): GF(2)nGF(2).工作原理: 当一个时钟脉冲来到时, 第i 级寄存器的内容传送给第i-1级寄存器(i=2,3,n),第1 级寄存器的内容为反馈移位寄存器的输出. 反馈函数 f(x0, x1,xn-1)的值传送给第n级寄存器.FSR的输出序列: a0, a1,a2,an, 称为反馈移位寄存器序列(FSR序列).,伪随机序列,23,在任意时刻t, 第1至n级寄存器的内容 st =(at, at+1,at+n-1)GF(2)n 称

12、为FSR在时刻t 的状态(state). s0 =(a0, a1,an-1) 称为FSR的初始状态. 在时刻t+1 的状态为: st+1=(at+1, at+2,at+n), at+n =f(at, at+1,at+n-1).共有2n个状态.反馈函数 f(x1, x2,xn)是n个变量的布尔函数(Boolean function).,反馈移位寄存器(FSR),24,例2.2 设有限域GF(2)上的3级FSR的反馈函数为: f(x1, x2, x3)=x1x2x3初始状态为s0=(1,0,1). 求FSR序列. 解: 反馈移位寄存器序列: a =1011; 周期q=4.,反馈移位寄存器(FSR)

13、,25,如果反馈函数 f(x1, x2,xn)是n个变量的线性函数: f(x1, x2,xn) =c1xn+c2xn-1+cnx1 (ci0,1) 则称为线性反馈移位寄存器(LFSR: linear feedback shift register). 输出的序列称为线性反馈移位寄存器序列, 记为LFSR序列。 LFSR序列a= (a0, a1,an-1,) 满足递推关系式:,线性反馈移位寄存器(LFSR),26,反馈函数: f(x1, x2,xn) =c1xn+c2xn-1+cnx1 (ci0,1) 如果cn=0,则称LFSR是退化的;否则称LFSR是非退化的。把多项式: f(x)=1+c1x

14、+c2x2+cnxn 称为LFSR的特征多项式(characteristic polynomial), 或级连多项式、或生成多项式。,线性反馈移位寄存器(LFSR),27,例2.3 已知如图所示的3级LFSR. 特征多项式为: f(x)=1+x2+x3 LFSR序列a=(a0, a1,an-1,) 满足递推关系式: an=an-2+an-3. 如果设初始状态为: (0,0,1) 即a0=0,a1=0,a2=1, 输出序列为: 0010111 周期为7.,线性反馈移位寄存器(LFSR),28,例2.3 已知如图所示的3级LFSR. LFSR序列a= 0010111的状态转移图,线性反馈移位寄存器

15、(LFSR),29,线性反馈移位寄存器(LFSR),LFSR序列的性质,定理2.1 任何n级FSR序列都是终归周期序列,且其周期至多是2n 1 。,定义2.4 周期为2n 1的n级线性LFSR序列称为最大长度(Maximal length)序列,简称为m-序列。,m-序列,定理2.2 a是周期为2n 1的m-序列的充分必要条件是其特征多项式f(x)为n阶本原多项式。,30,m-序列,m-序列的个数,定理2.3 设f(x)是GF(2)上的n次本原多项式,则对任意非0的初始状态,由f(x)生成的m-序列是循环等价(cyclically equivalent)的. 即: 一个n次本原多项式只能生成一

16、个m-序列.,定理2.4 二元域GF(2)上的n级m序列共有(2n-1)/n个.,31,m-序列,例2.3 3级LFSR的特征多项式为: f(x)=1+x2+x3,初始状态为: (1,0,1), 输出序列为: a=1011100.,初始状态为: (0,0,1), 输出序列为: a=0010111,32,m-序列,m-序列的伪随机性,定理2.5 设a 是一个n级m序列,周期为2n1,则(1) 在一个周期内,0、1出现的次数分别为2n-11和2n-1。(2) 在一个周期内,总游程数为2n-1。其中,对1in2,长为i的0游程、1游程各有2n-i-2个;长为n1的0游程1个,长为n的1游程1个。(3

17、) a 的自相关函数为:,33,m-序列,m-序列的伪随机性,例2.4 已知4级m序列a=100010011010111, 有n=47个0, 8个1 游程总数为8长为1的0游程2个, 长为1的1游程2个长为2的0游程1个, 长为2的1游程1个长为3的0游程1个长为4的1游程1个.,34,m-序列,m-序列的密码学性质(C1) 周期长: p=2n-1. 如n=166时, p=1050 (9.3536104651049). (C2) 生成容易: 只要已知n次本原多项式,容易生成m序列.(C3) m序列极不安全: 只要泄露2n位连续数字,就可以完全确定反馈多项式的系数, 从而得到m序列. 已知ai,

18、 ai+1, ai+2n-1, 由以下方程组可唯一解得 c0, c1, cn-1.,35,第2章 流密码,2.1 流密码一般模型2.2 线性反馈移位寄存器序列2.3 线性复杂度及B-M算法2.4 非线性序列生成器 2.5 流密码算法,36,2.3 序列的线性复杂度,给定一个长度为N的二元密钥流序列a,假定捕获了a的一个长度为m的部分,不失一般性设为(a0,a1,am1),能否找到一个级数最短的LFSR,生成整个密钥流序列a ?,序列的密码分析问题,问题一: 是否存在LFSR生成整个序列a?问题二: 捕获序列a多长的部分,才能找到LFSR生成整个序列a?怎样确保得到的LFSR最短?,37,2.3

19、 序列的线性复杂度,序列的LFSR设a= (a0,a1,aN1)是一个长度为N的序列,那么存在N级LFSR,生成整个序列a。,当a是LFSR序列时,存在着更短的LFSR生成整个序列当a是非LFSR序列时,也可能存在着更短的LFSR生成整个序列a。,38,2.3 序列的线性复杂度,B-M算法设a(N)=(a0,a1,aN1)是一个长度为N的序列,fN(x)是一个能生成a(N)且级数最小的LFSR的特征多项式, lN是LFSR的级数, 则把 称为a(N)的线性综合解. BerleKamp-Massey (1969)提出了求解 的迭代算法.,39,B-M算法,40,B-M算法,例2.5 设a(10)

20、=(0001101111), N=10, 求其线性综合解.解:,41,B-M算法,例2.5 设a(10)=(0001101111), N=10, 求其线性综合解.解:,42,B-M算法,例2.5 设a(10)=(0001101111), N=10, 求其线性综合解.解:,43,B-M算法,例2.5 设a(10)=(0001101111), N=10, 求其线性综合解.解:,a(10)的线性综合解为: f10(x)=1+x+x2+x5, l10=5. 若取初值: a(0)=00011, 则f10(x)的LFSR序列 a=0001101111 0011101000, 周期为:25-1=31.,44

21、,B-M算法,B-M算法的性质B-M算法的时间复杂度为O(N2).,定理2.6 给定长为N的序列a(N)=(a0,a1,aN1),如果用B-M算法得到的线性综合解为( fN(x), lN),则以fN(x)为生成多项式,产生的长为lN的LFSR就是生成序列a(N)的最短LFSR。,定理2.7 给定长为N的序列a(N)=(a0,a1,aN1),用B-M算法得到的线性综合解为( fN(x), lN)是唯一解的充要条件是2lNN。,45,B-M算法,B-M算法的性质,定理2.8 设a(N)=a0, a1,.,aN-1是一个长为N的序列, lN是能产生a(N)并且阶数最小的LFSR的阶数. 则当2lN

22、N时, a(N) 线性综合解的个数为:,46,2.3 序列的线性复杂度,序列的线性复杂度,给定序列a,生成它的最短LFSR的长度lN就确定了。如果2lN N,只需要捕获序列a连续的2lN个比特,就能得到它的唯一解(fN(x), lN),以fN(x)为特征多项式的lN 级LFSR就可以生成整个序列a。 特别地,对于周期N很大,但lN 很小的序列a,比如周期为2n1的n级m-序列,利用B-M算法,只要捕获序列a连续的2lN个比特,即序列很小一部分,就可以重构整个序列。因此,lN 实际上度量了序列a的线性的不可预测性。,47,2.3 序列的线性复杂度,序列的线性复杂度,定义2.5 生成长为N的序列a

23、=(a0,a1,aN1)的LFSR的最短长度lN被称为序列a的线性复杂度。,n阶m序列的线性复杂度=n.,48,第2章 流密码,2.1 流密码一般模型2.2 线性反馈移位寄存器序列2.3 线性复杂度及B-M算法2.4 非线性序列生成器 2.5 流密码算法,49,2.4 非线性序列生成器,密钥流生成器的分解 Ruppe将密钥流生成器分成两部分:驱动部分和非线性组合部分 驱动部分:可由m-序列或其它长周期的LFSR序列组成,用于控制密钥流生成器的状态序列,并为非线性组合部分提供伪随机性质良好的序列非线性组合部分:利用驱动部分生成的状态序列生成满足要求的密码特性好的密钥流序列,50,2.4 非线性序

24、列生成器,非线性准则 非线性组合部分可由布尔函数表示 n元布尔函数f(x)的代数正规型:,51,2.4.1 非线性准则,代数次数,当f(x)的代数次数为1时,f(x)称为线性布尔函数当f(x)的代数次数大于1时,f(x)称为非线性布尔函数对于非线性组合部分的布尔函数,应该具有尽可能大的代数次数,定义2.6 设f(x)是一个n元布尔函数,在f(x)的代数正规型中,一个乘积项中变量的个数称为该乘积项的次数。 f(x)的代数正规型中,全体非零系数乘积项次数的最大值称为f(x)的代数次数 。,52,2.4.1 非线性准则,非线性度,是密码系统为抵抗线性攻击而提出的指标对于非线性组合部分的布尔函数,应该

25、具有尽可能大的非线性度,53,2.4.1 非线性准则,退化布尔函数,自变量经过线性变换后,n元布尔函数f (x)就简化为k元布尔函数g(x)作为非线性组合部分的布尔函数应该避免退化性,定义2.8 设f(x)是一个n元布尔函数,如果存在Z2上一个kn(kn)的矩阵D,使得 f(x)= g(Dx)= g(y), 则称f (x)是退化的。,54,2.4.1 非线性准则,布尔函数的相关免疫性,相关免疫性是为防止攻击者对密码系统进行相关攻击而提出的指标希望作为非线性组合部分的布尔函数应该具有m阶相关免疫性,m尽可能地大,定义2.9 设f(x1,x2,xn)是n个彼此独立、对称的二元随机变量的布尔函数,称

26、f (x)是m阶相关免疫的当且仅当f= f(x1,x2,xn)与x1,x2,xn中的任意m个随机变量,55,2.4.1 非线性准则,布尔函数的相关免疫性,定义2.10 设 f(x1,x2,xn)是一个n元布尔函数,f(x)的Walsh变换定义为,56,2.4.1 非线性准则,布尔函数的相关免疫性,雪崩准则,定理2.9 设1mn, n元布尔函数f= f(x1,x2,xn) 是m阶相关免疫的当且仅当对于任意满足1wH()m的 =(1, 2,n)Z2n,f(x)的Walsh谱都为0,即 Sf()=0. 这里wH()是汉明重量.,定义2.11 设f(x)是一个n元布尔函数,如果对于任意满足: wH(e

27、)=1的e =(e1, e2,en)Z2n,f(x)+f(x+e)是平衡函数,则称 f(x)为满足严格雪崩准则.,57,2.4.1 非线性准则,扩散准则,定义2.12 设f(x)是一个n元布尔函数,1mn2,如果对于任意满足: 1wH(e) m 的e =(e1, e2,en) Z2n,f(x)+f(x+e)是平衡函数,则称 f(x)为满足m次扩散准则.,非线性序列设计准则代数次数非线性度退化性相关免疫性雪崩准则扩散准则,58,2.4.2 非线性序列生成器,滤波生成器(Filter geneator)滤波生成器又叫前馈生成器,由几个LFSR和滤波(前馈)函数g(x)两部分组成滤波函数要求具有很好

28、的非线性性质,以增强生成器的抗攻击能力,59,滤波生成器,Geffe生成器使用三个级数两两互素的LFSR,其中LFSR1和LFSR3作为多路复合器的输入,LFSR2控制多路复合器的输出滤波函数,设a1、a2和a3分别是LFSR、LFSR2和L FSR3的输出,则Geffe生成器的输出b为:,60,滤波生成器,Geffe生成器大的周期和线性复杂度 设LFSR1、LFSR2和L FSR3周期分别为T1,T2和T3 ,级数分别为n1, n2和n3,则Geffe生成器的周期为T1T2 T3,线性复杂度为 (n11)n2n1n3.不安全 由于生成器的输出与LFSR2的输出有75是相同的,通过观察输出序列

29、可以获得LFSR的初态和输出序列,即所谓的相关攻击破译Geffe生成器。因此Geffe生成器是不安全的.,61,滤波生成器,J-K触发器LFSR1输出序列ak, 周期为m.LFSR2输出序列bk, 周期为n. J-K触发器输出序列ck,令c-1 =0,有 c0=a0, c1=(a1+b1+1)a0+a1, c2=(a2+b2+1) c1+a2 ,62,J-K触发器,如果gcd(m, n)=1,且a0 + b0 =0,则输出序列ck的周期为: (2m-1) (2n-1). J-K触发器输出序列ck随机性好不安全 已知cn与cn+1, 便能对an+1与bn+1的一个作出判断. cn=cn+1=0

30、an+1 =0; cn=0, cn+1=1 an+1 =1; cn=1, cn+1=0 bn+1 =1; cn=cn+1=1 bn+1 =0.,63,J-K触发器,例2.4.1 令m=2, n=3, 且a0 + b0 =0, LFSR1输出序列 at=011, LFSR2输出序列 bt=1001011. 有 c0=a0=0, c1=(a1+b1+1)a0+a1=(1+0+1)0+1=1, c2=(a2+b2+1) c1+a2=(1+0+1)1+1=1, bk=0110 1001 1101 0100 1001 0. 周期为: L=(2m-1) (2n-1)=(22-1) (23-1)=21.,6

31、4,2.4.2 非线性序列生成器,钟控序列生成器 钟控生成器(Clock controlled generator)是由一个或几个FSR输出序列,控制另一个FSR的时钟。走停生成器(Stop-and-Go generator)当LFSR1输出1时,时钟脉冲通过与门使LFSR2进行一次移位,从而生成下一位;当LFSR1输出0,时钟脉冲无法通过与门使LFSR2移位(走),从而LFSR2重复输出前一位(停),65,钟控序列生成器,钟控序列的周期 设LFSR1输出序列ak, 周期为2m-1,LFSR2输出序列bk, 周期为2n-1,则钟控序列ck的周期为: (2m-1)(2n-1). 钟控序列 ck的

32、线性复杂度为:n(2m-1).,66,钟控序列生成器,例2.6 设LFSR1为一个3级m-序列,其特征多项式为:f1(x)=1+x+x3,取初始值为a0=a1=a2=1, 则输出序列ak=1110100, 周期为231=7. 设LFSR2为一个3级m-序列,其特征多项式为:f1(x)=1+x2+x3,取初始值为b0=b1=b2=1, 则输出序列bk=1110010, 周期为23-1=7. 钟控序列: ck=1110 0000 1011 1111 0001 1101 1111 1001 1000 1111 0000 1001 1 周期为:(2m1)(2n1)=(231)(231)=49. 线性复

33、杂度为:n(2m1)=3(231)=21.,67,第2章 流密码,2.1 流密码一般模型2.2 线性反馈移位寄存器序列2.3 线性复杂度及B-M算法2.4 非线性序列生成器 2.5 流密码算法,68,2.5 流密码算法,RC4算法RC4是由Rivest于1987年开发的一种序列密码,它已被广泛应用于Windows, Lotus Notes和其它软件,还被用于安全套接字(SSL)和无线通信系统等.RC4优点是算法简单、高效,特别适于软件实现,加密速度比DES大约快10倍。RC4可以支持不同密钥长度,美国政府特别限定,用于出口的RC4的密钥长度不得超过40位。,69,2.5 流密码算法,RC4使用

34、了一个28字节大小的非线性数据表(简称S表), S表的值S0,S1,S255是数字0到255的一个排列。对S表进行非线性变换,得到密钥流。,RC4对S表的初始化算法(两个计数器I和J, I=0 , J=0),1. 对S表进行线性填充:SI=I, 0I255; 2. 用密钥填充另一个256字节的数组K,如果密钥长 度小于256字节,则依次重复填充,直至填满这个数组中:K0, K1, K255; 3. 对于I=0到255重复以下步骤: (1) J=J+SI+KI (mod 256); (2) 交换SI和SJ 。,70,RC4算法,RC4输出密钥流字节z的算法,1. I=0, J=02. I=I +

35、1 (mod 256);3. J=J+SI (mod 256);4. 交换SI和SJ; 5. t=SI +SJ (mod 256 ) ;6. z=St .,71,2.5 流密码算法,A5算法A5有两个版本:A5/1和A5/2,前者有更高的安全性,根据相关法规限制被仅用于欧洲范围,而后者用于其它地区。A5算法从未公布于众,但因为一些疏漏,该算法被Bradford大学研究人员泄密,我国学者徐胜波、何大可和王新梅也由此于1994年率先实现A5算法。A5是欧洲数字蜂窝移动电话系统(GSM)采用的流密码算法,用于加密从移动台到基站的连接。,72,2.5 流密码算法,A5算法GSM 会话每帧有228bit

36、A5算法的密钥长64bit有一个22bit表征会话帧数每次产生228bit会话密钥。,73,A5算法,A5算法,74,A5算法,LFRS1: g1(x)=x19+x18+x17+x14+1; LFRS2: g2(x)=x22+x21+x17+x13+1; LFRS3: g3(x)=x23+x22+x19+x18+1.时钟控制系统 输入: LFRS1(10)= x, LFRS2(11)= y, LFRS3(12)= z控制逻辑: 如果LFRS1(10)=LFRS2(11)=LFRS3(12), 则3个LFRS都移1位; 否则相等的2个LFRS移1位, 另1个LFRS不移位. 钟控函数:g(x, y, z)= xy + xz + yz 输出序列: LFRS1+LFRS2+LFRS3,75,2.5 序列密码实例,A5算法工作过程(1)将64比特密钥输入LFSR;(2)将22比特帧数与LFSR反馈值模2加,再输入LFSR;(3)LFSR开始停走钟控;(4)舍去产生的100比特输出;(5)产生114比特作为密钥流;(6)舍去产生的100比特输出;(7)产生114比特作为密钥流。,76,第2章 习 题,P50: 习题1-7.,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号