在信息化战争中,抵抗对手的信息进攻,提高对抗中的抗截获、抗干扰能力,保证文件的安全传输迫在眉睫,雷达网文件通信的安全问题就是其中最重要的组成部分。那么我们今天就来讲一下A5加密算法在雷达网文件加密中的应用。
一、A5加密算法原理和特性
A5加密算法是无线接口加密的核心,它是一种典型的基于LFSR的流密码算法,应用于通信两端,既可用于加密又可用于解密,是一种集互控和停走于一体的钟控模型。
A5加密算法包括3个线性移位寄存器LFSR,LFSR-1、LFSR-2、LFSR-3的级数分别为r1、r2和r3。如图所示(图中数字表示抽头)。
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加密算法的钟控采用大数原则,钟控位置均在LFSR的中间抽头上,依次为第9抽头、第10抽头和第11抽头。设这3个抽头在t1时刻的值依次为x1、x2、x3,则钟控函数可写为:
g(x)=x1x2+x1x3+x2x3
在t时刻x1、x2、x3中和g(x)值相同的LFSR被驱动,不同则被停走,这样每次至少有两个LFSR被驱动。3个LFSR的输出异或后作为密钥输出。
GSM会话每帧含114bit,A5加密算法每次会话产生114bit密钥与所传输数据进行异或;A5加密算法的主密钥长64bit,还有一个22bit的帧号,与主密钥充分混合同样起到控制工作密钥的作用,但帧号周期较短,大约为3.5h。
二、雷达网信道特性和对A5加密算法的改进
雷达网作为专用网络(与其它网络物理隔离),文件通信具有以点对点传输为主、实时性要求高、传输速率较低等特点,因此比较适合流密码的加密体制。
A5加密算法具有较好的设计思想,所产生的密钥流的统计特性很好,且具有适合硬件实现、加密延迟时间短等优点。但同时也存在移位寄存器太短,易被穷尽攻击或直接攻击攻破的缺点。因此在适当提高抗攻击能力后可以作为雷达网文件加密较好的待选算法。
1、提高抗攻击能力有2种实现方案:
(1)除保留主密钥长仍为64bit外,再增加一组辅密钥例如32bit,每次(依时间或字节进行计数)通信主密钥与辅密钥之间进行某些位的相应置换或异或,这样主密钥缓慢更换,可保证更强的抗分析能力,但实现较复杂;
(2)适当加长移位寄存器长度(实际是增加主密钥长度),该方案实现简单但不够灵活,抗攻击能力与主密钥长度直接关联,穷尽攻击的复杂度为2r1+r2+r3。
基于目前实际所需和成本的考虑,我们采用第2种方案,并选定复杂可编程逻辑器件进行开发设计。
三、A5加密算法在雷达网文件加密中的实现
用户进行保密通信时,加密通信如上图所示。
当Ke=Kd,则信道两端产生的工作密钥相同。A用户端所发送明文与A5产生的密钥一次异或得到密文,B用户端用相同密钥再次异或得到明文。
1、A5加密算法的工作流程
具体实现时A5主密钥增至96bit,可使r1=29,r2=33,r3=34,则其复杂度为296,穷尽攻击是不可能的。每次初始化先舍弃产生的前100bit工作密钥,然后开始工作,以防止对手通过开始产生的工作密钥来猜测寄存器内容即主密钥。
该方案基于复杂可编程逻辑器件CPLD实现,使用VHDL语言进行编程,由单片机作为控制处理器.主密钥可以手动输入,也可以通过增加只读存储器ROM作为密钥存储芯片实现系统自动更换。
2、仿真波形及性能分析
A5加密算法的VHDL程序在Lattice公司的ispLEVER软件环境下编译、运行和仿真。仿真波形如图所示:
其中,上图为从初始化到开始工作的时序图。START=1标志系统初始化完毕,开始等待单片机送入明/密文;单片机送入明/密文后,置WORK_EN=1,系统开始工作;加密完毕置ENABLE_OUT=1和WORK_EN=0,等待下一次明/密文送入。下图为加密和解密一个字节的时序图。虽然A5加密算法的加密和解密是逐位进行的,但与单片机交换文件时则以字节为单位进行。单片机每次送入待处理文件前首先要读加密系统存放在地址为00001001的状态字,判断系统是否就绪,送入明/密文后则以查询状态字方式判断是否处理完毕;明/密文与工作密钥WORK_KEY逐位异或;加/解密完毕置状态字为00000101,单片机读出密/明文。
3、A5加密算法在雷达网文件加密中需要注意的问题
雷达网的通信安全不仅取决于加密算法部分,密钥的分发、密钥的管理等方面同样至关重要,任何一个环节的漏洞都会导致系统的安全隐患。因此,要注重系统每一个环节的保密和安全。
在对A5加密算法改进的基础上,结合雷达网文件通信需要,设计了基于CPLD和VHDL的文件加密方案,给出了系统工作的仿真波形。仿真表明,该方案达到了雷达网文件保密通信的需要。
小知识之流密码:
序列密码也称为流密码(Stream Cipher),它是对称加密算法的一种。序列密码具有实现简单、便于硬件实施、加解密处理速度快、没有或只有有限的错误传播等特点,因此在实际应用中,特别是专用或机密机构中保持着优势,典型的应用领域包括无线通信、外交通信。