一种基于Turbo编解码的数字信息抗干扰软加密方法及系统 所属技术领域
本发明涉及一种基于Turbo编解码的数字信息抗干扰软加密方法及系统。
背景技术
由于Turbo码具有优越的纠错和抗干扰性能,因而它被广泛地应用于各种技术领域。诸如,在无线通信系统中,它被应用于信道的估计与译码、多用户检测、Turbo均衡、OFDM(正交频分复用)以及空时处理等;在信息隐藏领域中,它被应用于数字水印;Turbo码还被广泛地应用于深空通信、卫星通信、光纤通信以及多媒体通信等等【参考:刘东华.“Turbo码原理与应用技术”,电子工业出版社,2004年1月】。Turbo码的应用领域,尚未扩展到信息安全与保密领域中的应用。
现有的保密通信技术中,其信息加密方法未使用到Turbo码,同时也未考虑到抗电子干扰问题。存在的问题是:如果加密文件受电子干扰出现误码,即使知道解密算法,也无法还原原始文件数据。
【发明内容】
为了解决现有的无线通信系统中的加密技术主要侧重的是信息的加密而没有考虑到如何防止信息受到噪声或电子攻击。为了使传输信息不仅具有很强的加密效果而且还应当提高信息的抗干扰能力以减小解密信息的失真度,纠错和抗电子干扰的问题,本发明提供一种基于Turbo编解码的数字信息抗干扰软加密方法及系统,本发明提出了并且利用软件实现信息地加密方法和结合Turbo编解码器的结构,利用其组成中交织器和递归系统卷积码(RSC)的子模块组合构成密钥,从而对信息源进行加密,同时其纠错功能能够抗电子干扰。这主要结合了Turbo码的超强纠错能力和抗干扰能力,不仅可以使加密后的信息在传输中大大降低了噪声和其他干扰对其的影响从而减少失真,而且还可以达到很好的加密效果。因此,这项发明可以用于高保密信息的加密,比如在军事运用中不仅可以很好地加密军事情报,而且还可以抵抗敌方的电子干扰。
本发明解决其技术问题所采用的技术方案是:
本发明的系统含有三个主体部分,即加密模块(安装在信息传送端)、抗干扰解密模块(安装在信息接收端)以及密钥管理软件接口模块。
加密模块部分,它由外置交织扰乱子模块,Turbo加密器和密钥管理系统子模块三部分组成。加密模块中,采用Turbo编码器作为该模块的加密装置。密钥由Turbo编码器组成中的交织器和分量码编码器(这里以递归系统卷积码(RSC)为例)的结构信息(Turbo码生成矩阵)形成。信息经Turbo编码器编码后即完成信息的软加密。
本发明中称为“外置交织扰乱模块”是为了区别Turbo加解密器中的交织器与解交织器,因为它们也实现的是序列交织功能。外置交织扰乱子模块可采用现有的保密通信置乱算法,把数据划分为若干个数据块,按一定的顺序将数据块的排列打乱,且这种顺序只有接收方才知晓。
本发明提出新型的交织置乱方法,运用了通信中的交织与解交织技术,不仅使打乱后的信息子带间的相关性减小而且还可以通过改变交织图的大小和设计原则起到更好的置乱效果和抗破译效果。
抗干扰解密模块由Turbo解密器、解外置交织扰乱子模块,密钥管理软件接口子模块和数据显示(记录)子模块组成。
密钥管理软件接口模块由密钥管理软件接口子模块组成。加密软件中的密钥管理软件接口子模块,加密软件中的密钥管理软件接口子模块是对外置交织扰乱子模块和Turbo加密器进行设置的模块。根据发方的传送密钥或事先约定的密钥设置收方各解密模块的解密参数。
本发明的基于Turbo编解码设计的数字信息抗干扰软加密方法的处理流程分为加密流程和解密流程。
加密流程具体的步骤是:
步骤1:将模数转换或已有的二进制数字信息输入;
步骤2:由人机交互输入或由密钥管理软件接口读取外置交织扰乱信息而对信息进行外置交织扰乱,即相当于第一次加密,记录下外置交织图参数,并反馈给密钥管理软件接口子模块形成密钥文件;
步骤3:数据进入Turbo加密器,人机交互输入密钥参数或由密钥管理软件接口读取Turbo加密器参数,进行二次加密,记录下Turbo加密器参数,并反馈给密钥管理软件接口子模块形成密钥文件;
步骤4:由密钥信息确定Turbo加密器中约束长度K和存储长度m以及信息位长度和加上拖尾比特的总长;
步骤5:信息进入第一个RSC编码器,编码完后作归零处理;
步骤6:信息进入交织器,为第二个RSC编码器产生输入信息序列;
步骤7:交织后的信息进入第二个RSC编码器,不作归零处理;
步骤8:由密钥信息判断是否做删余处理,若是则转步骤8,若否则转步骤12;
步骤9:RSC1奇校验,即删除其校验序列的偶数位置比特;RSC2偶校验,即删除其校验序列的奇数位置比特;
步骤10:将RSC1和RSC2校验后的信息与原始信息复用合并输出;
步骤11:加密输出并网络传送,结束;
步骤12:直接将原始信息和RSC1及RSC2编码器输出信息合并输出;
步骤13:转步骤11。
解密流程具体的步骤是:
步骤1:网络接收加密数据及接收密钥信息;
步骤2:加密后的序列即待解密序列输入;
步骤3:读取密钥信息设置解密参数或人机交互输入预定的解密参数;
步骤4:由密钥确定译码序列的约束长度K和存储长度m以及信息位长度和加上拖尾比特的总长;
步骤5:将接受的数据通过多路信号分离器进行串并转换,同时将删除的比特位上添上“虚拟比特”;
步骤6:调节接收比特的大小;
步骤7:初始化外部信息为信息数据长度的0序列;
步骤8:取交织器长度的初始外部信息序列作为RSC1初次迭代的先验信息;
步骤9:数据进入RSC1的译码器,得到先验信息、外部信息及完整的似然信息;
步骤10:数据进入RSC2的译码器,得到先验信息、外部信息及完整的似然信息;
步骤11:由RSC2译码器的外部信息取交织器长度序列作为RSC1译码器的先验信息,转步骤9;
步骤12:由完整信息对信号进行估值;
步骤13:数据帧传送完毕,记录数据序列;
步骤14:数据显示记录,结束。
本发明的有益效果是利用了Turbo编解码器中交织器、RSC编解码器、删余矩阵等多元素的组成以及构成交织图的多种方法和这几种构成元素的多种组合从而形成结构复杂的密钥系统,并且对数据实现了很好的加密效果,能够运用于军事等高要求的加密领域中。由于Turbo码的优越的纠错性能以及抗干扰能力,可以实现加密数据被解密后的高保真性,因此可以运用在诸如军事中的电子对抗中。
【附图说明】
下面结合附图和实施例对本发明进一步说明。
图1是本发明的总体框架图
图2是加密软件结构图。
图3是Turbo加密器结构图。
图4是解密软件结构图。
图5是Turbo解密器结构图。
图6是加密流程图。
图7是解密流程图。
图8是选取的原始语音信号取样图。
图9是加密后的语音信号取样图。
图10是解密后的语音信号取样图。
图11是加密的原始图像。
图12是加密后的图像(未经过交织扰乱)。
图13是加密后的图像(经过交织扰乱)。
图14是解密后的图像图。
图15是传输性能仿真图。
【具体实施方式】
实施例1:
本发明的总体框架如图1所示,图中,数字信息源可以是数字语音信号、数字图像信号或者数据信号即一系列字母、数字和符号代表的概念、命令等文本或其它形式构成的信息。发方将数字信息经加密模块形成加密文件,通过通信接口实现信息在网络的传输,在经过信道传输后,收方由通信接口实现加密数据的接收,再由收方的解密模块实现信息的解密。
加密模块的结构如附图2所示。它由外置交织扰乱子模块,Turbo加密器和密钥管理软件接口子模块三部分组成。二进制数字信息输入外置交织扰乱子模块,外置交织扰乱子模块与Turbo加密器信号连接,外置交织扰乱子模块与密钥管理软件接口子模块双向信号连接,密钥管理软件接口子模块与Turbo加密器双向信号连接,Turbo加密器输出加密后的数据,密钥管理软件接口子模块输出密文传送。
交织置乱方法是受到无线通信中的PN码扩频技术的启发,因为随机序列是相关性最小的序列,去掉或最大程度上减小原始数据的相关性可以很大程度上提高置乱效果。本发明中就是利用了这一思想使置乱后的数据的相关性最小而采用了伪随机交织的交织置乱的方法。由于通信系统中交织器和解交织器已经使用,因此可以利用这一成熟的技术。
交织置乱利用了传统的交织技术,这里只是产生了新的用途。这里简要叙述伪随机交织技术。【参考:白宝明,马啸,王新梅.“随机交织器的设计与实现”.通信学报,2000,21(6):6~11】
伪随机是指交织映射随机生成的交织器。每个长度为N的伪随机交织器共有N!种可能的交织形式。其设计过程如下(交织长度为N)。
①从集合S={1,2,...,N}中随机选择一个整数i1的概率为p(i1)=1/N,将选择的i1记为I(1),同时将i1从集合S中删除,得到的新的集合记为S1。
②在第k步,从集合Sk-1={i∈S,i≠i1,i2,...,iN-k+1}中随机选择一个整数ik,其相应的选取概率为p(ik)=1/(N-k+1),将选择的ik记为I(k),同时将ik从集合Sk-1中删除,得到的新的集合记为Sk。
③当k=N时,得到I(N),相应的选取概率为p(iN)=1,SN=Φ。交织过程结束。
解交织过程是由所得到的交织映射而作的伪随机选取的逆过程。
数据的加密经外置交织扰乱子模块实现一次加密,经Turbo加密器实现再次加密。
外置交织扰乱子模块的加密算法与Turbo加密器的加密算法构成双重密钥,由密钥管理软件接口子模块管理。
Turbo加密模块中,采用Turbo编码器作为该模块的加密装置。密钥由Turbo编码器组成中的交织器和分量码编码器采用递归系统卷积码(RSC)的结构信息由Turbo码生成矩阵形成。信息经Turbo编码器编码后即完成信息的软加密。
Turbo加密器实际上就是一个Turbo编码器,它利用密钥管理系统给出的密钥对Turbo编码器的生成矩阵与交织图进行设置。Turbo加密器的采用如附图3所示的结构。图3中的交织器、RSC编码器1、RSC编码器2和删余矩阵装置信息为密钥管理系统所管理的四种密钥元素。信息序列dk信号数据进入交织器和RSC编码器1,交织器输出信号数据dn进入RSC编码器2,RSC编码器1输出信号数据Y1k进入删余矩阵装置,RSC编码器2输出信号数据Y1k进入删余矩阵装置,删余矩阵装置、信息序列dk的信号数据Xk与复接装置连接,复接装置输出加密序列数据。
根据不同的加密要求,可以使RSC编码器1和RSC编码器2采用相同或不同的生成矩阵。根据上面四种密钥元素的多重组合,可以得到多重加密算法。删余矩阵装置可根据需要来确定是否去冗余信息和改变码率。
加密过程就是根据密钥信息,设置Turbo编码器的参数,信息通过密钥设置好的Turbo编码器后即被加密。
Turbo编码器的编码过程【参考:Berrou.C,Glavieux.A.andThitimajshima.P.“Near Shannon limit error-correcting coding anddecoding:Turbocodes”[A],Proc IEEE Int Conf on Communications[C].Geneva:Switzerland,1993.Page(s):1064-1070】由附图3得到。
在Turbo编码过程中,两个分量码的输入信息序列是相同的,长度为N的信息序列{dk}在送入第一个分量码器进行编码的同时作为系统输出{Xk}直接送至复接器,同时{dk}经过交织器I后的交织序列{dn}送入第二个分量编码器。其中n=I(k),0≤n,k≤N-1。I(·)为交织映射函数,N为交织长度,即信息序列长度。两个分量码编码器输入序列仅仅是码元的输入顺序不同。两个分量编码器输出的校验序列分别为{Y1k}和{Y2k}。为提高码率和系统频谱效率,可以将两个校验序列经过删余后(得到{Yk})在与系统输出{Xk}一起经过复接构成加密序列。具体的加密流程参考附图6所示的加密流程图。
加密软件中的密钥管理软件接口子模块,加密软件中的密钥管理软件接口子模块是对外置交织扰乱子模块和Turbo加密器进行设置的模块。
加密软件中的密钥管理软件接口子模块管理外置交织扰乱子模块的扰乱交织图序列,Turbo编码器中生成矩阵和内置交织器、RSC编码器的结构和删余信息(即Turbo码率)等。
加密软件中的密钥管理软件接口子模块可使用存储的固定密钥也可利用人机交互选择特定的密钥。
软件中可通过软件接口输入双方明确的预定的加密参数,对于解密软件中的密钥管理软件接口同样采用人机交互输入参数。若在密钥信息没有事先约定的情况下,发方可通过参数记录形成记录的密钥文本文件,由密文传送方式来传送给解密方。
抗干扰解密器模块结构如附图4所示。它由Turbo解密器、解外置交织扰乱子模块,密钥管理软件接口子模块和数据显示(记录)子模块组成。加密数据进入Turbo解密器,Turbo解密器连接解外置交织扰乱子模块,密钥管理软件接口子模块接收密钥数据与Turbo解密器和解外置交织扰乱子模块连接,解外置交织扰乱子模块与数据显示(记录)子模块连接。
密钥匹配的Turbo解码器为解密模块的解密装置。实现解密器的密钥信息(即匹配的Turbo解码器的结构信息),通过事先预定或密钥传输,如邮寄、信使投送、通信网上传送等以密文方式获得。Turbo解密器实际上是密钥匹配附图3所示加密器的Turbo解码器。
Turbo编解码器的纠错特性保证解密后的信息的高保真性,即抗干扰解密。对于Turbo解密器,软件中采用了如附图5所示的结构。图5中DEC1和DEC2的生成矩阵分别对应Turbo加密器中RSC1和RSC2的逆生成矩阵。其中根据不同的算法,DEC1和DEC2可以改为MAP(基于MAP译码算法)或SOVA(基于软输出维特比算法)译码器。【参考:Berrou.C,Glavieux.A.and Thitimajshima.P.“Near Shannon limit error-correcting coding and decoding:Turbocodes”[A],Proc IEEE Int Conf on Communications[C].Geneva:Switzerland,1993.Page(s):1064-1070】
根据密钥参数设置Turbo解密器后,可实现Turbo解密。附图5中DEC1、DEC2的外部信息分别指{L1eXk}和{L2eXk}。附图5中同时指出了外部信息需反馈回Turbo码译码器。这条反馈路径使译码过程重复进行几次(对同一帧中的数据)。最后一次迭代后,所有与系统比特相关的LLR(信道LLR{LXk},MAP1的输出和MAP2的输出)相加,结果被送到硬判决模型,此模型将LLR序列转换为二进制序列{Xestk},即为原始序列{Xk}的译码序列。硬判决根据LLR执行信号检测,当LLR大于0时判为1,其它情况判为0。这就是Turbo码的译码过程,即解密过程。
解外置交织扰乱子模块,解外置交织扰乱与现有的解交织方法及算法相同。现有技术可实现。
解密软件中的密钥管理软件接口子模块,图3解密软件中密钥管理软件接口子模块具有附图2中相同的密钥信息,它根据发方的传送密钥或事先约定的密钥设置收方各解密模块的解密参数。
收方数据显示(记录)模块,收方数据显示(记录)模块由接收端的计算机硬件设备及其安装于其之上的数据显示软件构成,现有技术可实现。
数字信息抗干扰软加密解密处理流程:根据设计软件可分为加密软件部分、解密软件部分,相对应地本发明提出的“基于Turbo编解码设计的数字信息抗干扰软加密方法”的处理流程也可分为加密流程和解密流程。
加密流程可由附图6所示(这里重点突出Turbo加密器的软件模块实现)。
具体的步骤是:
步骤1:将模数转换或已有的二进制数字信息输入;
步骤2:由人机交互输入或由密钥管理软件接口读取外置交织扰乱信息而对信息进行外置交织扰乱,即相当于第一次加密,记录下外置交织图参数,并反馈给密钥管理软件接口子模块形成密钥文件;
步骤3:数据进入Turbo加密器,人机交互输入密钥参数或由密钥管理软件接口读取Turbo加密器参数,进行二次加密,记录下Turbo加密器参数,并反馈给密钥管理软件接口子模块形成密钥文件;
步骤4:由密钥信息确定Turbo加密器中约束长度K和存储长度m以及信息位长度和加上拖尾比特的总长;
步骤5:信息进入第一个RSC编码器,编码完后作归零处理;
步骤6:信息进入交织器,为第二个RSC编码器产生输入信息序列;
步骤7:交织后的信息进入第二个RSC编码器,不作归零处理;
步骤8:由密钥信息判断是否做删余处理,若是则转步骤8,若否则转步骤12;
步骤9:RSC1奇校验,即删除其校验序列的偶数位置比特;RSC2偶校验,即删除其校验序列的奇数位置比特;
步骤10:将RSC1和RSC2校验后的信息与原始信息复用合并输出;
步骤11:加密输出并网络传送,结束!
步骤12:直接将原始信息和RSC1及RSC2编码器输出信息合并输出;
步骤13:转步骤11。
解密流程,根据解密软件的设计结构,其解密流程可由附图7所示(这里重点突出Turbo解密器的软件模块实现)。
步骤1:网络接收加密数据及接收密钥信息;
步骤2:加密后的序列(即待解密序列)输入;
步骤3:读取密钥信息设置解密参数或人机交互输入预定的解密参数;
步骤4:由密钥确定译码序列的约束长度K和存储长度m以及信息位长度和加上拖尾比特的总长;
步骤5:将接受的数据通过多路信号分离器进行串并转换,同时将删除的比特位上添上“虚拟比特”;
步骤6:调节接收比特的大小;
步骤7:初始化外部信息为信息数据长度的0序列;
步骤8:取交织器长度的初始外部信息序列作为RSC1初次迭代的先验信息;
步骤9:数据进入RSC1的译码器,得到先验信息、外部信息及完整的似然信息;
步骤10:数据进入RSC2的译码器,得到先验信息、外部信息及完整的似然信息;
步骤11:由RSC2译码器的外部信息取交织器长度序列作为RSC1译码器的先验信息,转步骤9;
步骤12:由完整信息对信号进行估值;
步骤13:数据帧传送完毕,记录数据序列;
步骤14:数据显示(记录),并结束。
实施例2:
本发明中引入了对一段语音信号和一幅数字图像进行加密后的效果示例以及对加密的效果作了一个性能仿真。
1.语音信号
本发明示例中选取了一段语音信号,其幅度取样如附图8所示。
其加密后的信号如附图9所示。图9中,由于实验中选取了码率为1/2,因此取样点数在Turbo编码后增加了一倍(从128变为256);信源编码采用了PCM量化编码;又由于实验中采用的是BPSK调制,因此编码后的数据值为+1/-1。
需要声明的是对于语音信号这里没有对原始的语音信号进行交织扰码,扰码后的加密效果会在图像信息中说明。
其解密后的信号如附图10所示。实验中模拟的是信噪比(SNR)为1.5dB的高斯白噪声信道,Turbo码采用迭代8次计算。其误码率(BER)为1.1667×10-2。
2.数字图像信号
本发明示例中选取了由卫星拍摄的一幅地面图像作为加密的图像,如附图11所示。
其加密后的图像显示如附图12(未经过交织扰乱)和附图13(经过交织扰乱)所示。
图12为在未经过外置交织扰乱的条件下得到的加密的图像,从所示图像可以看出经过Turbo加密器扰码后图像,经过扰码后它仍然保留了一些原始图像的信息。这里要说明的是由于采用了删余,码率为1/2,图像的像素点增大了一倍;为实验方便,这里采用了伪随机交织图,交织长度为416(即原始图像高度的像素点个数);Turbo编码采用3次迭代;生成多项式为[15,17],且两个RSC编码器采用了相同的生成多项式。由于这里着重强调的是Turbo码的加密效果,因此为方便仿真未作信源编码。实际中由于数据的冗余度和数据量的大小限制,信源编码是必要的。
图13为图像经过外置交织扰乱并用Turbo加密器加密后的效果。从图13中可见,几乎找不到图像的任何原始信息,这很好地说明了本发明所提出加密方法的加密效果。这里选取了较长的交织图对图像进行了扰乱,交织长度为832(即二倍图像高度的像素点)。这里要求所加密图像的像素点值必须是整数倍的交织扰乱的交织图大小。
其解密后的图像显示如附图14所示。本次图像加密实验同样模拟的是信噪比为1.5dB的高斯白噪声信道,BPSK调制,3次Turbo码迭代。误码率为4.8426×10-3。
3.性能仿真
本发明示例中系统的性能仿真图采用了数字图像加密实验的数据与参数。其传输性能仿真图如附图15所示。附图15显示了图像传输的优良性能,在低信噪比的情况下也能保证很低的误码率,因此可以运用于诸如电子对抗之类的强噪声环境的信息加密。