结合现代战争的需要,我们提出了一种以当前日期为动态加密种子,适用于非协作式战场敌我识别系统的的数据加密算法,该算法数据量少,具备一定的安全性、可靠性和保密性,适用于高动态、高机动的武器系统。
一、数据加密算法原理
为了能使系统在短时间内完成敌我识别任务,以适用于高动态、高机动的武器系统,并考虑到安全性、可靠性和保密性,这里选用对称密钥密码体制加密,并设计一种全新的算法。新算法是通过两组密钥对动态的加密种子进行两次运算,再联合先导数据一起发送。约定当前日期(用压缩BCD码表示的年月日)为加密种子,可实现在非协作方式下产生动态种子的要求。传递日期信息的算法原理可由下式表示:
式中:Q为发射信号,date为日期,key为加密密钥,(date,key)为加密算法,Q和date可以通过加密算法/及其逆运算相互推导,通过通信即可识别对方的具体身份。
二、加密算法f(x)的设计
加密算法f使用两组预先设定的密钥keyl和key2,并由两步加密运算El和E2组成:
f( date,keyl, key2)=E2( El(date, keyl),key2)其中,E1使用keyl对date进行一次换位运算,根据keyl中各二进制位的不同将date中的各二进制位的位置进行交换,形成新的序列date’,图1为一种拟采用的换位方式。
E2利用异或算法用key2对date’加密,生成发射信号Q=E2(date 7,key2)=date'0 key2。这两步运算的功能分别是:换位使明文信息与密钥信息尽可能的混合,异或运算使用预设的密钥尽可能的掩盖有规律的明文信息,并可以提高信号传输时的抗干扰能力。使用E1、E2的逆运算即可对发射信号进行解密:
在发射信号前部包括一个先导信号,其中保存经过加密的密钥索引,并通知系统开始接收信号。为保证接收的数据完整,采用奇偶校验来检查传输数据的完整性。相对来说,本算法较现今某些算法简单,所以实现起来也相对容易,并能达到让日期很好的得到加密的效果。在加密完成后形成的密文date",在经过数据前导及停止位一起形成最终的发射信号Q,整个编码过程见图2。
先导部分采用输入年份为标识,对于Date部分设置如下,高八位为月份,低八位为具体日期,以2006年11月28日为例,年月日均用压缩BCD码表示,共占用32bit,Date部分见图3。
事实上,通过对日期(种子)的约定还可进一步提高种子的复杂性。如约定对奇数的月份进行取反,而对偶数日期取反。图3所示的日期用约定后的表示法可表示为00100000 00000101 11101110 IlOIOlIIB。
三、应用举例
当密钥keyl=7BH,key2=6973H(密钥均可以更换),月份日期date=lll01110 IIOIOIIIB(即11月28日)。得到加密以后的数据date"'=10111110 IOOI110IB,与最初的date =11101lIO IlOI01lIB有了很大的改变。
由于数据的收发双方拥有共同的动态加密种子——当前日期,并均可独立产生相同的动态密文,故接收方接收到的密文不用经过解密,只是与本机生成的密文进行比较即可进行敌我识别,这样可进一步提高系统的工作速度。
小知识之敌我识别系统
是指对战场上目标的敌我属性识别。