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

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

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

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

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

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

f1x=x19+x18+x17+x14+1

f2x=x22+x21+x17+x13+1

f3x=x23+x22+x19+x18+1

3個線性反饋移位寄存器的生成多項式均為本原多項式。

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

g(x)=x1x2+x1x3+x2x3

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

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

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

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

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

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

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

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

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

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

用戶進行保密通信時,加密通信如上圖所示。

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

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

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

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

2、仿真波形及性能分析

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

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

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

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

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

小知識之流密碼:

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