A5加密算法在雷達(dá)網(wǎng)文件加密中的應(yīng)用

在信息化戰(zhàn)爭(zhēng)中,抵抗對(duì)手的信息進(jìn)攻,提高對(duì)抗中的抗截獲、抗干擾能力,保證文件的安全傳輸迫在眉睫,雷達(dá)網(wǎng)文件通信的安全問題就是其中最重要的組成部分。那么我們今天就來講一下A5加密算法在雷達(dá)網(wǎng)文件加密中的應(yīng)用。

一、A5加密算法原理和特性

A5加密算法是無線接口加密的核心,它是一種典型的基于LFSR的流密碼算法,應(yīng)用于通信兩端,既可用于加密又可用于解密,是一種集互控和停走于一體的鐘控模型。

A5加密算法包括3個(gè)線性移位寄存器LFSR,LFSR-1、LFSR-2、LFSR-3的級(jí)數(shù)分別為r1、r2和r3。如圖所示(圖中數(shù)字表示抽頭)。

A5/1加強(qiáng)型版本中r1=19,r2=22,r3=23,LFSR-1的反饋抽頭是18、17、16、13,LFSR-2的反饋抽頭是21、20、16和12,LFSR-3的反饋抽頭是22、21、18和17。它們的生成多項(xiàng)式分別為:

f1x=x19+x18+x17+x14+1

f2x=x22+x21+x17+x13+1

f3x=x23+x22+x19+x18+1

3個(gè)線性反饋移位寄存器的生成多項(xiàng)式均為本原多項(xiàng)式。

A5加密算法的鐘控采用大數(shù)原則,鐘控位置均在LFSR的中間抽頭上,依次為第9抽頭、第10抽頭和第11抽頭。設(shè)這3個(gè)抽頭在t1時(shí)刻的值依次為x1、x2、x3,則鐘控函數(shù)可寫為:

g(x)=x1x2+x1x3+x2x3

在t時(shí)刻x1、x2、x3中和g(x)值相同的LFSR被驅(qū)動(dòng),不同則被停走,這樣每次至少有兩個(gè)LFSR被驅(qū)動(dòng)。3個(gè)LFSR的輸出異或后作為密鑰輸出。

GSM會(huì)話每幀含114bit,A5加密算法每次會(huì)話產(chǎn)生114bit密鑰與所傳輸數(shù)據(jù)進(jìn)行異或;A5加密算法的主密鑰長(zhǎng)64bit,還有一個(gè)22bit的幀號(hào),與主密鑰充分混合同樣起到控制工作密鑰的作用,但幀號(hào)周期較短,大約為3.5h。

二、雷達(dá)網(wǎng)信道特性和對(duì)A5加密算法的改進(jìn)

雷達(dá)網(wǎng)作為專用網(wǎng)絡(luò)(與其它網(wǎng)絡(luò)物理隔離),文件通信具有以點(diǎn)對(duì)點(diǎn)傳輸為主、實(shí)時(shí)性要求高、傳輸速率較低等特點(diǎn),因此比較適合流密碼的加密體制。

A5加密算法具有較好的設(shè)計(jì)思想,所產(chǎn)生的密鑰流的統(tǒng)計(jì)特性很好,且具有適合硬件實(shí)現(xiàn)、加密延遲時(shí)間短等優(yōu)點(diǎn)。但同時(shí)也存在移位寄存器太短,易被窮盡攻擊或直接攻擊攻破的缺點(diǎn)。因此在適當(dāng)提高抗攻擊能力后可以作為雷達(dá)網(wǎng)文件加密較好的待選算法。

1、提高抗攻擊能力有2種實(shí)現(xiàn)方案:

(1)除保留主密鑰長(zhǎng)仍為64bit外,再增加一組輔密鑰例如32bit,每次(依時(shí)間或字節(jié)進(jìn)行計(jì)數(shù))通信主密鑰與輔密鑰之間進(jìn)行某些位的相應(yīng)置換或異或,這樣主密鑰緩慢更換,可保證更強(qiáng)的抗分析能力,但實(shí)現(xiàn)較復(fù)雜;

(2)適當(dāng)加長(zhǎng)移位寄存器長(zhǎng)度(實(shí)際是增加主密鑰長(zhǎng)度),該方案實(shí)現(xiàn)簡(jiǎn)單但不夠靈活,抗攻擊能力與主密鑰長(zhǎng)度直接關(guān)聯(lián),窮盡攻擊的復(fù)雜度為2r1+r2+r3。

基于目前實(shí)際所需和成本的考慮,我們采用第2種方案,并選定復(fù)雜可編程邏輯器件進(jìn)行開發(fā)設(shè)計(jì)。

三、A5加密算法在雷達(dá)網(wǎng)文件加密中的實(shí)現(xiàn)

用戶進(jìn)行保密通信時(shí),加密通信如上圖所示。

當(dāng)Ke=Kd,則信道兩端產(chǎn)生的工作密鑰相同。A用戶端所發(fā)送明文與A5產(chǎn)生的密鑰一次異或得到密文,B用戶端用相同密鑰再次異或得到明文。

1、A5加密算法的工作流程

具體實(shí)現(xiàn)時(shí)A5主密鑰增至96bit,可使r1=29,r2=33,r3=34,則其復(fù)雜度為296,窮盡攻擊是不可能的。每次初始化先舍棄產(chǎn)生的前100bit工作密鑰,然后開始工作,以防止對(duì)手通過開始產(chǎn)生的工作密鑰來猜測(cè)寄存器內(nèi)容即主密鑰。

該方案基于復(fù)雜可編程邏輯器件CPLD實(shí)現(xiàn),使用VHDL語言進(jìn)行編程,由單片機(jī)作為控制處理器.主密鑰可以手動(dòng)輸入,也可以通過增加只讀存儲(chǔ)器ROM作為密鑰存儲(chǔ)芯片實(shí)現(xiàn)系統(tǒng)自動(dòng)更換。

2、仿真波形及性能分析

A5加密算法的VHDL程序在Lattice公司的ispLEVER軟件環(huán)境下編譯、運(yùn)行和仿真。仿真波形如圖所示:

其中,上圖為從初始化到開始工作的時(shí)序圖。START=1標(biāo)志系統(tǒng)初始化完畢,開始等待單片機(jī)送入明/密文;單片機(jī)送入明/密文后,置WORK_EN=1,系統(tǒng)開始工作;加密完畢置ENABLE_OUT=1和WORK_EN=0,等待下一次明/密文送入。下圖為加密和解密一個(gè)字節(jié)的時(shí)序圖。雖然A5加密算法的加密和解密是逐位進(jìn)行的,但與單片機(jī)交換文件時(shí)則以字節(jié)為單位進(jìn)行。單片機(jī)每次送入待處理文件前首先要讀加密系統(tǒng)存放在地址為00001001的狀態(tài)字,判斷系統(tǒng)是否就緒,送入明/密文后則以查詢狀態(tài)字方式判斷是否處理完畢;明/密文與工作密鑰WORK_KEY逐位異或;加/解密完畢置狀態(tài)字為00000101,單片機(jī)讀出密/明文。

3、A5加密算法在雷達(dá)網(wǎng)文件加密中需要注意的問題

雷達(dá)網(wǎng)的通信安全不僅取決于加密算法部分,密鑰的分發(fā)、密鑰的管理等方面同樣至關(guān)重要,任何一個(gè)環(huán)節(jié)的漏洞都會(huì)導(dǎo)致系統(tǒng)的安全隱患。因此,要注重系統(tǒng)每一個(gè)環(huán)節(jié)的保密和安全。

在對(duì)A5加密算法改進(jìn)的基礎(chǔ)上,結(jié)合雷達(dá)網(wǎng)文件通信需要,設(shè)計(jì)了基于CPLD和VHDL的文件加密方案,給出了系統(tǒng)工作的仿真波形。仿真表明,該方案達(dá)到了雷達(dá)網(wǎng)文件保密通信的需要。

小知識(shí)之流密碼:

序列密碼也稱為流密碼(Stream Cipher),它是對(duì)稱加密算法的一種。序列密碼具有實(shí)現(xiàn)簡(jiǎn)單、便于硬件實(shí)施、加解密處理速度快、沒有或只有有限的錯(cuò)誤傳播等特點(diǎn),因此在實(shí)際應(yīng)用中,特別是專用或機(jī)密機(jī)構(gòu)中保持著優(yōu)勢(shì),典型的應(yīng)用領(lǐng)域包括無線通信、外交通信。