跳频通信技术因为具有较好的抗干扰和低截获性能,在军事通信中占有重要的地位,因此提高系统的保密性有着很重要的意义。为了提高保密性,提出了两种提高系统保密性的方法,其核心思想是将加密算法应用到跳频系统,分别在跳频通信系统发送端和接收端进行加密和解密。
一、系统模型分析
跳频通信实际上是一种扩频通信,通俗地讲,就是在不同时刻利用不同的频率传送信息,以达到抗干扰抗截获的目的。它的基本结构是在发送端首先进行MFSK(M进制频移键控)信息调制,然后进行跳频调制,经过信道后,接收端按照相同的跳频频率表来进行解跳,而后进行信息解调,如图1所示,本文采用4FSK进行信息调制,眺频调制主要体现在跳频码的选择上,这里采用RS码。
在域GF上,其中为大于2的正整数,码长的本原BCH码称为RS码。在RS码中,当时,码字不会重复出现,这种情况下,可以得到有最大跳频增益的跳频图案;当时,它不再是非重复码,这就会导致部分频率重复出现,而部分频率不出现,这样跳频增益会明显下降,所以RS码作为跳频码的性能最好,图2为基于(63,2) RS码的一种跳频图案。
二、加密算法
1、DES算法
DES是最常用的加密算法之一,自诞生至今一直被广泛应用于各个行业领域,由于DES算法保密性强,DES得到了广泛的应用。
(1)DES加密过程
DES加密算法是16轮的Feistel模型,输入64位的明文和64位的密钥信息(每个第八位是奇偶校验位,实际有效密钥是56位),其加密过程如图3所示。
加密步骤如下:
1)将需要进行加密的64位信息数据进行初始置换;
2)将置换后的数据分为各32位的左右两半部分;
3)进行16轮迭代.在每一轮中,右半部分在子密钥的作用下进行变换,得到的32位数据与左半部分按位异或,产生的32位数据作为下一轮迭代的右半部分,原右半部分直接作为下一轮迭代的左半部分,但第16轮(最后一轮)不进行左右互换。
4)对经过16轮迭代后的64位数据进行逆初始置换,所得结果即为密文。
(2)DES解密过程
DES算法的解密算法与加密算法相同,只是各子密钥的顺序相反,即为K16,K15,…,K1,解密时把64位密文当作明文输入,而且第1次解密迭代使用子密钥K16,第2次解密迭代使用K15,……,第16次解密迭代使用K1,最后的输出便是64位明文。
2、AES加密算法
(1)AES的加密
AES算法属于分组密码算法,AES与DES的结构不同,不是采用Feistel结构,而是进行了多轮的替换,行移位,列混合和密钥加操作。AES的明文分组大小为128 bit,密钥长度是不惟一的,支持128、192、256比特的三种密钥长度。
本文中采用的算法是AES-128,迭代轮数是10轮,其核心是对State矩阵(AES的数据处理单位是字节,128比特为16个字节,按顺序复制到4x4矩阵,该矩阵称为State)进行1O次轮操作,每次轮操作(除最后一轮外)都由字节代换( Sub Bytes)、行移位(ShiftRows)、列混淆(MixColumns)、轮密钥加( AddRoundKey)四个运算构成,最后一轮不包含列混淆操作,如图4所示。
(2)AES的解密
由于AES算法没有使用Feistel结构,因此AES的解密操作与DES算法不同,AES算法的解密需要使用相应变换的逆向变换,并且各个变换的使用顺序也不一样,首先对密文进行轮密钥加,然后进行第1轮的解密,分别为逆行移位,逆字节代换,轮密钥加和逆列混合,直到倒数第2轮的解密,最后1轮操作只有3步:逆行位移,逆字节代换,轮密钥加。
三、仿真与分析
1、采用DES对跳频系统加密
本系统是基于超短波跳频系统的仿真,根据GJB 2928—97规定,战术超短波跳频电台频率范围是30—87.975MHz,战术超短波跳频电台信道间隔是25kHz,本系统的跳频频率是:
其中初始频率Fi=30.OOOMHz,=1,2,…,64。
信息调制的频率分别是f1=3kHz,f2=9kHz,f3=15kHz,f4 =21kHz。
如图l所示,在信息(以下称为明文)进入跳频系统之前对其加密成密文,通过跳频系统传输,接收端进行解跳、解调之后进行解密,还原出明文。图5为仿真结果。
可以看出当接收端使用与发送端同样的密钥1进行解密,得到了正确的原始信息,而使用与发送端不相同的密钥2是无法进行解密的,误码率达到了46.88c70,图6为不同密钥对误码率的影响,第一个点是密钥与发送端密钥的第一位不同,第二个点是密钥与发送端密钥的第二位不同,……,第65个点是发送端密钥,可见当第8位,第16位,第24位,第32位,第40位,第48位,第56位,第64位与发送端密钥不同时也能正确接收到信息,这是因为DES密钥输入64位,但每个第8位用作奇偶校验,所以密钥的长度实际是56位,其他情况接收端均不能正确还原出原始信息,从图中可以看出,其误码率基本维持在较高的0.4—0.6之间,可见使用DES对跳频系统加密可以提高跳频系统的安全性。
2、采用AES对跳频系统加密
AES-128生成的跳频序列可以是跳频在128个频率下跳频,系统只有64个频率,所以在跳频频率表中,AES码中的O与64同时对应Fi,l与65对应F2,……,63与127对应F64。
采用AES加密的仿真图如图7,可以看出只有用与发送端同样的密钥l进行解密,才能得到正确的信息,而使用与发送端不相同的密钥,即使是只有第一位密钥不同的密钥2,依然是无法进行正确解密的,误码率达到了43.75%,接近50%,图8为不同密钥对误码率的影响,第一个点是密钥与发送端密钥的第一位不同,第二个点是密钥与发送端密钥的第二位不同……,第129个点是发送端密钥,可见密钥与发送端密钥不同时,无法正确接收到发送端的信息,其误码率也基本维持在较高的0.4—0.6之间,所以使用AES对跳频系统加密提高了跳频系统的安全性。
3、实时性安全性分析
用PC机(CPU:lntel( R) Pentium( R)Dual-Core E5700,内存:3GB)测试两种算法的实时性,运行次数为100次,测试结果如表1所示。
由表1可见,在军事通信信息是少,实时性要求不高的情况下,两种加密算法都可以应用在这种场合。
对于DES密码,R=256≈7×1016,如果使用运算能力为每秒30亿次的普通计算机来破译DES密钥,假设每次运算能完成一次加密的情况,要完成一次DES密钥的搜索破解过程,需要(256/(30×IOH))/(60×60×24)=278d,但如果用最新最怏的超级计算机,则在几个小时就可以破译。
对于AES密码,假如使用IBM的超级计算机蓝色基因的运算能力(每秒280.6万亿次)来计算,假设每次运算能完成一次加密的情况,要完成一次AES-128密钥的搜索破解过程,需要(2128/(280.6×1012))1( 60×60×24×365)=3.845×1016a的时间,所以可以预见在未来很长时间内,AES的算法依然安全。
通过以上的比较,可以看出,实时性和安全性往往是矛盾的,AES的密钥更安全,但DES的实时性更好,在实际应用中,要通过实际通信指标的要求,选择合理的加密方式。
小知识之跳频技术
跳频技术 (Frequency-Hopping Spread Spectrum;FHSS)在同步、且同时的情况下,接收两端以特定型式的窄频载波来传送讯号,对于一个非特定的接受器,FHSS所产生的跳动讯号对它而言,只算是脉冲噪声。FHSS所展开的讯号可依特别设计来规避噪声或One-to-Many的非重复的频道,并且这些跳频讯号必须遵守FCC的要求,使用75个以上的跳频讯号、且跳频至下一个频率的最大时间间隔 (Dwell Time)为400ms。