高金宝,张晓林,董树珍
(1.哈尔滨工程大学 信息与通信工程学院,哈尔滨 150001;2.海军91199 部队,浙江 舟山 316000)
在现代战争中,通信的抗干扰抗截获的性能至关重要,正因为如此,跳频通信才一直在军事通信中占有重要地位,另外军事通信的安全性更加重要,所以提高通信的保密性,对现代战争的意义重大[1].
在跳频通信中,跳频图案对跳频的性能有很大的影响,而里德-索罗蒙码(Reed-Solomon,R-S)的互相关性能、自相关性能,以及多址性能都明显好于m 序列、M 序列、GOLD 码等常用的跳频序列码,所以本文选用RS 码作为跳频码序列.
在传统的跳频系统中,主要靠跳频码的伪随机性来提高系统的保密性.为了提高跳频系统的安全性,本文采用加密算法对其进行加密,在加密算法中,最有影响力的两种算法是数据加密标准DES(Date Encryption Standard,DES)和高级加密标准AES(Advanced Encryption Standard,AES).DES 属于对称加密算法中的分组算法[2],是使用最广泛的密钥系统,它以64 位为分组对数据进行加密,它是一种Feistel 结构的算法,采用的技术是混乱和扩散的组合,密钥作用于明文,共进行16 轮运算.AES 也是一个对称分组算法,用来取代DES 算法,成为广泛使用的新标准,AES 不是Feistel 结构的算法,它定义了一个S 盒,是由16×16个字节组成的矩阵,包含了256种可能的变换[3].本文分别采用DES和AES 对系统进行加密,系统框图如图1所示.
图1 整体系统框图
跳频通信实际上是一种扩频通信,通俗地讲,就是在不同时刻利用不同的频率传送信息,以达到抗干扰抗截获的目的.它的基本结构是在发送端首先进行MFSK(M 进制频移键控)信息调制,然后进行跳频调制,经过信道后,接收端按照相同的跳频频率表来进行解跳,而后进行信息解调,如图1所示.本文采用4FSK 进行信息调制,跳频调制主要体现在跳频码的选择上,这里采用RS 码.
在域GF 上,其中为大于2 的正整数,码长的本原BCH 码称为RS 码.在RS 码中,当时,码字不会重复出现,这种情况下,可以得到有最大跳频增益的跳频图案;当时,它不再是非重复码,这就会导致部分频率重复出现,而部分频率不出现,这样跳频增益会明显下降,所以RS 码作为跳频码的性能最好[4].图2为基于(63,2)RS 码的一种跳频图案.
图2 基于(63,2)RS 码的一种跳频图案
DES 是最常用的加密算法之一,自诞生至今一直被广泛应用于各个行业领域,由于DES 算法保密性强,DES 得到了广泛的应用[5].
2.1.1 DES 加密过程
DES 加密算法是16 轮的Feistel 模型,输入64位的明文和64 位的密钥信息(每个第八位是奇偶校验位,实际有效密钥是56 位),其加密过程如图3所示.
图3 DES 加密运算过程
加密步骤如下:
1)将需要进行加密的64 位信息数据进行初始置换;
2)将置换后的数据分为各32 位的左右两半部分;
3)进行16 轮迭代.在每一轮中,右半部分在子密钥的作用下进行变换,得到的32 位数据与左半部分按位异或,产生的32 位数据作为下一轮迭代的右半部分,原右半部分直接作为下一轮迭代的左半部分,但第16 轮(最后一轮)不进行左右互换.
4)对经过16 轮迭代后的64 位数据进行逆初始置换,所得结果即为密文.
2.1.2 DES 解密过程
DES 算法的解密算法与加密算法相同,只是各子密钥的顺序相反,即为K16,K15,…,K1.解密时把64 位密文当作明文输入,而且第1 次解密迭代使用子密钥K16,第2 次解密迭代使用K15,……,第16 次解密迭代使用K1,最后的输出便是64 位明文.
2.2.1 AES 的加密
AES 算法属于分组密码算法,AES 与DES 的结构不同,不是采用Feistel 结构,而是进行了多轮的替换,行移位,列混合和密钥加操作.AES 的明文分组大小为128 bit,密钥长度是不惟一的,支持128、192、256 比特的三种密钥长度.
本文中采用的算法是AES-128,迭代轮数是10 轮[6].其核心是对State 矩阵(AES 的数据处理单位是字节,128 比特为16个字节,按顺序复制到4×4 矩阵,该矩阵称为State[2])进行10 次轮操作.每次轮操作(除最后一轮外)都由字节代换(Sub-Bytes)、行移位(ShiftRows)、列混淆(MixColumns)、轮密钥加(AddRoundKey)四个运算构成,最后一轮不包含列混淆操作,如图4所示.
图4 AES 算法的加密/解密的流程图
2.2.2 AES 的解密
由于AES 算法没有使用Feistel 结构,因此AES 的解密操作与DES 算法不同.AES 算法的解密需要使用相应变换的逆向变换,并且各个变换的使用顺序也不一样,首先对密文进行轮密钥加,然后进行第1 轮的解密,分别为逆行移位,逆字节代换,轮密钥加和逆列混合,直到倒数第2 轮的解密,最后1 轮操作只有3 步:逆行位移,逆字节代换,轮密钥加[7].
本系统是基于超短波跳频系统的仿真,根据GJB 2928-97[8]规定,战术超短波跳频电台频率范围是30~87.975MHz.战术超短波跳频电台信道间隔是25kHz.本系统的跳频频率是
其中初始频率F1=30.000MHz,i=1,2,…,64,
信息调制的频率分别是:f1=3kHz,f2=9kHz,f3=15kHz,f4=21kHz.
如图1所示,在信息(以下称为明文)进入跳频系统之前对其加密成密文,通过跳频系统传输,接收端进行解跳、解调之后进行解密,还原出明文.图5为仿真结果,可以看出当接收端使用与发送端同样的密钥1 进行解密,得到了正确的原始信息,而使用与发送端不相同的密钥2 是无法进行解密的,误码率达到了46.88%,图6为不同密钥对误码率的影响,第一个点是密钥与发送端密钥的第一位不同,第二个点是密钥与发送端密钥的第二位不同,……,第65个点是发送端密钥,可见当第8 位,第16 位,第24 位,第32 位,第40 位,第48 位,第56 位,第64 位与发送端密钥不同时也能正确接收到信息,这是因为DES 密钥输入64 位,但每个第8位用作奇偶校验,所以密钥的长度实际是56 位,其他情况接收端均不能正确还原出原始信息,从图中可以看出,其误码率基本维持在较高的0.4~0.6之间.可见使用DES 对跳频系统加密可以提高跳频系统的安全性.
AES-128 生成的跳频序列可以是跳频在128个频率下跳频,系统只有64个频率,所以在跳频频率表中,AES 码中的0 与64 同时对应F1,1 与65对应F2,……,63 与127 对应F64.
图5 DES 对跳频系统加密仿真结果
图6 DES 密钥对误码率的影响
采用AES 加密的仿真图如图7,可以看出只有用与发送端同样的密钥1 进行解密,才能得到正确的信息,而使用与发送端不相同的密钥,即使是只有第一位密钥不同的密钥2,依然是无法进行正确解密的,误码率达到了43.75%,接近50%,图8为不同密钥对误码率的影响,第一个点是密钥与发送端密钥的第一位不同,第二个点是密钥与发送端密钥的第二位不同……,第129个点是发送端密钥,可见密钥与发送端密钥不同时,无法正确接收到发送端的信息,其误码率也基本维持在较高的0.4~0.6 之间.所以使用AES 对跳频系统加密提高了跳频系统的安全性.
图8 AES 密钥对误码率的影响
用PC 机(CPU:Intel(R)Pentium(R)Dual-Core E5700,内存:3GB)测试两种算法的实时性,运行次数为100 次,测试结果如表1所示.
表1 测试结果
由表1 可见,在军事通信信息量少,实时性要求不高的情况下,两种加密算法都可以应用在这种场合.
对于DES 密码,K=256≈7×1016,如果使用运算能力为每秒30 亿次的普通计算机来破译DES密钥,假设每次运算能完成一次加密的情况,要完成一次DES 密钥的搜索破解过程,需要(256/(30×108))/(60×60×24)=278 d,但如果用最新最快的超级计算机,则在几个小时就可以破译.
对于AES 密码,假如使用IBM 的超级计算机蓝色基因[9]的运算能力(每秒280.6 万亿次)来计算,假设每次运算能完成一次加密的情况,要完成一次AES-128 密钥的搜索破解过程,需要(2128/(280.6×1012))/(60×60×24×365)=3.845×1016a 的时间[10],所以可以预见在未来很长时间内,AES 的算法依然安全.
通过以上的比较,可以看出,实时性和安全性往往是矛盾的,AES 的密钥更安全,但DES 的实时性更好,在实际应用中,要通过实际通信指标的要求,选择合理的加密方式.
从仿真结果可以看出,使用DES和AES 对跳频系统进行加密提高了系统的安全性.但是如果系统本身的误码率比较高,通过加密和解密会产生更高的误码率,所以这是在牺牲可靠性来换取系统的安全性,适用对信息速率要求不高,传输信息不多,但对保密性要求很高的军事通信中.而DES 中初始置换表、置换选择表、扩展置换表、S 盒及每次循环左移的位数都是人为设定的,想破译密码是比较难的,只能用穷举法来试验.同理,要想破译AES的密钥,也只能依靠穷举法,而AES 密钥长度更长,更难破译.而军事通信中还可以通过定期更换密语表来进一步降低敌方破译的可能性.
[1]彭伟明.跳频通信中的抗干扰同步算法研究[J].现代电子技术,2011,34(15):19-22.
[2]KENT S,ATKINSON R.RFC 2401 Security Architecture for the Internet Protocol[S].1998.
[3]史子荣.软件加密技术从入门到精通[M].北京:清华大学出版社,2007:55-74.
[4]杜传报,王 欣,张 鹏.基于RS 码的跳频信号发生器的设计[J].计算机技术与发展,2012,22(1):195-197,201.
[5]曹晓丽.基于DES 的加密算法[J].电脑知识与技术,2011,7(2):295-296,309.
[6]何平平.AES 加密算法的差分电磁攻击[D].西安:西安电子科技大学,2011.
[7]QUISQUATER J J,SAMYDE D.Electromagnetic analysis(EMA):measures and countermeasures for smart cards[C]//E-smart 2001:200–210.
[8]GJB 2928-97.战术超短波跳频电台通用规范[S].1997.
[9]王 静,蒋国平.基于无理数的DES 加密算法[J].南京邮电大学学报:自然科学版,2009,29(6):31-37.
[10]黄晓泓.基于AES 算法的硬件功能保护的验证和FPGA 实现[D].广州:华南理工大学,2010.