跳時(shí)加密技術(shù)

跳時(shí)加密技術(shù)是通過對(duì)不同用戶采用不同的跳時(shí)碼序列來實(shí)現(xiàn)數(shù)據(jù)文件加密,所選擇的跳時(shí)序列性能的優(yōu)劣直接關(guān)系到整個(gè)信息傳榆系統(tǒng)的安全性能。

一、跳時(shí)加密算法基本原理

1、密碼學(xué)的借鑒

密碼學(xué)的兩個(gè)主要的分類:對(duì)稱加密(私人密鑰加密)和非對(duì)稱加密(公開密鑰加密)。它們的代表分別是DES加密算法(數(shù)據(jù)加密標(biāo)準(zhǔn))和RSA加密算法(電子郵件數(shù)字簽名的經(jīng)典算法)。在這其中,公鑰和私鑰的概念,尤其是分組加密的相關(guān)思想(因?yàn)樘鴷r(shí)序列很多都有周期性,完全適應(yīng)分組加密的標(biāo)準(zhǔn)),對(duì)跳時(shí)加密通信有極強(qiáng)的借鑒意義。

2、跳時(shí)序列的理論界

所謂序列的理論界,是指序列的一些重要參數(shù),如序列長(zhǎng)度、序列數(shù)目、序列自相關(guān)值以及互相關(guān)值等滿足一定約束的不等式。這些理論界稱為判別一個(gè)序列設(shè)計(jì)優(yōu)劣的“標(biāo)準(zhǔn)”。跳時(shí)序列擁有三個(gè)理論界:漢明自相關(guān)函數(shù)、漢明互相關(guān)函數(shù)、碰撞。

3、典型的同余類跳時(shí)序列

(1)線性同余偽隨機(jī)序列

一次跳時(shí)序列即線性同余法,所謂的“偽隨機(jī)序列”指的并不是假的隨機(jī)數(shù),這里的“偽¨是指具有一定的規(guī)律。線性同余法的一般形式是:對(duì)任意初始值,隨機(jī)數(shù)序列有如下遞推公式確定:

跳時(shí)加密技術(shù)

其中:M為模數(shù),M>0;a為乘子,0<a<M;c為增量,0≤c<M;x0為初始值,0<xo<M;取值xi,則是0到M之間的偽隨機(jī)數(shù)。通常,用表達(dá)式LCGs(M,a,c,x0)表示上述隨機(jī)數(shù)發(fā)生器。

對(duì)于一次線性同余,除了對(duì)一些特例可以運(yùn)用費(fèi)馬小定理和歐拉定理以外,對(duì)于一般的同余方程,絕大部分都還沒有一個(gè)比較良好的反解方法,即解跳尚不理想。因此,在后續(xù)的仿真中,也只能運(yùn)用窮舉法來進(jìn)行解跳。但是有一個(gè)很好的特例,就是模數(shù)肘取2的整數(shù)次方,有資料已經(jīng)證明這類線性同余算法可以用移位操作來代替,這對(duì)于通信系統(tǒng)而言,跳時(shí)加密和跳時(shí)解密都可以通過用硬件實(shí)現(xiàn)。

(2)二次跳時(shí)序列

令GF(p)是—個(gè)有限域r=(j,k,l)(j,k,l∈GP(P))。有限域GF(p)上的一般二次跳時(shí)序列cnr=c(j,k,l)定義如下:

跳時(shí)加密技術(shù)

若模素?cái)?shù)p,y為整數(shù),設(shè)x≡y(P+1)/4(modp)

1)若y有一個(gè)模P平方根1,則y的所有模p平方根是±x;

2)若y沒有模p平方根,則-y有一個(gè)模P平方根,且-y的所有平方根是±xo這樣可求解出(j,k,l)=(0,0,1)的二次同余方程。因此后續(xù)的仿真也主要針對(duì)這類跳時(shí)序列。然而盡管有比較典型的跳時(shí)解密算法,這個(gè)算法也還不是很完善。比如5模11的平方根是±4。這就有兩個(gè)解,在GF(7)有限域中,+4對(duì)應(yīng)的就是4。然而-4所對(duì)應(yīng)的就是3。這兩個(gè)解的差異會(huì)導(dǎo)致跳時(shí)解密時(shí)出現(xiàn)問題。但是通過加上部分冗余信息即可糾錯(cuò)。

(3)三次跳時(shí)序列

令p為—個(gè)素?cái)?shù),則在有限域GF(p)中。三次跳時(shí)序列定義如下:

跳時(shí)加密技術(shù)

同理可以推斷三次跳時(shí)序列特性。

二、問題分析

資料查證,通過推證二次和三次跳時(shí)序列的理論界的部分結(jié)論,可以說明跳時(shí)序列的一些特性,以序列可容納用戶數(shù)Nu為例,一般二次跳時(shí)序列為:

跳時(shí)加密技術(shù)

可見j,k,l均有P個(gè)取值,共有p3個(gè)數(shù)集。但這其中,(j,k,l)=(0,0,1)時(shí),為常數(shù)序列,沒有意義。因此二次跳時(shí)序列族及其用戶數(shù)有p3 -p個(gè)。一般三次跳時(shí)序列為:

跳時(shí)加密技術(shù)

同上,三次跳時(shí)序列族即其用戶數(shù)有p4 -p個(gè)。

兩類跳時(shí)序列性能指標(biāo)如表1所示。

跳時(shí)加密技術(shù)

根據(jù)上述結(jié)論,將二次與三次跳時(shí)序列作綜合比較,我們給出的表1,列出了二次和三次跳時(shí)序列所需占用的時(shí)隙數(shù)Nk,序列周期L,設(shè)L=P,最大自相關(guān)值Smax,最大互相關(guān)值Cmax和所能提供的最大用戶數(shù)Nu。從表1可以看出,2次序列的相關(guān)值小于3次序列(Smax和Cmax越小,序列的相關(guān)性能越優(yōu)),因此2次同余序列具有較好的自相關(guān)性和互相關(guān)性。但從表中結(jié)果來看,3次同余序列的用戶數(shù)大,3次序列可以提供最大的用戶數(shù),也是性能良好的跳時(shí)序列。

三、仿真實(shí)驗(yàn)及結(jié)果

1、一次跳時(shí)仿真實(shí)驗(yàn)及結(jié)果

圖1是一次線性跳時(shí)加密的界面,圖2是一次線性跳時(shí)解密程序界面,仿真是序列長(zhǎng)為32的,模擬PCM中的32路時(shí)分復(fù)用。用長(zhǎng)為32的text(i)數(shù)組代表32個(gè)時(shí)隙。用text()的變化代表當(dāng)前時(shí)隙所存儲(chǔ)的是第幾個(gè)用戶的信息。這里默認(rèn)第i個(gè)時(shí)隙存放的是第i個(gè)用戶的信息,可以看出跳時(shí)沒有什么規(guī)律可循,也就是說一次跳時(shí)實(shí)現(xiàn)了加密并且加密強(qiáng)度比較高。

跳時(shí)加密技術(shù)

2、二次仿真實(shí)驗(yàn)數(shù)學(xué)模型

仿真所用的運(yùn)算式是Q2二次跳時(shí)序列族,即:

跳時(shí)加密技術(shù)

其中,取j=1。

3、二次豌時(shí)仿真結(jié)果

1)實(shí)驗(yàn)中,輸人種子為7(只仿真5和7,實(shí)驗(yàn)表明,以上素?cái)?shù)理論上都可以得到同樣結(jié)果。圖3和圖4分別為種子為‘7’時(shí)二次跳時(shí)加密和解密的實(shí)驗(yàn)對(duì)照?qǐng)D。

跳時(shí)加密技術(shù)

2)從表1可以看出,2次序列的Smax值?。ǘ鳶max和Cmax越小,序列的相關(guān)性能越優(yōu)),因此2次同序列實(shí)驗(yàn)表明:

a、在用戶編號(hào)和時(shí)隙一一對(duì)應(yīng)的初始條件下,線性同余和二次同余序列的加密和解密都是完善的;

b、線性同余算法,時(shí)間效率上不算理想,從實(shí)驗(yàn)選用的數(shù)組中看出,跳時(shí)加密用時(shí)30s左右,因?yàn)槎瓮嗟臄?shù)學(xué)算法比較完善,所以相比較一次線性同余而言,程序效率明顯要快很多。

小知識(shí)之時(shí)隙

Timeslot(時(shí)隙)專用于某一個(gè)單個(gè)通道的時(shí)隙信息的串行自復(fù)用的一個(gè)部分。在T1和E1服務(wù)中,一個(gè)時(shí)隙通常是指一個(gè)64kbps的通道。