伪随机序列(Pseudonoise Sequence)又称伪噪声或伪随机码,具有类似随机信号的一些统计特性,但又是有规律的,容易产生和复翩的。最大长度线性移位寄存器序列(m序列)是保密通信中非常重要的一种伪随机序列,他具有随机性、规律性及较好的自相关和互相关性,而且密钥量很大,可以用于数字通信的加密和解密处理。

一、m序列的性质

1、均衡特性

m序列每一周期中1的个数比0的个数多1个。由于P=2n-1为奇数,因而在每个周期中1的个数为(p+1)/2=2n-1为偶数,而0的个数为(p-1)/2=2n-1-1为奇数。

2、随机性

一个序列中取值(1或0)相同连在一起的元索合称为一个游程。一个游程中元素的个数称为游程长度。m序列的一个周期(p=2n-1)中,游程总数为2n-1。其中长度为1
的游程个数占游程总数的1/2;长度为2的游程个数占游程总数的1/4;长度为3的游程个数占游程总数的1/8;长度为是的游程个数占游程总数的1/2k,其中1≤k≤(n-2)。而且在长度为k的游程中,连1游程与连O游程各占一半,长为(n-1)的游程是连0游程,长为以的游程是连1游程。

3、自相关性和互相关性

m序列和其移位后的序列逐位模2加,所得的序列还是m序列,只是相位不同。研序列发生器中的对于两个不同相位的m序列,当周期p很大且τ模P≠0时,这两个序列几乎是正交的。

二、m序列的产生

m序列是由带线性反馈的移位寄存器产生的周期最长的一种二进制序列。线性反馈移位寄存器的一般结构如图1所示。他由n级移位寄存器、若干模二加法器组成线性反馈逻辑网络和时钟脉冲产生器连接而成。

伪随机序列及其在通信加密中的应用

图1中移位寄存器的状态用ai表示(i=0,1,…,n-1),ci表示反馈线的连接状态,相当于反馈系数,ci=1表示此线接通,参与反馈逻辑运算,ci=0表示此线断开,不参与运算,co=cn=1。通常移位寄存器的最后一级作输出,输出序列为:

输出序列是一个周期序列,其特性由移位寄存器的级数、初始状态、反馈逻辑及时钟频率所决定。

伪随机序列及其在通信加密中的应用

1、递推关系式

设图1中的线性反馈移位寄存器的初始状态为(a0,a1…an-1),经一次移位线性反馈,移位寄存器左端第一级的输入如式(1)所示:

伪随机序列及其在通信加密中的应用

若经k次移位,则第一级的输入如式(2)所示:

伪随机序列及其在通信加密中的应用

2、特征多项式

用特征多项式f(x)来描述线性反馈移位寄存器的反馈连接状态:

伪随机序列及其在通信加密中的应用

其中,xi存在表明ci=1,否则ci=0,x本身的取值无实际意义,ci的取值决定了移位寄存器的反馈连接。由于co=cN=1,因此f(x)是一个常数项为1的以次多项式。f(x)为移位寄存器的级数。

3、产生研序列的充要条件

一个n级线性反馈移位寄存器能产生m序列的充要条件是他的特征多项式为一个n次本原多项式。即f(x)满足下列条件:

(1)f(x)为既约多项式;

(2)f(x)可整除(xp+1),p=2n-1;

(3)f(x)除不尽(xq+1),q<p。

三、数字通信的加密

加密的基本思想是:用研序列将携带信息的数字信号在统计结构上随机化,即“白化”,以达到隐藏信息的目的,对于0,1序列,在实现时只要用仇序列与原信号进行异 或,得到的密文是类似于白噪声的伪随机序列。将这种加密序列在信道里传输,被他人窃听也无法理解其内容。解密时只有用完全相同的m序列对密文再次进行异或,才能还原出原信号。其原理框图如图2所示。

伪随机序列及其在通信加密中的应用

1、m序列产生器

用线性反馈移位寄存器构成研序列产生器,关键是由特征多项式来确定反馈线的状态。图3为4级研序列产生的逻辑框图。

伪随机序列及其在通信加密中的应用

对应的本原多项式为: 给寄存器赋除全零外的任何二进制序列作为初始值,当移位时钟脉冲上升沿到来时,每级寄存器的输出作为近邻寄存器的输入,实现数值的右移。其中,第4级与第3级 的输出模二加(异或)后移人第1级寄存器.产生一个长度为15个时钟脉冲周期的二进制伪随机序列。 设4级移位寄存器的初始状态为a31a22a13a04= 1111,则输出序列为:1111→0111→0011→0001→1000→0100→0010→1001→1100→0110→1011→0101→1010→1101→1110→1111。输出序列{ak}的周期长度为15。

2、数字信号的加密与解密

如图2所示,信源发送的数码为X,数码X与研序列y的各对应位分别进行模二加运算后,获得序列E,这时E序列已失去了原信息的意义,将这种加密序列在信道中传输,即使被别人窃听,如果不知道m序列y,就无法解出携带原信息的数码X,从而起到加密的作用,假设信道传输过程中无误码,序列E到达接收端后与研序列y再进行模二加运算,可恢复原数码X,即:

伪随机序列及其在通信加密中的应用

3、VHDL语言的仿真波形

硬件描述语言VHDL (VHSIC Hardware DescriptionLanguage>是电子设计自动化(EDA)的工具,主要用于描述数字系统的结构、行为、功能和接口。EDA技术以计算机为工具,完成数字系统的逻辑综合、布局布线和设计仿真等工作,极大地提高了设计效率。设计仿真是进行设计验证的主要手段。逻辑仿真能够验证设计的功能,时序仿真可以估计系统时延。

选用Altera公司的MAX7000S系列中的EPM7128S芯片,宏单元数为128,采用可编程逻辑设计软件平台Max+Plus I进行仿真,得到如图4,图5所示结果。

伪随机序列及其在通信加密中的应用

设信源发送的数码为X={100100110101...),m序列Y={110000101101...}。源程序如下:

信号加密程序:

伪随机序列及其在通信加密中的应用

伪随机序列及其在通信加密中的应用

从仿真波形可以看出,解密输出的信号X就是原始信码,而在信道中传输的E信号为加密信号,并且,由于m序列y的伪噪声特性,使得E信号具有类似白噪声的特点,有效的防止了通信过程中信号被窃取。

小知识之M序列

M序列(即De Bruijn序列)又叫做伪随机序列、伪噪声(PN)码或伪随机码。可以预先确定并且可以重复实现的序列称为确定序列;既不能预先确定又不能重复实现的序列称随机序列;不能预先确定但可以重复产生的序列称伪随机序列。