偽隨機(jī)序列及其在通信加密中的應(yīng)用

偽隨機(jī)序列(Pseudonoise Sequence)又稱偽噪聲或偽隨機(jī)碼,具有類(lèi)似隨機(jī)信號(hào)的一些統(tǒng)計(jì)特性,但又是有規(guī)律的,容易產(chǎn)生和復(fù)翩的。最大長(zhǎng)度線性移位寄存器序列(m序列)是保密通信中非常重要的一種偽隨機(jī)序列,他具有隨機(jī)性、規(guī)律性及較好的自相關(guān)和互相關(guān)性,而且密鑰量很大,可以用于數(shù)字通信的加密和解密處理。

一、m序列的性質(zhì)

1、均衡特性

m序列每一周期中1的個(gè)數(shù)比0的個(gè)數(shù)多1個(gè)。由于P=2n-1為奇數(shù),因而在每個(gè)周期中1的個(gè)數(shù)為(p+1)/2=2n-1為偶數(shù),而0的個(gè)數(shù)為(p-1)/2=2n-1-1為奇數(shù)。

2、隨機(jī)性

一個(gè)序列中取值(1或0)相同連在一起的元索合稱為一個(gè)游程。一個(gè)游程中元素的個(gè)數(shù)稱為游程長(zhǎng)度。m序列的一個(gè)周期(p=2n-1)中,游程總數(shù)為2n-1。其中長(zhǎng)度為1
的游程個(gè)數(shù)占游程總數(shù)的1/2;長(zhǎng)度為2的游程個(gè)數(shù)占游程總數(shù)的1/4;長(zhǎng)度為3的游程個(gè)數(shù)占游程總數(shù)的1/8;長(zhǎng)度為是的游程個(gè)數(shù)占游程總數(shù)的1/2k,其中1≤k≤(n-2)。而且在長(zhǎng)度為k的游程中,連1游程與連O游程各占一半,長(zhǎng)為(n-1)的游程是連0游程,長(zhǎng)為以的游程是連1游程。

3、自相關(guān)性和互相關(guān)性

m序列和其移位后的序列逐位模2加,所得的序列還是m序列,只是相位不同。研序列發(fā)生器中的對(duì)于兩個(gè)不同相位的m序列,當(dāng)周期p很大且τ模P≠0時(shí),這兩個(gè)序列幾乎是正交的。

二、m序列的產(chǎn)生

m序列是由帶線性反饋的移位寄存器產(chǎn)生的周期最長(zhǎng)的一種二進(jìn)制序列。線性反饋移位寄存器的一般結(jié)構(gòu)如圖1所示。他由n級(jí)移位寄存器、若干模二加法器組成線性反饋邏輯網(wǎng)絡(luò)和時(shí)鐘脈沖產(chǎn)生器連接而成。

偽隨機(jī)序列及其在通信加密中的應(yīng)用

圖1中移位寄存器的狀態(tài)用ai表示(i=0,1,…,n-1),ci表示反饋線的連接狀態(tài),相當(dāng)于反饋系數(shù),ci=1表示此線接通,參與反饋邏輯運(yùn)算,ci=0表示此線斷開(kāi),不參與運(yùn)算,co=cn=1。通常移位寄存器的最后一級(jí)作輸出,輸出序列為:

輸出序列是一個(gè)周期序列,其特性由移位寄存器的級(jí)數(shù)、初始狀態(tài)、反饋邏輯及時(shí)鐘頻率所決定。

偽隨機(jī)序列及其在通信加密中的應(yīng)用

1、遞推關(guān)系式

設(shè)圖1中的線性反饋移位寄存器的初始狀態(tài)為(a0,a1…an-1),經(jīng)一次移位線性反饋,移位寄存器左端第一級(jí)的輸入如式(1)所示:

偽隨機(jī)序列及其在通信加密中的應(yīng)用

若經(jīng)k次移位,則第一級(jí)的輸入如式(2)所示:

偽隨機(jī)序列及其在通信加密中的應(yīng)用

2、特征多項(xiàng)式

用特征多項(xiàng)式f(x)來(lái)描述線性反饋移位寄存器的反饋連接狀態(tài):

偽隨機(jī)序列及其在通信加密中的應(yīng)用

其中,xi存在表明ci=1,否則ci=0,x本身的取值無(wú)實(shí)際意義,ci的取值決定了移位寄存器的反饋連接。由于co=cN=1,因此f(x)是一個(gè)常數(shù)項(xiàng)為1的以次多項(xiàng)式。f(x)為移位寄存器的級(jí)數(shù)。

3、產(chǎn)生研序列的充要條件

一個(gè)n級(jí)線性反饋移位寄存器能產(chǎn)生m序列的充要條件是他的特征多項(xiàng)式為一個(gè)n次本原多項(xiàng)式。即f(x)滿足下列條件:

(1)f(x)為既約多項(xiàng)式;

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

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

三、數(shù)字通信的加密

加密的基本思想是:用研序列將攜帶信息的數(shù)字信號(hào)在統(tǒng)計(jì)結(jié)構(gòu)上隨機(jī)化,即“白化”,以達(dá)到隱藏信息的目的,對(duì)于0,1序列,在實(shí)現(xiàn)時(shí)只要用仇序列與原信號(hào)進(jìn)行異 或,得到的密文是類(lèi)似于白噪聲的偽隨機(jī)序列。將這種加密序列在信道里傳輸,被他人竊聽(tīng)也無(wú)法理解其內(nèi)容。解密時(shí)只有用完全相同的m序列對(duì)密文再次進(jìn)行異或,才能還原出原信號(hào)。其原理框圖如圖2所示。

偽隨機(jī)序列及其在通信加密中的應(yīng)用

1、m序列產(chǎn)生器

用線性反饋移位寄存器構(gòu)成研序列產(chǎn)生器,關(guān)鍵是由特征多項(xiàng)式來(lái)確定反饋線的狀態(tài)。圖3為4級(jí)研序列產(chǎn)生的邏輯框圖。

偽隨機(jī)序列及其在通信加密中的應(yīng)用

對(duì)應(yīng)的本原多項(xiàng)式為: 給寄存器賦除全零外的任何二進(jìn)制序列作為初始值,當(dāng)移位時(shí)鐘脈沖上升沿到來(lái)時(shí),每級(jí)寄存器的輸出作為近鄰寄存器的輸入,實(shí)現(xiàn)數(shù)值的右移。其中,第4級(jí)與第3級(jí) 的輸出模二加(異或)后移人第1級(jí)寄存器.產(chǎn)生一個(gè)長(zhǎng)度為15個(gè)時(shí)鐘脈沖周期的二進(jìn)制偽隨機(jī)序列。 設(shè)4級(jí)移位寄存器的初始狀態(tài)為a31a22a13a04= 1111,則輸出序列為:1111→0111→0011→0001→1000→0100→0010→1001→1100→0110→1011→0101→1010→1101→1110→1111。輸出序列{ak}的周期長(zhǎng)度為15。

2、數(shù)字信號(hào)的加密與解密

如圖2所示,信源發(fā)送的數(shù)碼為X,數(shù)碼X與研序列y的各對(duì)應(yīng)位分別進(jìn)行模二加運(yùn)算后,獲得序列E,這時(shí)E序列已失去了原信息的意義,將這種加密序列在信道中傳輸,即使被別人竊聽(tīng),如果不知道m(xù)序列y,就無(wú)法解出攜帶原信息的數(shù)碼X,從而起到加密的作用,假設(shè)信道傳輸過(guò)程中無(wú)誤碼,序列E到達(dá)接收端后與研序列y再進(jìn)行模二加運(yùn)算,可恢復(fù)原數(shù)碼X,即:

偽隨機(jī)序列及其在通信加密中的應(yīng)用

3、VHDL語(yǔ)言的仿真波形

硬件描述語(yǔ)言VHDL (VHSIC Hardware DescriptionLanguage>是電子設(shè)計(jì)自動(dòng)化(EDA)的工具,主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。EDA技術(shù)以計(jì)算機(jī)為工具,完成數(shù)字系統(tǒng)的邏輯綜合、布局布線和設(shè)計(jì)仿真等工作,極大地提高了設(shè)計(jì)效率。設(shè)計(jì)仿真是進(jìn)行設(shè)計(jì)驗(yàn)證的主要手段。邏輯仿真能夠驗(yàn)證設(shè)計(jì)的功能,時(shí)序仿真可以估計(jì)系統(tǒng)時(shí)延。

選用Altera公司的MAX7000S系列中的EPM7128S芯片,宏單元數(shù)為128,采用可編程邏輯設(shè)計(jì)軟件平臺(tái)Max+Plus I進(jìn)行仿真,得到如圖4,圖5所示結(jié)果。

偽隨機(jī)序列及其在通信加密中的應(yīng)用

設(shè)信源發(fā)送的數(shù)碼為X={100100110101...),m序列Y={110000101101...}。源程序如下:

信號(hào)加密程序:

偽隨機(jī)序列及其在通信加密中的應(yīng)用

偽隨機(jī)序列及其在通信加密中的應(yīng)用

從仿真波形可以看出,解密輸出的信號(hào)X就是原始信碼,而在信道中傳輸?shù)腅信號(hào)為加密信號(hào),并且,由于m序列y的偽噪聲特性,使得E信號(hào)具有類(lèi)似白噪聲的特點(diǎn),有效的防止了通信過(guò)程中信號(hào)被竊取。

小知識(shí)之M序列

M序列(即De Bruijn序列)又叫做偽隨機(jī)序列、偽噪聲(PN)碼或偽隨機(jī)碼。可以預(yù)先確定并且可以重復(fù)實(shí)現(xiàn)的序列稱為確定序列;既不能預(yù)先確定又不能重復(fù)實(shí)現(xiàn)的序列稱隨機(jī)序列;不能預(yù)先確定但可以重復(fù)產(chǎn)生的序列稱偽隨機(jī)序列。