第4章(序列密码)
合集下载
现代密码学第4章4:差分和线性分析

4
1.差分密码分析
定义:r-轮特征(r-round characteristic) Ω是 一个差分序列:α0,α1,…,αr 其中α0是明文对Y0和Y*0的差分, αi(1≤i≤r)是第i轮输出Yi和Y*i的差分。 r-轮特征Ω=α0,α1,…,αr的概率是指在明文 Y0和子密钥K1,…,Kr独立、均匀随机时,明文 对Y0和Y*0的差分为α0的条件下,第i(1≤i≤r) 轮输出Yi和Y*i的差分为αi的概率。
13
2. 线性密码分析
从而可得关于密钥比特的一个线性方程。 对不同的明文密文对重复以上过程,可得关 于密钥的一组线性方程,从而确定出密钥比 特。
14
2. 线性密码分析
研究表明,当 p 1 2 充分小时,攻击成 功的概率是
1 2
N
1 2 N p 2
e
x2 2
dx
1 p 这一概率只依赖于 2 ,并随着N或 1 p 的增加而增加。 2
5
1.差分密码分析
定义在r-轮特征Ω=α0,α1,…,αr中,定义 pi =P(ΔF(Y)=α |ΔY=α ) i i-1 p 即 i 表示在输入差分为αi-1的条件下,轮函 数F的输出差分为αi的概率。 r-轮特征 Ω=α0,α1,…,αr的概率近似看 r p 作 i。
i 1
6
1.差分密码分析过程
8
1.密码分析复杂度
一种攻击的复杂度可以分为两部分: 数据复杂度和处理复杂度。 数据复杂度是实施该攻击所需输入的数 据量; 而处理复杂度是处理这些数据所需的计 算量。这两部分的主要部分通常被用来刻画 该攻击的复杂度。
9
1.差分密码分析复杂度
差分密码分析的数据复杂度是成对加密 所需的选择明文对(Y0,Y*0)个数的两倍。 差分密码分析的处理复杂度是从 (ΔYr-1, Yr, Y*r)找出子密钥Kr(或Kr的部分比 特)的计算量,它实际上与r无关,而且由于 轮函数是弱的,所以此计算量在大多数情况 下相对较小。 因此,差分密码分析的复杂度取决于它 的数据复杂度。
1.差分密码分析
定义:r-轮特征(r-round characteristic) Ω是 一个差分序列:α0,α1,…,αr 其中α0是明文对Y0和Y*0的差分, αi(1≤i≤r)是第i轮输出Yi和Y*i的差分。 r-轮特征Ω=α0,α1,…,αr的概率是指在明文 Y0和子密钥K1,…,Kr独立、均匀随机时,明文 对Y0和Y*0的差分为α0的条件下,第i(1≤i≤r) 轮输出Yi和Y*i的差分为αi的概率。
13
2. 线性密码分析
从而可得关于密钥比特的一个线性方程。 对不同的明文密文对重复以上过程,可得关 于密钥的一组线性方程,从而确定出密钥比 特。
14
2. 线性密码分析
研究表明,当 p 1 2 充分小时,攻击成 功的概率是
1 2
N
1 2 N p 2
e
x2 2
dx
1 p 这一概率只依赖于 2 ,并随着N或 1 p 的增加而增加。 2
5
1.差分密码分析
定义在r-轮特征Ω=α0,α1,…,αr中,定义 pi =P(ΔF(Y)=α |ΔY=α ) i i-1 p 即 i 表示在输入差分为αi-1的条件下,轮函 数F的输出差分为αi的概率。 r-轮特征 Ω=α0,α1,…,αr的概率近似看 r p 作 i。
i 1
6
1.差分密码分析过程
8
1.密码分析复杂度
一种攻击的复杂度可以分为两部分: 数据复杂度和处理复杂度。 数据复杂度是实施该攻击所需输入的数 据量; 而处理复杂度是处理这些数据所需的计 算量。这两部分的主要部分通常被用来刻画 该攻击的复杂度。
9
1.差分密码分析复杂度
差分密码分析的数据复杂度是成对加密 所需的选择明文对(Y0,Y*0)个数的两倍。 差分密码分析的处理复杂度是从 (ΔYr-1, Yr, Y*r)找出子密钥Kr(或Kr的部分比 特)的计算量,它实际上与r无关,而且由于 轮函数是弱的,所以此计算量在大多数情况 下相对较小。 因此,差分密码分析的复杂度取决于它 的数据复杂度。
网络安全技术 第4章

对称密钥密码体制(1)
对称密码体制是从传统的简单换位发展而来的。其主 要特点是:加解密双方在加解密过程中要使用完全相 同或本质上等同(即从其中一个容易推出另一个)的 密钥,即加密密钥与解密密钥是相同的。所以称为传 统密码体制或常规密钥密码体制,也可称之为私钥、 单钥或对称密码体制。其通信模型如图4.2所示。
本章主要内容
1 2 3 4 5
密码技术概述 加密方法 密钥与密码破译方法 常用信息加密技术介绍 数据压缩
4.1 密码技术概述
密码技术包括密码算法设计、密码分析、安全 协议、身份认证、消息确认、数字签名、密钥 管理、密钥托管等。可以说密码技术是保护大 型通信网络上传输信息的惟一实现手段,是保 障信息安全的核心技术。它不仅能够保证机密 性信息的加密,而且能完成数字签名、身份验 证、系统安全等功能。所以,使用密码技术不 仅可以保证信息的机密性,而且可以保证信息 的完整性和准确性,防止信息被篡改、伪造和 假冒。
三种加密方式
链路加密方式:把网络上传输的数据报文的每一位进行加密。不但对数 据报文正文加密,而且把路由信息、校验和等控制信息全部加密。所以, 当数据报文传输到某个中间节点时,必须被解密以获得路由信息和校验 和,进行路由选择、差错检测,然后再被加密,发送给下一个节点,直 到数据报文到达目的节点为止。目前一般网络通信安全主要采这种方式。 节点对节点加密方式:为了解决在节点中数据是明文的缺点,在中间节 点里装有用于加、解密的保护装置,即由这个装置来完成一个密钥向另 一个密钥的变换。因而,除了在保护装置里,即使在节点内也不会出现 明文。但是这种方式和链路加密方式一样,有一个共同的缺点:需要目 前的公共网络提供者配合,修改他们的交换节点,增加安全单元或保护 装置。 端对端加密方式:为了解决链路加密方式和节点对节点加密方式的不足, 人们提出了端对端加密方式,也称面向协议加密方式。在这种方式中, 由发送方加密的数据在没有到达最终目的地——接受节点之前不被解密。 加密解密只是在源节点和目的节点进行。因此,这种方式可以实现按各 通信对象的要求改变加密密钥以及按应用程序进行密钥管理等,而且采 用此方式可以解决文件加密问题。这一方法的优点是:网络上的每个用 户可有不同的加密关键词,并且网络本身不需增添任何专门的加密设备; 缺点是每个系统必须有一个加密设备和相应的软件(管理加密关键词) 或者每个系统必须自己完成加密工作,当数据传输率是按兆位/秒的单位 计算时,加密任务的计算量是很大的。
现代密码学第4章4:差分和线性分析

《现代密码学》第4章(4)
分组密码:
差分密码分析与线性密码分析
1
本节主要内容
1、差分密码分析 2、线性密码分析
2
1. 差分密码分析
差分密码分析是迄今已知的攻击迭 代密码最有效的方法之一,其基本思想 是: 通过分析明文对的差值对密文对 的差值的影响来恢复某些密钥比特。
3
1.差分密码分析
对分组长度为n的r轮迭代密码,两个 n 比 *1 特串Yi和Y*i的差分定义为Yi Yi Yi 表示n比特串集上的一个特定群运 其中 * 1 算, Yi 表示 Yi* 在此群中的逆元。 由加密对可得差分序列: ΔY0,ΔY1,…,ΔYr 其中Y0和Y*0是明文对,Yi和Y*i(1≤i≤r)是 第i轮的输出,它们同时也是第i+1轮的输入。 第i轮的子密钥记为Ki,F是轮函数,且 Yi=F(Yi-1,Ki)。
10
2. 线性密码分析
线性密码分析是对迭代密码的一种已知 明文攻击,它利用的是密码算法中的“不平 衡(有效)的线性逼近”。
A[i, j,, k ] A[i] A[ j ] A[k ]
设明文分组长度和密文分组长度都为n比 特,密钥分组长度为m比特。记 明文分组为P[1],P[2],…,P[n], 密文分组为C[1],C[2],…,C[n], 密钥分组为K[1],K[2],…,K[m]。
8
1.密码分析复杂度
一种攻击的复杂度可以分为两部分: 数据复杂度和处理复杂度。 数据复杂度是实施该攻击所需输入的数 据量; 而处理复杂度是处理这些数据所需的计 算量。这两部分的主要部分通常被用来刻画 该攻击的复杂度。
9
1.差分密码分析复杂度
差分密码分析的数据复杂度是成对加密 所需的选择明文对(Y0,Y*0)个数的两倍。 差分密码分析的处理复杂度是从 (ΔYr-1, Yr, Y*r)找出子密钥Kr(或Kr的部分比 特)的计算量,它实际上与r无关,而且由于 轮函数是弱的,所以此计算量在大多数情况 下相对较小。 因此,差分密码分析的复杂度取决于它 的数据复杂度。
分组密码:
差分密码分析与线性密码分析
1
本节主要内容
1、差分密码分析 2、线性密码分析
2
1. 差分密码分析
差分密码分析是迄今已知的攻击迭 代密码最有效的方法之一,其基本思想 是: 通过分析明文对的差值对密文对 的差值的影响来恢复某些密钥比特。
3
1.差分密码分析
对分组长度为n的r轮迭代密码,两个 n 比 *1 特串Yi和Y*i的差分定义为Yi Yi Yi 表示n比特串集上的一个特定群运 其中 * 1 算, Yi 表示 Yi* 在此群中的逆元。 由加密对可得差分序列: ΔY0,ΔY1,…,ΔYr 其中Y0和Y*0是明文对,Yi和Y*i(1≤i≤r)是 第i轮的输出,它们同时也是第i+1轮的输入。 第i轮的子密钥记为Ki,F是轮函数,且 Yi=F(Yi-1,Ki)。
10
2. 线性密码分析
线性密码分析是对迭代密码的一种已知 明文攻击,它利用的是密码算法中的“不平 衡(有效)的线性逼近”。
A[i, j,, k ] A[i] A[ j ] A[k ]
设明文分组长度和密文分组长度都为n比 特,密钥分组长度为m比特。记 明文分组为P[1],P[2],…,P[n], 密文分组为C[1],C[2],…,C[n], 密钥分组为K[1],K[2],…,K[m]。
8
1.密码分析复杂度
一种攻击的复杂度可以分为两部分: 数据复杂度和处理复杂度。 数据复杂度是实施该攻击所需输入的数 据量; 而处理复杂度是处理这些数据所需的计 算量。这两部分的主要部分通常被用来刻画 该攻击的复杂度。
9
1.差分密码分析复杂度
差分密码分析的数据复杂度是成对加密 所需的选择明文对(Y0,Y*0)个数的两倍。 差分密码分析的处理复杂度是从 (ΔYr-1, Yr, Y*r)找出子密钥Kr(或Kr的部分比 特)的计算量,它实际上与r无关,而且由于 轮函数是弱的,所以此计算量在大多数情况 下相对较小。 因此,差分密码分析的复杂度取决于它 的数据复杂度。
生物信息学习题

第六章 分子系统发生分析(问题与练习)
1、构建系统发生树,应使用
A、BLAST
B、FASTA
C、UPGMA
D、Entrez
2、构建系统树的主要方法有
、
、
等。
3、根据生物分子数据进行系统发生分析有哪些优点?
4、在 5 个分类单元所形成的所有可能的有根系统发生树中,随机抽取一棵树是反映真实关
系的树的可能性是多少?从这些分类单元所有可能的无根系统发生树中,随机选择一棵
库
8、TreeBASE 系统主要用于
A、发现新基因 B、系统生物学研究 C、类群间系统发育关系研究 D、序列比对
二、 问答题
1、 为什么说 SWISS-PROT 是最重要的蛋白质一级数据库?
2、 构建蛋白质二级数据库的基本原则是什么?
3、 构建蛋白质二级数据库的主要方法有哪些?
4、 叙述 SCOP 数据库对蛋白质分类的主要依据
第八章 后基因组时代的生物信息学(问题与练习)
1、 比较生物还原论与生物综合论的异同 2、 简述“后基因组生物信息学”的基本研究思路 3、 后基因组生物信息学的主要挑战是什么? 4、 功能基因组系统学的基本特征是什么? 5、 说明后基因组生物信息学对信息流动的最新理解 6、 列举几种预测蛋白质-蛋白质相互作用的理论方法 7、 解释从基因表达水平关联预测蛋白质-蛋白质相互作用的理论方法 8、 解释基因保守近邻法预测蛋白质-蛋白质相互作用的理论方法 9、 解释基因融合法预测蛋白质-蛋白质相互作用的理论方法 10、解释种系轮廓发生法预测蛋白质-蛋白质相互作用的理论方法
1、蛋白质得分矩阵类型有 、
、、
和
等。
2、对位排列主要有局部比对和 三、运算题 1、画出下面两条序列的简单点阵图。将第一条序列放在 x 坐标轴上,将第二条序列放在 y
第4章 序列密码体制

假的 Alice 得到一份密文和相应的明文,她就可以将两者异或 恢复出密钥流。或者,如果她有两个用同一个密钥流加密的密文, 她就可以让两者异或得到两个明文互相异或而成的消息。这是很容 易破译的,接着她就可以用明文跟密文异或得出密钥流。 现在,无论她再拦截到什么密文消息,她都可以用她所拥有的 密钥流进行解密。另外,她还可以解密,并阅读以前截获到的消息 。一旦Alice得到一明文/密文对,她就可以读懂任何东西了。
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.1.4 伪随机数的评价标准
(1)看起来是随机的,表明它可以通过所有随机性统计检验。 现在的许多统计测试。它们采用了各种形式,但共同思路是它们 全都以统计方式检查来自发生器的数据流,尝试发现数据是否是随 机的。 确 保 数 据 流 随 机 性 的 最 广 为 人 知 的 测 试 套 件 就 是 George Marsaglia 的 DIEHARD 软件包(请参阅 / pub/diehard/)。另一个适合此类测试的合理软件包是 pLab(请参 阅http://random.mat.sbg.ac.at/tests/)。 (2)它是不可预测的。即使给出产生序列的算法或硬件和所有以 前产生的比特流的全部知识,也不可能通过计算来预测下一个随机 比特应是什么。 (3)它不能可靠地重复产生。如果用完全同样的输入对序列产生 器操作两次将得到两个不相关的随机序列。
签名中的素数。
4.1.1 随机数的使用
序列密码的保密性完全取决于密钥的随机性。如果密钥是真正 的随机数,则这种体制在理论上就是不可破译的。但这种方式所需 的密钥量大得惊人,在实际中是不可行的。 目前一般采用伪随机序列来代替随机序列作为密钥序列,也就 是序列存在着一定的循环周期。这样序列周期的长短就成为保密性 的关键。如果周期足够长,就会有比较好的保密性。现在周期小于 1010的序列很少被采用,周期长达1050的序列也并不少见。
第四章 密码学基础1

混乱:
指明文、密钥和密文之间的统计关系尽可能
复杂,使得攻击者无法理出三者的相互依赖 关系。
s-p网络的轮函数包括3个变换:代换、 置换、密钥混合。
4.3.2 DES数据加密标准
1 算法简介
数据加密标准(Data Encryption Standard,DES) 是使用 最广泛的密码系统。1973年美国国家标准局征求国家 密码标准文字,IBM公司于1974年提交,于1977年被 采纳为DES。 DES出现后20年间,在数据加密方面发挥了不可替代的 作用。20世纪90年代后,随着技术的发展,密钥长度 偏短,DES不断传出被破译的进展情况。1998年12月 美国国家标准局不再用DES作为官方机密,推荐为一般 商业应用,于2001年11月发布了高级加密标准 (AES)。
字母表是循环的,Z后面的是A,能定义替换
表,即密钥。 明文:a b c d e f g h I j k l m n o p q r s t uvwxyz 密文: D E F G H I J K L M N O P Q R S T U VWXYZABC
Caesar算法能用如下公式表示: C=E(3,m)=(m+3) mod 26 如果对字母表中的每个字母用它之后的第k个 字母来代换,而不是固定其后面第3个字母, 则得到了一般的Caesar算法: C=E(k,m)=(m+k) mod 26
如果加密、解密用不同的密钥,是非对 称加密。图解
Ek1(P)=C
Dk2(C)=P Dk2(Ek1(P))=P
4.1.3密码的分类 1按应用技术分:
手工密码 机械密码 电子机内乱密码
通过电子电线,程序进行逻辑运算,以少量制乱
精品文档-密码学基础(范九伦)-第4章

第4章 Hash函数
实际应用中的Hash函数可分为简单的Hash函数和带密钥的 Hash函数。带密钥的Hash函数通常用来作为消息认证码(Message Authentication Code)。假定Alice和Bob有一个共享的密钥k, 通过该密钥可以产生一个Hash函数Hk。对于消息x,Alice和Bob 都能够计算出相应的消息摘要y=Hk(x)。Alice通过公共通信信道 将二元组(x,y)发送给Bob。当Bob接收到(x,y)后,它可以通过 检验y=Hk(x)是否成立来确定消息x的完整性。如果y=Hk(x)成立, 说明消息x和消息摘要y都没有被篡改。
第4章 Hash函数
下面给出带密钥的Hash函数族的定义。 定义4.1.4 一个带密钥的Hash函数族包括以下构成要素: (1) X:所有消息的集合(有限集或无限集); (2) Y:所有消息摘要构成的有限集合; (3) K:密钥空间,是所有密钥的有限集合; (4) 对任意的k∈K,都存在一个Hash函数Hk∈H,Hk: X→Y。 如果Hk(x)=y,则二元组(x,y)∈X×Y称为在密钥k下是有效 的。
第4章 Hash函数 生日攻击的思想来源于概率论中一个著名的问题——生日问
题。该问题是问一个班级中至少要有多少个学生才能够使得有两 个学生生日相同的概率大于1/2。该问题的答案是23。即只要班 级中学生的人数大于23人,则班上有两个人生日相同的概率就将 大于1/2。基于生日问题的生日攻击意味着要保证消息摘要对碰 撞问题是安全的,则安全消息摘要的长度就有一个下界。例如, 长度为40比特的消息摘要是非常不安全的,因为仅仅在220(大约 为一百万)个随机Hash函数值中就有50%的概率发现一个碰撞。所 以对于安全的消息摘要,现在通常建议可接受的最小长度为128 比特(此时生日攻击需要超过264个Hash函数值)。而实际使用的消 息摘要一般为160比特甚至更长。
第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
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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所示。
由此可见, 序列密码的安全性主要依赖于密钥序列 k0k1…=A(k),当k0k1…是离散无记忆的随机序列时, 则该系统就是一次一密密码, 它是不可破的. 但通常 A(k)是一个由k通过确定性算法产生的伪随机序列, 因 而此时, 该系统就不再是完全保密的. 设计序列密码的 关键是设计密钥序列A(k),密钥序列A(k)的设计应考虑 如下几个因素: (1)系统的安全保密性; (2)密钥k易于分配、保管,更换简便; (3)产生密钥序列简单快速。 目前最为流行和实用的密钥流产生器,其驱动部分是 一个或多个线性反馈移位寄存器。
线性反馈移位寄存器输出序列的性质完全由 其反馈函数决定。n级线性反馈移位寄存器最 多有2n个不同的状态。若其初始状态为0,则 其状态恒为0。若其初始状态非0,则其后继状 态不会为0。因此n级线性反馈移位寄存器的状 态周期小于等于2n-1。其输出序列的周期与状 态周期相等,也小于等于2n-1。只要选择合适 的反馈函数便可使序列的周期达到最大值2n-1 ,周期达到最大值的序列称为m序列。
例4.1 图4-3 是一个3级反馈移位寄存器,其 初始状态为(a1,a2,a3)=(1,0,1),求出输出序列。
图 4-3 一个3级反馈移位寄存器
一个3级反馈移位寄存器 的状态和输出
状态 (a1,a2,a3)
输出
10
1 0 1 1 1 0
常见的两种密钥流产生器
因为确定性算法产生的序列是周期的或准周 期的,为了使序列密码达到要求的安全保密性, 使得密钥经其扩展成的密钥流序列具有如下性 质:极大的周期、良好的统计特性、抗线性分 析、抗统计分析。 我们仅对实用中最感兴趣的二元情形即GF(2) 上的序列密码原理进行介绍,但其理论是可以 在任何有限域GF(q)中进行研究的。
4.1 引言
人们试图用序列密码方式仿效”一次一密” 密码. 从而促成了序列密码的研究和发展. 序列 密码是世界军事, 外交等领域应用的主流密码 体制. 在通常的序列密码中, 加解密用的密钥序 列是伪随机序列, 它的产生容易且有较成熟的 理论工具, 所以序列密码是当前通用的密码系 统. 序列密码的安全性主要依赖于密钥序列, 因而什么样的伪随机序列是安全可靠的密钥序 列, 以及如何实现这种序列就成了序列密码中 研究的一个主要方面.
设 n 级线性移位寄存器对应于递推关系 (*) , 由于ai∈GF(2) (i=1,2,…,n),所以共有2n组初始 状态,即有2n个递推序列,其中非恒为零的序 列 有 2 n-1 个 , 记 2 n-1 个 非 零 序 列 的 全 体 为 G(p(x))。
图4-5 一个5级线性反馈移位寄存器
在线性反馈移位寄存器中总是假定c1,c2,…,cn 中至少有一个不为0,否则f(a1,a2,…,an)≡0,这 样的话,在n个脉冲后状态必然是00…0,且这 个状态必将一直持续下去。若只有一个系数不 为0,设仅有cj不为0,实际上是一种延迟装置。 一般对于n级线性反馈移位寄存器,总是假定 cn=1。
4.2 序列 密码的一般原理
序列密码的基本思想是利用一个短密钥k通 过一个算法来产生一个密钥流k=k0k1…,并使 用如下规则对明文串m=m0m1m2…加密: c=c0c1c2…=Ek0(m0)Ek1(m1)Ek2(m2)…。密钥流由 密钥流发生器A产生: k0k1…=A(k),
二进制序列密码体制模型
2.2 线性反馈移位寄存器
移位寄存器是序列密码产生密钥流的一个主 要组成部分。GF(2)上一个n级反馈移位寄存器 由n个二元存储器与一个反馈函数f(a1,a2,…,an) 组成,如图4.2所示。
图4.2 GF(2)上的n级反馈移位寄存器
每一存储器称为移位寄存器的一级,在任一 时刻,这些级的内容构成该反馈移位寄存器的 状态,每一状态对应于GF(2)上的一个n维向量, 共有2n种可能的状态。每一时刻的状态可用n 长序列 a1,a2,…,an 或n维向量 (a1,a2,…,an) 表示,其中ai是第i级存储器的内容。