用线性反馈移位寄存器(LFSR)产生码序列对于流加密/解密是有用的。然而,这涉及冗长的LFSR,而且所产生的码对防止窃听还不够复杂。
本文给出一个产生冗长和复杂码序列的非常简单的技术,适合于采用较小长度LFSR的密码应用。
保密通信
现在,保密通信不仅仅军事系统需要,而且已进入商业市场。然而,一些商业应用所需要的密级可能不如军事和其他应用所要求的高。因此,保密和可靠通信的一些简单和低成本系统,采用扩频调制方法和密码技术,适合于非军事领域的商业应用。现在,人们正在积极地加快研究和开发低成本保密消息通信。
对于发射器和接收器中的加密和扩频技术,1个随机或类噪声码是必须的。然而,因为接收器中随机码(具有精确同步)完全拷贝的实际限制和必然性,所以发送和接收方采用伪随机或伪噪声(PN)序列使能保密消息通信。
PN序列表示为具有一定参数的1和0序列,通常分为两类:(1)周期序列,(2)非周期序列。扩频通信中所用的序列类型通常为周期序列。
有很多种周期序列,流行的周期序列有:
最大长度线性移位寄存器序列(m序列);
二次剩余序列(q-r序列);
霍尔序列;
双素数序列。
在这些序列中,最常用的是m序列。m序列已经广泛用于军事应用和其他单用户扩频系统。不过,基于互相关要求的原因,在某些个人通信CDMA系统中,一些另外的PN序列(如Kasami序列,Walsh序列或Gold序列)是所希望的。
用相对较少级数的LFSR很容易产生m序列(图1)。
图1 普通的m序列产生器
一个LFSR由1个移位寄存器和1个反馈网络(或1个奇偶)组成,反馈网络仅由模2加法器(XOR门)组成。反馈网络输出加到移位寄存器输入。当输入的偶数是逻辑0时反馈网络提供输出逻辑0,当输入奇数是逻辑1时反馈网络产生逻辑1。触发器数和连接到反馈网络的触发器输出选择确定所产生PN序列的长度和特性。移位寄存器的所有触发器由同一时钟驱动。除硬件复杂性之外,在达到码同步(发射器和接收器之间)时这些序列运行良好。
m序列长度(N)由下式给出:
N=2m-1
其中m是移位寄存器的级数(也称之为寄存器长度)。
图2示出具有3级(m=3)的m序列工作。由Q1,Q2,和Q3表示3个触发器的状态,从图中可见反馈和等Q1和Q3的模2和。每一个触发器的输出连接到下一个触发器的输入。在每个时钟脉冲,每个触发器的状态移位到下一个。
图2 普通的级m序列产生器
基于LFSR的流密码给出良好的数据保密性,所提供的移位寄存器的长度是长的。尽管软件实现是不经济的,但结果表明硬件实现容易和简单。对于低成本保密系统的开发,这种电路是相当有吸引力的。有各种采用LFSR的流密码方法,各有其优缺点。在各种方法中,与未加密电文同步产生PN序列是重要的。在发射器中,所产生的PN序列(用做密钥Key)与未加密电文XOR产生密码电文。在接收器,同样的PN序列或Key与密码电文XOR重新产生原来的未加密电文。