无线通信安全-03第三讲 序列密码的设计与分析 (2)

合集下载

无线通信中的序列设计

无线通信中的序列设计

无线通信中的序列设计一、引言无线通信技术是现代通信领域的重要分支,它涉及到许多方面的知识,其中序列设计是其中一个重要的方面。

序列设计在无线通信中具有非常重要的作用,它可以用来实现频谱扩展、多路复用、同步和加密等功能。

本文将从序列设计的基本概念开始,逐步介绍无线通信中的序列设计相关内容。

二、基本概念1. 序列序列是一组有限或无限排列在一起的数字或符号。

在无线通信中,序列可以是离散时间信号或连续时间信号。

2. 自相关函数自相关函数(Auto-Correlation Function)是一个序列与其自身滞后版本之间的相似度度量。

它可以用来判断一个序列是否具有周期性。

3. 互相关函数互相关函数(Cross-Correlation Function)是两个不同序列之间相似度度量。

它可以用来判断两个序列之间是否存在相似性。

三、序列设计方法1. 伪随机码生成器伪随机码生成器(Pseudo-Random Code Generator)是一种能够产生高度复杂且看起来随机的数字序列的算法。

在无线通信中,这些数字序列可以用来实现频谱扩展、多路复用、同步和加密等功能。

2. 奇偶校验码奇偶校验码(Parity Check Code)是一种能够检测和纠正数据传输中错误的编码方法。

在无线通信中,奇偶校验码可以用来检测数据传输中的错误。

3. 循环冗余校验码循环冗余校验码(Cyclic Redundancy Check)是一种能够检测和纠正数据传输中错误的编码方法。

在无线通信中,循环冗余校验码可以用来检测数据传输中的错误。

4. 波形设计波形设计是指通过对数字序列进行变换或滤波,使得它们具有特定的频谱特性。

在无线通信中,波形设计可以用来实现频谱扩展和抑制干扰等功能。

四、序列在无线通信中的应用1. 频谱扩展频谱扩展是一种将信号占用带宽增加的技术。

在无线通信中,频谱扩展可以通过使用伪随机码或波形设计来实现。

2. 多路复用多路复用是指将多个用户的信息同时发送到同一个接收机上。

序列密码——精选推荐

序列密码——精选推荐

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

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。

现代密码学之03序列密码

现代密码学之03序列密码
反馈移存器是序列密码设计中常用的一种初始乱源, 其目的是:
(1)以种子密钥为移存器的初态,按照确定的递推关 系,产生周期长、统计特性好的初始乱源序列。
(2)继而利用非线性函数、有记忆变换、采样变换等 手段,产生抗破译能力强的乱数序列。
在序列密码设计中,大多使用周期达到最大的那些 序列,包括:
(1)二元域GF(2)上的线性递归序列 (2)2n元域GF(2n)上的线性递归序列 (3)剩余类环Z/(2n)上的线性递归序列 (4)非线性递归序列
3.2.2 线性反馈移存器(LFSR)简介
c0=1
c1
c2 …

x1
x2
am-1
am-2
cn-2 xn-1
cn-1
cn
xn am-n
一、当ci=1时,开关闭合,否则断开;c0=1表示总有 反馈;一般cn=1,否则退化。
二、反馈逻辑函数
f(x1, x2, …, xn)=c1x1+c2x2+…+cnxn 三、线性递推式
= c0am+c1Dam+c2D2am+…+cnDnam) = (c0+c1D+c2D2+…+cnDn)am 因此反馈多项式(也称特征多项式)为:
g(x)= c0+c1x+c2x2+…+cnxn
五、状态转移矩阵
给定两个相邻状态:
则有
Sm=(am+n-1,…,am+1,am) Sm+1=(am+n,…,am+2,am+1)
管理问题!
因而人们设想使用少量的真随机数(种子密钥) 按一定的固定规则生成的“伪随机”的密钥序 列代替真正的随机序列ki,这就产生了序列密 码。

无线通信中信号加密技术的研究

无线通信中信号加密技术的研究

无线通信中信号加密技术的研究在当今数字化和信息化的时代,无线通信已经成为我们生活中不可或缺的一部分。

从手机通话到无线网络连接,从卫星通信到物联网设备的交互,无线通信的应用无处不在。

然而,随着无线通信的广泛应用,信息安全问题也日益凸显。

为了保护通信中的敏感信息不被窃取、篡改或滥用,信号加密技术应运而生。

信号加密技术的核心目标是将明文信息转换为密文,使得只有拥有正确密钥的合法接收方能够将密文还原为明文,从而确保信息的保密性、完整性和可用性。

在无线通信中,由于信号通过开放的无线信道传输,更容易受到攻击和窃听,因此加密技术的应用显得尤为重要。

常见的无线通信加密技术可以分为对称加密和非对称加密两大类。

对称加密是指加密和解密使用相同的密钥。

这种加密方式的优点是加密和解密速度快,效率高,适合处理大量数据。

常见的对称加密算法有AES(高级加密标准)、DES(数据加密标准)等。

以AES 为例,它采用分组加密的方式,将明文分成固定长度的分组,然后使用密钥进行多次加密操作,生成密文。

在无线通信中,对称加密常用于对实时性要求较高的数据加密,如语音通话、视频流等。

然而,对称加密也存在一些局限性。

由于加密和解密使用相同的密钥,密钥的分发和管理成为一个关键问题。

如果密钥在传输过程中被窃取,那么整个通信的安全性将受到威胁。

非对称加密则使用一对密钥,即公钥和私钥。

公钥可以公开,任何人都可以使用公钥对信息进行加密,但只有拥有私钥的接收方能够解密。

常见的非对称加密算法有 RSA、ECC(椭圆曲线加密算法)等。

RSA 算法基于大整数分解的数学难题,具有较高的安全性,但计算复杂度相对较高。

ECC 则利用椭圆曲线的数学特性,在提供相同安全性的前提下,使用较短的密钥长度,降低了计算和存储开销。

非对称加密在密钥管理方面具有优势,但其加密和解密速度较慢,一般用于加密对称加密的密钥,或者对少量重要数据进行加密,如数字证书、身份验证信息等。

除了上述传统的加密技术,量子加密技术作为一种新兴的加密手段,也逐渐引起了人们的关注。

序列密码算法

序列密码算法

序列密码算法随着互联网的飞速发展,信息安全问题越来越受到人们的关注。

在信息安全领域中,密码学是一门重要的学科,其研究的对象就是如何保护信息的机密性、完整性和可用性。

密码学中的一种重要技术就是密码算法,而序列密码算法就是其中的一种。

序列密码算法是一种基于序列的密码算法,它使用一个生成器生成一个伪随机序列,然后将该序列与明文进行异或操作,得到密文。

在解密时,使用相同的生成器生成相同的伪随机序列,再将密文与该序列进行异或操作,即可得到明文。

因此,序列密码算法的安全性主要依赖于伪随机序列的质量。

序列密码算法有很多种,其中最常见的是RC4算法。

RC4算法是一种流密码(Stream Cipher)算法,它采用变长密钥,最长可达256位,但通常使用40位或128位密钥。

RC4算法的主要流程如下:1. 初始化阶段:生成一个S盒(S-Box)和一个T盒(T-Box)。

2. 密钥调度阶段:使用密钥填充S盒和T盒。

3. 伪随机数生成阶段:使用S盒和T盒生成伪随机数序列。

4. 加密阶段:将伪随机数序列与明文进行异或操作,得到密文。

5. 解密阶段:使用相同的密钥和相同的S盒和T盒生成相同的伪随机数序列,再将密文与该序列进行异或操作,即可得到明文。

RC4算法具有以下优点:1. 加密速度快:由于RC4算法采用流密码算法,每次只需要处理一位明文,因此加密速度非常快。

2. 实现简单:RC4算法的实现非常简单,只需要一些基本的位运算和数组操作即可。

3. 可逆性强:RC4算法的加密和解密使用相同的密钥和相同的算法,因此具有强的可逆性。

但是,RC4算法也存在一些缺点:1. 密钥长度较短:RC4算法的密钥长度最长只能达到256位,这使得它的安全性受到了一定的限制。

2. 安全性不足:由于RC4算法的S盒和T盒生成方式不够随机,因此可能存在安全漏洞,容易受到攻击。

为了弥补RC4算法的不足,人们提出了很多改进的序列密码算法,如Salsa20、ChaCha20等。

序列密码

序列密码

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

序列密码(讲用)

序列密码(讲用)
输出
f(x1,x2,x3)=x1x2⊕x3 一个GF(2)上的3阶非线性反馈移位寄存器
18/32
在初始状态下,即0时刻
第3级 第2级 第1级 输出
1
0
1
f(x1,x2,x3)=x1x2⊕x3 在第一个时钟到来时
第3级 第2级 第1级
S0=(1, 0, 1)
输出
1 1 f(x1,x2,x3)=x1x2⊕x3 x1=1, x2=0, x3=1
12/32
自同步序列密码
自同步序列密码的密钥流的产生和已经产生的固定数量 的密文字符有关,即是一种有记忆变换的序列密码。如图所 示。 密钥流 生成器 密 钥 流 ki 明文流mi 加密算法E 自同步序列密码模型
13/32
密钥流 生成器 密 钥 流 ki 密文流ci 解密算法D 明文流mi
自同步序列密码的特点
输出序列满足: an+t=c1an+t-1+c2an+t-2+…+cnat,t≥0
21/32
例 设一个GF(2)上的5阶线性反馈移位寄存器如图所示,其反 馈函数为f(x1,x2,x3,x4,x5)=x1⊕x4,初始状态为S0= (1,0,0,1,1) x5 x4 x3 x2 x1 输出
+ 容易验证该线性反馈移位寄存器的输出序列为 1001101001000010101110110001111100110…, 这个线性移位寄存器序列是一个周期序列,周期为31。
2/32
容易想到,使用流密码对消息 m 执行加密时,最简单的 做法就是让密钥流中的第 i 个比特与明文串中的对应比特直 接做 XOR 运算,即
对应的解密算法为:
3/32
由于实现XOR逻辑运算非常简单, 因此这 样的加解密操作将是快速有效的。如果这里的 密钥流是完全随机的(random)、与明文相同长 度的比特串,对应的密码被称为一次一密体制 (one-time pad)。显然,此时明文串与密文串之 间就是相互独立的。 不知道密钥的攻击者即 便守候在公开信道上从而得到密文串,他也无 法获得关于明文的任何信息。事实上, Shannon曾证明了“一次一密的密码体制是不 可破解的(unbreakable)”。

序列密码(讲用)

序列密码(讲用)
分组密码使用的是一个不随时间变化的固定变换,具有 扩散性好、插入敏感等优点;其缺点是:加密处理速度慢。
9
序列密码
序列密码为一六元组(P,C,K,L,E,D)和函数g,并满足 以下条件:
1. P是由所有可能明文构成的有限集。 2. C是由所有可能密文构成的有限集。 3. K是由所有可能密钥构成的有限集。
因为确定性算法产生的序列是周期的或准 周期的,为了使序列密码达到要求的安全保密 性,密钥经其扩展成的密钥流序列应该具有如 下性质:极大的周期、良好的统计特性、抗线 性分析、抗统计分析。
我们仅对实用中最感兴趣的二元情形即 GF(2)上的序列密码原理进行介绍,但其理论 是可以在任何有限域GF(q)中进行研究的。
5
由此可见, 序列密码的安全性主要依赖于密钥序列k0k1…=A(k), 当k0k1…是离散无记忆的随机序列时,则该系统就是一次一密密 码, 它是不可破的. 但通常A(k)是一个由k通过确定性算法产生的 伪随机序列, 因而此时, 该系统就不再是完全保密的. 设计序列密 码的关键是设计密钥序列A(k),密钥序列A(k)的设计应考虑如 下几个因素:
(2)无错误传输。在传输期间,一个密文字符被改变只 影响该字符的恢复,不会对后继字符产生影响。
12
自同步序列密码
自同步序列密码的密钥流的产生和已经产生的固定数量 的密文字符有关,即是一种有记忆变换的序列密码。如图所 示。
密钥流 生成器
密钥流 生成器
密 钥 流
ki 明文流mi 加密算法E
密文流ci
密 钥 流
《应用密码学》
序列密码
1
1 概述
按照对明文消息加密方式的不同,对称密码体制一般可以分为两类:分组密 码(block cipher)和流密码(stream cipher) 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

无线通信安全
11
1. 序列的随机性 [例1]

讨论序列:
1010 1110 1100 0111 1100 1101 0010 000 1010 1110 1100 0111 1100 1101 0010 000…
的随机性。
无线通信安全
12
小结

寻找生成一个具有良好随机特性密码序 列的方法:

解:输出序列为101111000100110 1011110001 00110…。
可见该序列具有周期15, 是否序列都是周期的呢?
无线通信安全
22
[定理1 ]

n级线性反馈移位寄存器的输出序列是周 期的,周期最大为2n-1。 证明
密码设计者感兴趣序列 是什么?

无线通信安全
23
2.3 m序列及其随机性
无线通信安全
9
1. 序列的随机性
Golomb随机性公设: ① 在序列的一个周期内,0与1的个数相差至多为1。 ② 在序列的一个周期内,长为i的游程占游程总数的 1/2i (i=1,2,…),且在等长的游程中0的游程个数和1的 游程个数相等。 ③ 异相自相关函数是一个常数。
①说明{ai}中0与1出现的概率基本上相同;
0 0
0
1
0
1
输出
1 0 1 0 0 0
带反馈的移位寄存器
1 0 1 0
无线通信安全
2.2 n阶反馈移位寄存器
xn xn-1
... ...
x2
x1
输出
f(x1,x2,…,xn-1,xn)
几个术语 反馈移位寄存器的状态 初始状态 反馈移位寄存器序列 状态序列
无线通信安全
17
线性反馈移位寄存器的定义
1 11
0
r-游程 1≤r≤n-2
0的游程 2n-r-2
1的游程 2n-r-2
游程 2n-r-1
占总游程比 1/2r
r=n-1
r=n
1
0
0
1
1
1
1/2r
1/2n-1
r>n
无线通信安全
0
0
0
0
28
所以,m序列满足第二公设。
m序列是伪随机序列的证明
③ Golomb第三公设:{ai}是周期为2n-1的m序列, 对于任一正整数τ(0<τ<2n-1),{ai}+{ai+τ}在 一个周期内为0的位的数目正好是序列{ai}和 {ai+τ}对应位相同的位的数目。 设序列{ai}满足递推关系: ah+n=c1ah+n-1 c2ah+n-2 … cnah 故ah+n+τ=c1ah+n+τ-1 c2ah+n+τ-2 … cnah+τ ah+n ah+n+τ=c1(ah+n-1 ah+n+τ-1) c2(ah+n-2 ah+n+τ-2) … cn(ah ah+τ)
0 11 1 11 1
n 1个1
n个1
11 1 0
n 1个1
无线通信安全
27
m序列是伪随机序列的证明
由于 , n 1个1 这两个状态只 n 1个1 能各出现一次,所以不会有1的n-1游程。 于是在一个周期内,总游程数为
1 1 2n i 1 2n 1
i 1 n2
0 11

在线性反馈移位寄存器中总是假定 c1,c2,…,cn中至少有一个不为0,否则 f(a1,a2,…,an)≡0,这样的话,在n个脉冲 后状态必然是00…0,且这个状态必将一 直持续下去。 一般对于n级线性反馈移位寄存器,总是 假定cn=1。
20

无线通信安全
线性反馈移位寄存器

写出例2的反馈函数,当初始状态为1010时, 求输出序列的周期?
并行加载 输入
0
1
0
1
输出
解:由图 可知反馈移位寄存器的阶数是4, 其反馈函数是:f(x1,x2,x3,x4)= x1 + x3 从表 7.2.1可知其输出序列为101000 101000…,周期为6。
无线通信安全
21
线性反馈移位寄存器

设n=4,s0=(1,0,1,1),f(x1,x2,x3,x4)= x1 + x2,计算输出序列。


线性移位寄存器LFSR、 非线性移位寄存器NLFSR、 有限自动机、 线性同余等方法 混沌密码序列技术。
这些方法都是通过一个种子(有限长)产生具有足够长 周期的、良好随机性的序列,在传递、存储序列时,只 需传递、存储生成器的方法和种子。
无线通信安全
13
2. 线性移位寄存器的结构与设计
移位寄存器与移位寄存器序列 n阶反馈移位寄存器 m序列及其随机性 LFSR的软件实现

无线通信安全
14
2.1 移位寄存器与移位寄存器序列
Parallel load
1
Shift in
0
1
0
0
1
0
1
Shift out

一个8位移位寄存器
Parallel load
0
Shift in
1
0
1
0
0
1
0
Shift out

无线通信安全
移入一个0以后的寄存器内容
15
2.1 移位寄存器与移位寄存器序列


非线性反馈移位寄存器的序列密码

非线性反馈移位寄存器序列 利用进位寄存器反馈的移位寄存器 非线性前馈序列
2
无线通信安全
典型序列密码算法——A5算法
本章目标



了解序列随机性的基本概念 重点:Golomb随机性公设 了解线性反馈移位寄存器的基本概念 m序列的基本概念及其随机性的讨论 LFSR的软件实现 m序列密码的破译 非线性反馈移位寄存器的序列密码 掌握A5算法的基本原理

如果一个GF(q)上的n阶反馈移位寄存器的反馈 函数形如:
f(x1,x2,…,xn-1,xn)= cn x1 + cn-1 x2 + … + c1 xn,
其中ci∈GF(q),1≤i≤n,则称其为线性反馈 移位寄存器,用LFSR(Linear Feedback Shift Register)表示;否则,称其为非线性反馈移位 寄存器,用NLFSR(Nonlinear Feedback Shift Register)表示。
无线通信安全
6
1. 序列的随机性

看起来是随机的

满足伪随机序列的Golomb三条公设

0和1的个数相等 r游程基本上占游程总数的1/2r 异相自相关函数是一个常数

能通过我们所能找到的所有随机性统计检验
无线通信安全
7
1. 序列的随机性
[定义] 在序列{ki | i=1,2,…}的周期为p,在它 的一个周期kl+1,kl+2,…,kl+p中,如果: km≠km+1= km+2=…= km+r≠km+r +1, l+1≤m+1<m+r≤l+p,则(km+1, km+2,…, km+r) 称为序列的一个r-游程(run)。 例: 设{ai}=(a1a2a3…)为0、1序列,例如00110111, 其前两个数字是00,称为0的2游程;接着是11, 是1的2游程;再下来是0的1游程和1的3游程。
显然,R(np)= 1,( n = 0,1,2,…,)这称为同相自相关 函数 ;当τ≠np时,称R(τ)为异相自相关函数。nτ就是延迟时 间τ后的序列与原序列在一个周期内相同比特的个数,反映了 序列比特的均匀分布特性。如果nτ是一个常数,则说明分布 完全均匀,也就是说,通过这种平移比较得不到任何其它信 息。
无线通信安全
8
1. 序列的随机性
[定义] 设序列{ki | i=1,2,…}的周期为p,令nτ=
#{i | 1≤i≤p,ki = ki +τ}, dτ= #{i | 1≤i≤p,ki ≠ ki +τ},
则R(τ) =
n d p
,τ = 0,1,2,…称为序列{ki |
i=1,2,…}的自相关函数。
2n1 1 2n1 1 R n n 2 1 2 1
(证毕)
无线通信安全
30
线性移位寄存器的特征多项式
设LFSR的反馈系数为c1, c2,..., cn,即: an+k=c1 an+k-1 + c2 a n+k-2 + … + cn ak,i=0,1,2,…。 (1) 可以用一个一元高次多项式来表示:
1, 0 R 1 n , 0 2 2 n 2 1
无线通信安全
25
m序列是伪随机序列的证明
证明: ① Golomb第一公设:在n长m序列的一个周期内, 除了全0状态外,每个n长状态(共有2n-1个)都恰 好出现一次,这些状态中有2n-1个在a1位是1,其余 2n-1-2n-1=2n-1-1个状态在a1位是0。 ②Golomb第二公设:对n=1,2,易证结论成立。 对n>2,当1≤i≤n-2时,n长m序列的一个周期内, 长为i的0游程数目等于序列中如下形式的状态数目: 100…01*…*,其中n-i-2个*可任取0或1。这种状 态共有2n-i-2个。同理可得长为i的1游程数目也等于 2n-i-2,所以长为i的游程总数为2n-i-1。
定义:周期为2n-1的LFSR序列称为m序 列。 随机性如何? m序列的特点:
相关文档
最新文档