跳时加密技术是通过对不同用户采用不同的跳时码序列来实现数据文件加密,所选择的跳时序列性能的优劣直接关系到整个信息传榆系统的安全性能。

一、跳时加密算法基本原理

1、密码学的借鉴

密码学的两个主要的分类:对称加密(私人密钥加密)和非对称加密(公开密钥加密)。它们的代表分别是DES加密算法(数据加密标准)和RSA加密算法(电子邮件数字签名的经典算法)。在这其中,公钥和私钥的概念,尤其是分组加密的相关思想(因为跳时序列很多都有周期性,完全适应分组加密的标准),对跳时加密通信有极强的借鉴意义。

2、跳时序列的理论界

所谓序列的理论界,是指序列的一些重要参数,如序列长度、序列数目、序列自相关值以及互相关值等满足一定约束的不等式。这些理论界称为判别一个序列设计优劣的“标准”。跳时序列拥有三个理论界:汉明自相关函数、汉明互相关函数、碰撞。

3、典型的同余类跳时序列

(1)线性同余伪随机序列

一次跳时序列即线性同余法,所谓的“伪随机序列”指的并不是假的随机数,这里的“伪¨是指具有一定的规律。线性同余法的一般形式是:对任意初始值,随机数序列有如下递推公式确定:

跳时加密技术

其中:M为模数,M>0;a为乘子,0<a<M;c为增量,0≤c<M;x0为初始值,0<xo<M;取值xi,则是0到M之间的伪随机数。通常,用表达式LCGs(M,a,c,x0)表示上述随机数发生器。

对于一次线性同余,除了对一些特例可以运用费马小定理和欧拉定理以外,对于一般的同余方程,绝大部分都还没有一个比较良好的反解方法,即解跳尚不理想。因此,在后续的仿真中,也只能运用穷举法来进行解跳。但是有一个很好的特例,就是模数肘取2的整数次方,有资料已经证明这类线性同余算法可以用移位操作来代替,这对于通信系统而言,跳时加密和跳时解密都可以通过用硬件实现。

(2)二次跳时序列

令GF(p)是—个有限域r=(j,k,l)(j,k,l∈GP(P))。有限域GF(p)上的一般二次跳时序列cnr=c(j,k,l)定义如下:

跳时加密技术

若模素数p,y为整数,设x≡y(P+1)/4(modp)

1)若y有一个模P平方根1,则y的所有模p平方根是±x;

2)若y没有模p平方根,则-y有一个模P平方根,且-y的所有平方根是±xo这样可求解出(j,k,l)=(0,0,1)的二次同余方程。因此后续的仿真也主要针对这类跳时序列。然而尽管有比较典型的跳时解密算法,这个算法也还不是很完善。比如5模11的平方根是±4。这就有两个解,在GF(7)有限域中,+4对应的就是4。然而-4所对应的就是3。这两个解的差异会导致跳时解密时出现问题。但是通过加上部分冗余信息即可纠错。

(3)三次跳时序列

令p为—个素数,则在有限域GF(p)中。三次跳时序列定义如下:

跳时加密技术

同理可以推断三次跳时序列特性。

二、问题分析

资料查证,通过推证二次和三次跳时序列的理论界的部分结论,可以说明跳时序列的一些特性,以序列可容纳用户数Nu为例,一般二次跳时序列为:

跳时加密技术

可见j,k,l均有P个取值,共有p3个数集。但这其中,(j,k,l)=(0,0,1)时,为常数序列,没有意义。因此二次跳时序列族及其用户数有p3 -p个。一般三次跳时序列为:

跳时加密技术

同上,三次跳时序列族即其用户数有p4 -p个。

两类跳时序列性能指标如表1所示。

跳时加密技术

根据上述结论,将二次与三次跳时序列作综合比较,我们给出的表1,列出了二次和三次跳时序列所需占用的时隙数Nk,序列周期L,设L=P,最大自相关值Smax,最大互相关值Cmax和所能提供的最大用户数Nu。从表1可以看出,2次序列的相关值小于3次序列(Smax和Cmax越小,序列的相关性能越优),因此2次同余序列具有较好的自相关性和互相关性。但从表中结果来看,3次同余序列的用户数大,3次序列可以提供最大的用户数,也是性能良好的跳时序列。

三、仿真实验及结果

1、一次跳时仿真实验及结果

图1是一次线性跳时加密的界面,图2是一次线性跳时解密程序界面,仿真是序列长为32的,模拟PCM中的32路时分复用。用长为32的text(i)数组代表32个时隙。用text()的变化代表当前时隙所存储的是第几个用户的信息。这里默认第i个时隙存放的是第i个用户的信息,可以看出跳时没有什么规律可循,也就是说一次跳时实现了加密并且加密强度比较高。

跳时加密技术

2、二次仿真实验数学模型

仿真所用的运算式是Q2二次跳时序列族,即:

跳时加密技术

其中,取j=1。

3、二次豌时仿真结果

1)实验中,输人种子为7(只仿真5和7,实验表明,以上素数理论上都可以得到同样结果。图3和图4分别为种子为‘7’时二次跳时加密和解密的实验对照图。

跳时加密技术

2)从表1可以看出,2次序列的Smax值小(而Smax和Cmax越小,序列的相关性能越优),因此2次同序列实验表明:

a、在用户编号和时隙一一对应的初始条件下,线性同余和二次同余序列的加密和解密都是完善的;

b、线性同余算法,时间效率上不算理想,从实验选用的数组中看出,跳时加密用时30s左右,因为二次同余的数学算法比较完善,所以相比较一次线性同余而言,程序效率明显要快很多。

小知识之时隙

Timeslot(时隙)专用于某一个单个通道的时隙信息的串行自复用的一个部分。在T1和E1服务中,一个时隙通常是指一个64kbps的通道。