产生复杂码序列的新LFSR基电路
扫描二维码
随时随地手机看文章
用线性反馈移位寄存器(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重新产生原来的未加密电文。
用LFSR产生的m序列码不适合较低长度LFSR保密。假若用具有一些反馈支路的n位移位寄存器产生长度(2n-1)位的m序列码,若知道码字的2n位,则可以定位反馈支路。这种情况下窃听变得容易。现已开发出一些新颖技术改善PN序列保密性,并有一些专利发布。
然而,这些新颖技术的大多数的LFSR反馈电路是固定的,因此容易发现密码或干扰机。本文给出一种更保密的m序列产生器,其反馈支路保持在伪随机状态下变化,使得所产生的码相当复杂。除产生的码复杂外,电路的简单性使此电路吸引着低成本、保密消息通信应用。
电路描述
图3示出所提出的电路。用一个8位LFSR产生255位码序列的16个不同的集合,这依赖于16个有效反馈支路集合:{8,4,3,2},{8,6,5,4},{8,6,5,3},{8,5,3,2},{8,6,5,2},{8,6,3,2},{8,5,3,1},{8,7,4,3},{8,6,5,1},{8,7,3,2},{8,7,6,1},{8,7,2,1},{8,7,6,5,2,1},{8,7,6,3,2,1},{8,6,4,3,2,1},{8,7,6,5,3,2}。
图3 新的m序列产生器
一次可以用这些反馈支路集合的任一个,这样,LFSR输出的一个特定组合,经1个模2加法器连接回到其输入。因此,根据所选反馈保持连接的时间,在某一时刻可以选择上面所述反馈连接的任一种连接产生部分或全部相应的码序列。
若这些反馈连接在随机状态下同步改变,则输出序列(图3的Y)也相应改变。这可用图3所示电路实现。为了说明简单化,在此仅选用7个反馈连接集合:{8,4,3,2},{8,6,5,4},{8,6,5,3},{8,5,3,2},{8,6,5,2},{8,6,3,2}和{8,6,5,1}。XOR LFSR的不同输出得到这些反馈连接集合,这借助于另一个PN序列产生的3位字控制的8:1多路转换器(MUX)(见图3)。
由于避免000做为MUX控制字,所以,根据控制字仅选择MUX的7个输入。因此,随机变化反馈支路,在某一时间选择出7个不同集合中的1个。根据N值(电路中分频因数)、码产生器初始状态和MUX初始状态,可以产生复杂码序列并在输出Y得到(图3)。
用下列IC可组装图3所示电路:用IC74151做多路转换器,IC7486做为实现反馈网络的XOR门,IC74LS76(J-K触发器)与IC7400(NAND门)组合做为移位寄存器和N分频计数器。
电路所需的输入时钟信号来自函数发生器。从此电路的反馈移位寄存器的不同级可获得PN码信号。
图4 反馈网络
结语
采用具有随机变化反馈连接的LFSR设计PN序列的方法对于流加密/解密是非常有用的。N计数分频决定LFSR输出的1个特定PN序列(对应特定选择的反馈支路集合)的长度。N最大值是255。也可以采用4位PN序列(替代3位PN序列)为MUX提供控制字,这将增强复杂性,从而产生码字保密。此种情况下,采用16:1 MUX,在其输入有16个可能的反馈组合的集合。