第7章 序列密码
序列密码——精选推荐

序列密码序列密码引⾔序列密码⼜称流密码,它是将明⽂串逐位地加密成密⽂字符。
并有实现简单、速度快、错误传播少等特点。
密码按加密形式可分为:分组密码序列密码密码按密钥分为:对称密码(私钥密码)⾮对称密码(公钥密码)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;良好的统计特征。
应用密码学(1-10章全) 精品

• 密码学是信息安全学科建设和信息系统安全工程实践 的基础理论之一。
• 对密码学或密码技术一无所知的人不可能从技术层面 上完全理解信息安全。
4/31
第1章 密码学概述
1.2 密码技术发展简介
根据不同时期密码技术采用的加密和解密实现手段的不同特点 ,密码技术的发展历史大致可以划分为三个时期,即古典密码、 近代密码和现代密码时期。
9/31
第1章 密码学概述
1.3.1密码学的主要任务(续) ③ 鉴别
这是一种与数据来源和身份鉴别有关的安全服务。鉴别服务包括对身 份的鉴别和对数据源的鉴别。对于一次通信,必须确信通信的对端是预期的 实体,这就涉及到身份的鉴别。 对于数据,仍然希望每一个数据单元发送到或来源于预期的实体, 这就是数据源鉴别。数据源鉴别隐含地提供数据完整性服务。密码学可通过 数据加密、数字签名或鉴别协议等技术来提供这种真实性服务。
第1章 密码学概述
本章主要内容
• 信息安全与密码技术 • 密码技术发展简介 • 密码学基本概念 密码学的主要任务 密码系统的概念
对密码系统的攻击
密码系统的安全性 密码体制的分类
对称与非对称密码体制的主要特点
3/31
第1章 密码学概述
1.1
信息安全与密码技术
• 密码技术是一门古老的技术; • 信息安全服务要依赖各种安全机制来实现,而许多安 全机制则需要依赖于密码技术 ; • 密码学贯穿于网络信息安全的整个过程,在解决信息 的机密性保护、可鉴别性、完整性保护和信息抗抵赖 性等方面发挥着极其重要的作用。
应用密码学
清华大学出版社 2008年9月
课程主要内容
序列密码讲解及事例

5.1.4 伪随机数的评价标准
(1)看起来是随机的,表明它可以通过所有随机性统计检验。 现在的许多统计测试。它们采用了各种形式,但共同思路是它们 全都以统计方式检查来自发生器的数据流,尝试发现数据是否是随 机的。 确 保 数 据 流 随 机 性 的 最 广 为 人 知 的 测 试 套 件 就 是 George Marsaglia 的 DIEHARD 软件包(请参阅 / pub/diehard/)。另一个适合此类测试的合理软件包是 pLab(请参 阅http://random.mat.sbg.ac.at/tests/)。 (2)它是不可预测的。即使给出产生序列的算法或硬件和所有以 前产生的比特流的全部知识,也不可能通过计算来预测下一个随机 比特应是什么。 (3)它不能可靠地重复产生。如果用完全同样的输入对序列产生 7 器操作两次将得到两个不相关的随机序列。
21
反馈函数f(a1,a2,…,an)是n元布尔函数,即n个变元a1,a2,…,an 可以 独立地取0和1两个可能的值,函数中的运算有逻辑与、逻辑或、逻 辑补等运算,最后的函数值也为0或1。
9
这就是为什么所有序列密码也有密钥的原因。密钥流发生器的 输出是密钥的函数。 这样,Alice有一个明文/密文对,但她只能读到用特定密钥加 密的消息。 更换密钥,攻击者就不得不重新分析。 流密码是将明文划分成字符(如单个字母),或其编码的基本单 元(如0, 1数字),字符分别与密钥流作用进行加密,解密时以同步 产生的同样的密钥流实现。 • 流密码强度完全依赖于密钥序列的随机性(Randomness)和不
13
自同步序列密码举例
例 假设种子密钥为k=h,之后的密钥是上一个密文。采用移位密 码,明文为cryptography,列表给出它的加密和解密过程。
序列密码——精选推荐

序列密码基本概念序列密码的加密⽤⼀个随机序列(密钥流)与明⽂序列按位叠加产⽣密⽂,⽤同⼀随机序列与密⽂序列叠加来恢复明⽂。
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。
序列密码非线性反馈移位寄存器

PART.6
总结
总结
序列密码-非线性反馈移位 寄存器是一种高效、安全、 易于实现的密码学模块,广 泛应用于各种安全应用场景
在未来,随着对安全性和性 能需求的不断提高,非线性 反馈移位寄存器的研究和应 用将进一步深化和拓展
PART.4
非线性反馈移位寄存器的优 点
非线性反馈移位寄存器的优点
非线性反馈移位寄存器的优点包括
非线性反馈移位寄存器的优点
01
产生的密钥序列 具有较高的复杂 性和不可预测性: 因此具有较强的 安全性
02
非线性反馈移位 寄存器的设计可 以灵活地适应不 同的安全需求和 性能要求
03
非线性反馈移位 寄存器的实现简 单:易于大规模 生产
非线性反馈移位寄存器的未来研究方向
形式化验证和测试
形式化验证和测试是确保密码学模块安全性和正确性的重要手段。需要进一步研究和开发 更为高效、准确的形式化验证和测试方法,对非线性反馈移位寄存器进行更为严格的验证 和测试,以确保其安全性和正确性
PART.8
总结
总结
序列密码-非线性反 馈移位寄存器是一种 重要的密码学模块, 具有广泛的反馈移位寄存器的未来研究方向
随着互联网和物联网 技术的不断发展,需 要适应新的应用场景 ,研究和开发更为高 效、安全、灵活的非 线性反馈移位寄存器 ,以满足各种新的安 全需求
非线性反馈移位寄存器的未来研究方向
轻量级设计
随着移动设备和物联网设备的普及,需要研 究和设计更为轻量级的非线性反馈移位寄存 器,以降低功耗和成本,适应各种资源受限 的设备和应用场景
2
非线性反馈移位寄存器 (Nonlinear Feedback Shift Register,NFSR)是 用于生成序列密码的常见模
清华大学出版社 密码学PPT课件

✓ 在密码应用方面,各种有实用价值的密码体制的快速实现受到高度重视, 许多密码标准、应用软件和产品被开发和应用,美国、德国、日本和我国 等许多国家已经颁布了数字签名法,使数字签名在电子商务和电子政务等
同时在公钥密码领域椭囿曲线密码体制由于其安全性高计算速度快等优点引起了人们的普遍关注和研究幵在公钥密码技术中叏得重在密码应用斱面各种有实用价值的密码体制的快速实现叐到高度重视许多密码标准应用软件和产品被开収和应用美国德国日本和我国等许多国家巫经颁布了数字签名法使数字签名在电子商务和电子政务等领域得到了法律的认可推劢了密码学研究和应用的収展
可以对用该密钥加密的任何新的消息进行解密。
④ 选择密文攻击(Chosen—ciphenext attack)
选择密文攻击是指密码分析者可以选择一些密文,并得到相应的明文
1.3.3 对密码系统的攻击
密码分析者破译或攻击密码的方法主要有穷举攻击法、统计分析法和数学分 析攻击法。
(1)穷举攻击法
穷举攻击法又称为强力或蛮力(Brute force)攻击。这种攻击方法是 对截获到的密文尝试遍历所有可能的密钥,直到获得了一种从密文到明文的 可理解的转换;或使用不变的密钥对所有可能的明文加密直到得到与截获到 的密文一致为止。
1.3.1密码学的主要任务(续)
③ 鉴别
这是一种与数据来源和身份鉴别有关的安全服务。鉴别服务包括对身份 的鉴别和对数据源的鉴别。对于一次通信,必须确信通信的对端是预期的实 体,这就涉及到身份的鉴别。
密码学第7章 流密码

分组密码与流密码的区别:有无记忆性
流密码的滚动密钥 z0 f (k, 0 ) 由函数 f 、密钥 k 和指定的初态 0 完全确定。此后,由于输入加密 器的明文可能影响加密器中内部记忆元件的存储 状态,因而 i (i 0) 可能依赖于 k, 0 , x0 , x1, , xi1 等 参数。
同步流密码
根据加密器中记忆元件的存储状态 i 是否依赖于输入的明文字 符,流密码可进一步分成同步和自同步两种。
i 独立于明文字符的叫做同步流密码,否则叫做自同步流密码。 由于自同步流密码的密钥流的产生与明文有关,因而较难从理论
上进行分析。目前大多数研究成果都是关于同步流密码的。
在同步流密码中,由于密钥流 zi f (k,i ) 与明文字符无关,因而 此时密文字符 yi Ezi (xi ) 也不依赖于此前的明文字符。因此,可将 同步流密码的加密器分成密钥流产生器和加密变换器两个部分。
ak ak1 ak2 ak3 ak4 (k 4)
和给定的初始状态求出,设初始状态为 0001,则输出序列 为 000110001100011…,周期为 5,不是 m 序列。
定义 2:若 n 次不可约多项式 p(x) 的周期为 2n 1,则称 p(x) 是 n 次本原多项式。
一般地,序列密码中对密钥流有如下要求(接近随机序列): 极大的周期:按任何算法产生的序列都是周期的 良好的统计特性:均匀的游程分布,更好地掩盖明文 高线性复杂度:不能从一小段密钥推知整个密钥序列。 用统计方法由密钥序列ki提取密钥生成器结构或密钥源的足够 信息在计算上是不可能的。
只要选择合适的反馈函数便可使序列的周期达到最大值 2n 1,周期达到最大器的一元多项式表示
设 n 级 LFSR 的输出序列满足递推关系
序列密码

+ 容易验证该线性反馈移位寄存器的输出序列为 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 序列密码定义
• 香农的保密理论提出:一次一密是理论完全保密的密码体 香农的保密理论提出: 但是必须满足随机的密钥序列必须满足与明文等长。 制,但是必须满足随机的密钥序列必须满足与明文等长。 • 设想使用少量的真随机数按一定的固定规则生成“伪随机” 设想使用少量的真随机数按一定的固定规则生成“伪随机” 的密钥序列,代替真正的随机序列。这就产生了序列密码。 的密钥序列,代替真正的随机序列。这就产生了序列密码。 序列密码关键就是如何设计伪随机序列。 序列密码关键就是如何设计伪随机序列。 • 少量的真随机数,就是序列密码的密钥,也有人称为种子 少量的真随机数,就是序列密码的密钥, 密钥。 密钥。 • 序列密码的安全性基础在于如何刻画密钥序列“随机性” 序列密码的安全性基础在于如何刻画密钥序列“随机性”, 如何保障密钥序列的“随机性” 如何保障密钥序列的“随机性”不会造成加密算法在实际 中被攻破。 中被攻破。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定义7.6.4 二元序列a a0 , a1,..., aN1 的线性复 杂度C(a)定义为产生该序列的级数
最少的线性移位寄存器的级数。对全零序列 a,约定C(a)=0。
定理 7.6.7 设α= {ai}是二元周期序列, 且序列{ai}的线性复杂度C(α)=L≥1,则 只要知道{ai}中任意相继的2L位就可确定整 个序列{ai}及产生{ai}的极小多项式。
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
7.1.4 布尔函数不同性质之间的关系
一种性质表示了函数在某一应用中的性能, 其量化便是这种性能的衡量指标,如非线性 是密码系统中为抵抗线性攻击而提出的性能, 非线性度则是衡量其非线性性能强弱的指标。 若从这个意义上讲,非线性度越高越好,但 非线性度达到最高的函数,其他性能将变弱。 如当非线性度达到最高时,将失去相关免疫 性。因此,研究不同性质之间的关系,特别 是不同性能指标之间的数量关系是布尔函数 研究中的一个重要课题。
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
定理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}的自相关函数为二值:
NF
2 n1
1
22
。
7.2 序列密码的原理
信源
编码器
加密器
信宿
信 源
译码器
加 密 器
解密器
解
信
密
宿
器
明文序列 mi
密钥序列生成器
ki
器 kI
密钥源
kI
秘密信道
器
ci
密钥序列生成器
器
mi
恢复的明文序列
7.3 序列的伪随机性
定义 7.3.1序列{ai}称为周期序列,若存在 正整数使得
aiT ai , i 0,1,2, (7.3.1)
定理7.3 足N f 2n1
任 2意n2,1n使元等布式尔成函立数(f(即x)非的线非性线度性最度高满)的
函数定义为Bent函数。
定义7.5 若对任意c (c1, , cn ) GF (2)n , w(c) 1 ,有
w( f (x) f (x c)) 2n1,即 f (x) f (x c) 是平衡函数,则
2
P( f (x) wx) 1 S( f ) (w) 2
,这里P(.)表示概率。
7.1.2 布尔函数的非线性
定义 7.3 设f(x)是一个n元布尔函数,记Ln[x]
为所有n元线性函数(包括仿射函数)之集。
f(x)的非线性度定义为
min d( f ,l) min w( f l)
lLn [ x]
7.1.5 多输出布尔函数
定义7.8 设F(x) ( f1(x), , fm (x)) 是GF (2)n到GF (2)m的 多输出布尔函数,令
D(F) min deg( F | 0, GF(2)m
m
min{deg( bi fi (x)) | (b1, ,bm ) 0, (b1, ,bm ) GF(2)m}
称f(x)满足严格雪崩准则。若将f(x)的任意k个分 量固定为常数,得到n-k的元函数均满足严格雪崩 准则,则f(x)称满足k(0≤k≤n-2)阶雪崩准则。严 格雪崩准则记为SAC,k阶雪崩准则记为SAC(k)。 满足严格雪崩准则的函数称为SAC函数。
定义7.6 设 GF (2)n , 0 ,若 f (x) f (x ) 是 平衡函数,即 w( f (x) f (x )) 2n1
定理 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
第7章 序列密码
序列密码又称流密码。它是将明文消息字符 串逐位地加密成密文字符。
7.1 布尔函数
7.1.1 布尔函数的表示 真值表 小项表示 多项式表示 Walsh谱表示
定义7.1 设 x (x1, , xn ) ,w (w1, , wn ) GF (2)n,x 与w的点积定义为x w x1w1 xn wn GF (2)
若的r周i两期两为互素,f(nx)(与2ri 各1) 变元均有关,则{kj}
,n元布尔函数f(x)的Walsh变换定义为
,其逆变换为 2n1
S f (w) 2n (1)wx f (x)
2n 1
f (x) 2n S f (w)(1)wx
x0
w0
。S f (w)(wGF(2)n ) 称为的第一种谱或Walsh谱。
2n 1
定义7.2 定义 为f(x)的 S( f ) (w) 2n (1) f (x) (1)wx
F(x)满足严格雪崩准则(SAC)。称F(x)是 SAC函数。
定义7.12 设 ,若 , F(x) ( f1(x), , fm (x)), m n
F 2nm
则称F(x)是完全非线性函数。
定义7.13 设 F(x) ( f1(x), , fm (x)), m n,称
为F(x)的非线性度。 N F
定理 7.6.5 n级线性移位寄存器产生的状态序列有 最大周期2n-1的必要条件是其特征多项式p(x)是 不可约的。
定义7.6.3 p(x)为n次不可约多项式,若p(x)阶为 2n-1 ,称p(x)为n次本原多项式。
定理7.6.6 {ai}为n级m序列的充要条件是其特征 多项式p(x)为n次本原多项式。
x
j
1
使得p(x)|xp-1的最小p称为p(x)的周期或
的p(x)阶。
定理 7.6.3 若p(x)为GF(2)上的n次多项式, 且p(x)是序列{ai}的特征多项式,p为p(x) 的阶,则{ai}的周期r|p。
定理 7.6.4 设m(x)是产生线性移位寄存器序列 {ai}的极小多项式,则{ai}的周期等于多项式m(x) 的阶。
则称D(F)为i1 F(x)的代数次数。这里 fi (x)(1 i m) 是n元布尔函数,deg( .)表示布尔函数的 代数次数。当D(F)=k时,称F(x)为k次函 数。
定义7.9 设F(x) ( f1(x), , fm (x)), m n ,若对任意
GF (2)m ,集合{ | GF (2)n , F ( ) }
当 计, xim且独仅立当,或z与者,当x中且1,的仅, x任当n m互个信随息机变量I(
z;
xi1
,, ,
xim
)
统
0
对 当任m=一1组时x,i1 ,称,fx(ixm ),1是1i1阶 相 关im 免 疫n 成函立数。,或一般地
称为相关免疫函数;当m≥2时,亦称f(x)为高阶
免疫函数。
一个函数f(x)是相关免疫的,也说f(x)具有相关免 疫性,或说f(x)满足相关免疫准则。
k
2n
k
1
0
k
1
这里f(0)=0。
定理7.7.2 设LFSR为n级m序列生成器, f (x ) f (x 0 , x 1, , x n1) 。若f(x)的次数为k,则 {kj}的线性复杂度C({kj})满足
k
C(kj )
C
j n
i 1
7.7.3非线性组合序列
定理 7.7.3 设 ai , k, f (x), ri ,(i 1,2, ,, n) 如前所述。
3) 自相关函数为二值。
7.4 序列密码对密钥流的要求
(1) 极大的周期。周期不少于3×1016或255。 (2) 良好的统计特性。即满足或部分满足Golomb
的三个随机性假设。 (3) 不能用级数较小的(可实现长度)线性移位寄存
器近似代替。即有很高的线性复杂度。 (4) 用统计方法由密钥序列提取密钥生成器结构或
密钥源的足够信息在计算上是不可能的。 以上要求对保证系统安全性是必要的,但不是充分 的。
7.5 密钥流生成器
密钥流生成器
7.6 线性移位寄存器
反馈移位寄存器
例 7.6.1 有一个三级移位寄存器如图
其中初态为 s1 (a1, a2 , a3 ) (1,0,1) 。则 此移位寄存器输出序列为
101110111011… 它是周期为4的序列。
f (a1, a2 ,..., an ) cn a1 cn1a2 ... c1an
状态
10 1
110 111 011 101 110
……
输出
1 0 1 1 1 0 …
定义 7.6.1 当n级线性移位寄存器产生的序列{ai} 的周期为T=2n+1时,则称{ai}为n级m序列。
满足(7.3.1)式的最小正整数T称为序列{ai} 的周期。若存在n0,使得 an0 , an01, 是周期 序列,则称{ai}是终归周期的。