數(shù)據(jù)加密算法之非協(xié)作式敵我識別系統(tǒng)
結(jié)合現(xiàn)代戰(zhàn)爭的需要,我們提出了一種以當(dāng)前日期為動態(tài)加密種子,適用于非協(xié)作式戰(zhàn)場敵我識別系統(tǒng)的的數(shù)據(jù)加密算法,該算法數(shù)據(jù)量少,具備一定的安全性、可靠性和保密性,適用于高動態(tài)、高機動的武器系統(tǒng)。
一、數(shù)據(jù)加密算法原理
為了能使系統(tǒng)在短時間內(nèi)完成敵我識別任務(wù),以適用于高動態(tài)、高機動的武器系統(tǒng),并考慮到安全性、可靠性和保密性,這里選用對稱密鑰密碼體制加密,并設(shè)計一種全新的算法。新算法是通過兩組密鑰對動態(tài)的加密種子進(jìn)行兩次運算,再聯(lián)合先導(dǎo)數(shù)據(jù)一起發(fā)送。約定當(dāng)前日期(用壓縮BCD碼表示的年月日)為加密種子,可實現(xiàn)在非協(xié)作方式下產(chǎn)生動態(tài)種子的要求。傳遞日期信息的算法原理可由下式表示:

式中:Q為發(fā)射信號,date為日期,key為加密密鑰,(date,key)為加密算法,Q和date可以通過加密算法/及其逆運算相互推導(dǎo),通過通信即可識別對方的具體身份。
二、加密算法f(x)的設(shè)計
加密算法f使用兩組預(yù)先設(shè)定的密鑰keyl和key2,并由兩步加密運算El和E2組成:
![]()
f( date,keyl, key2)=E2( El(date, keyl),key2)其中,E1使用keyl對date進(jìn)行一次換位運算,根據(jù)keyl中各二進(jìn)制位的不同將date中的各二進(jìn)制位的位置進(jìn)行交換,形成新的序列date’,圖1為一種擬采用的換位方式。

E2利用異或算法用key2對date’加密,生成發(fā)射信號Q=E2(date 7,key2)=date'0 key2。這兩步運算的功能分別是:換位使明文信息與密鑰信息盡可能的混合,異或運算使用預(yù)設(shè)的密鑰盡可能的掩蓋有規(guī)律的明文信息,并可以提高信號傳輸時的抗干擾能力。使用E1、E2的逆運算即可對發(fā)射信號進(jìn)行解密:
![]()
在發(fā)射信號前部包括一個先導(dǎo)信號,其中保存經(jīng)過加密的密鑰索引,并通知系統(tǒng)開始接收信號。為保證接收的數(shù)據(jù)完整,采用奇偶校驗來檢查傳輸數(shù)據(jù)的完整性。相對來說,本算法較現(xiàn)今某些算法簡單,所以實現(xiàn)起來也相對容易,并能達(dá)到讓日期很好的得到加密的效果。在加密完成后形成的密文date",在經(jīng)過數(shù)據(jù)前導(dǎo)及停止位一起形成最終的發(fā)射信號Q,整個編碼過程見圖2。

先導(dǎo)部分采用輸入年份為標(biāo)識,對于Date部分設(shè)置如下,高八位為月份,低八位為具體日期,以2006年11月28日為例,年月日均用壓縮BCD碼表示,共占用32bit,Date部分見圖3。

事實上,通過對日期(種子)的約定還可進(jìn)一步提高種子的復(fù)雜性。如約定對奇數(shù)的月份進(jìn)行取反,而對偶數(shù)日期取反。圖3所示的日期用約定后的表示法可表示為00100000 00000101 11101110 IlOIOlIIB。
三、應(yīng)用舉例
當(dāng)密鑰keyl=7BH,key2=6973H(密鑰均可以更換),月份日期date=lll01110 IIOIOIIIB(即11月28日)。得到加密以后的數(shù)據(jù)date"'=10111110 IOOI110IB,與最初的date =11101lIO IlOI01lIB有了很大的改變。
由于數(shù)據(jù)的收發(fā)雙方擁有共同的動態(tài)加密種子——當(dāng)前日期,并均可獨立產(chǎn)生相同的動態(tài)密文,故接收方接收到的密文不用經(jīng)過解密,只是與本機生成的密文進(jìn)行比較即可進(jìn)行敵我識別,這樣可進(jìn)一步提高系統(tǒng)的工作速度。
小知識之?dāng)澄易R別系統(tǒng)
是指對戰(zhàn)場上目標(biāo)的敵我屬性識別。








