CN104681091A - 一种可重构线性反馈移位寄存器 - Google Patents

一种可重构线性反馈移位寄存器 Download PDF

Info

Publication number
CN104681091A
CN104681091A CN201310639012.4A CN201310639012A CN104681091A CN 104681091 A CN104681091 A CN 104681091A CN 201310639012 A CN201310639012 A CN 201310639012A CN 104681091 A CN104681091 A CN 104681091A
Authority
CN
China
Prior art keywords
xor gate
linear feedback
shift register
data selector
type flip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310639012.4A
Other languages
English (en)
Inventor
戴紫彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PLA Information Engineering University
Original Assignee
PLA Information Engineering University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PLA Information Engineering University filed Critical PLA Information Engineering University
Priority to CN201310639012.4A priority Critical patent/CN104681091A/zh
Publication of CN104681091A publication Critical patent/CN104681091A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Logic Circuits (AREA)

Abstract

本发明实施例提供一种可重构线性反馈移位寄存器,包括移位寄存器,配置信息电路和线性反馈函数电路;移位寄存器包括n个D触发器和n个数据选择器,各数据选择器接收对应的初始状态信号,并经处理后输出至对应的D触发器,以使各D触发器输出对应的状态值;线性反馈函数电路包括n个与门,和由多个异或门组成的树形异或门网络;各与门接收对应配置信息,和对应D触发器输出的状态值,根据对应配置信息和对应D触发器输出的状态值控制与门的工作状态,向树形异或门网络输出信号;树形异或门网络的各异或门根据输入信号得出运算结果,确定参与线性反馈函数运算的寄存器。本发明实施例提升了线性反馈移位寄存器的可重构结构的适应性。

Description

一种可重构线性反馈移位寄存器
技术领域
本发明涉及寄存器技术领域,更具体地说,涉及一种可重构线性反馈移位寄存器。
背景技术
线性反馈移位寄存器(LFSR,Linear Feedback Shift Register)是构成序列密码算法的核心部件,用于产生随机序列。图1示出了现有线性反馈移位寄存器的结构,可进行参照,线性反馈移位寄存器主要由两个部分构成,如图1所示,分别为移位寄存器与线性反馈函数;其中,移位寄存器由n个串联的寄存器(an-1~a0)组成,线性反馈函数由若干个异或门组成,整体移位寄存器可以看作成是一个位序列;在每个时刻,n个串联的寄存器右移一位,新的最左端的状态位根据寄存器中其它位的异或运算得到;如果配置信息ci=1,则对应的寄存器ai为反馈抽头,表明ai参与线性反馈函数。
目前线性反馈移位寄存器在设计上需要实现硬件可重构要求,硬件可重构是指实现对线性反馈移位寄存器的任意抽头个数和任意抽头位置的重构操作,使得线性反馈移位寄存器的整体电路结构能够依据不同的序列密码算法要求进行相应的改变,不需要重新设计硬件电路,从而能够解决不同序列密码算法中线性反馈移位寄存器不同结构的变化需求。
本发明的发明人在实现本发明的过程中发现,目前现有线性反馈移位寄存器至少存在如下问题:线性反馈移位寄存器的可重构设计往往局限于某几种序列密码算法的基本特征,可重构结构的适应性不强,无法针对全面的序列密码算法进行自适应的电路结构重构。
发明内容
有鉴于此,本发明实施例提供一种可重构线性反馈移位寄存器,以解决现有线性反馈移位寄存器的可重构结构的适应性不强,无法针对全面的序列密码算法进行自适应的电路结构重构的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种可重构线性反馈移位寄存器,包括:移位寄存器,配置信息电路和线性反馈函数电路;
其中,所述移位寄存器包括n个D触发器和n个数据选择器,各数据选择器接收对应的初始状态信号,并经处理后输出至对应的D触发器,以使各D触发器输出对应的状态值;
所述线性反馈函数电路包括n个与门,和由多个异或门组成的树形异或门网络;其中,各与门用于接收所述配置信息电路输出的n个配置信息中的对应配置信息,和对应D触发器输出的状态值,根据对应配置信息和对应D触发器输出的状态值控制与门的工作状态,根据与门的工作状态向树形异或门网络输出信号;
树形异或门网络具有多级异或门结构,第一级的各异或门接收所对应的两个相邻的与门的输出信号,各异或门对应的与门不重复;下一级的一个异或门对应上一级的两个相邻异或门,并接收所对应的两个相邻异或门的输出信号,各下一级的异或门所对应的上一级的异或门不重复;各异或门根据输入信号得出运算结果,根据运算结果确定参与线性反馈函数运算的寄存器。
其中,一个D触发器对应一个数据选择器;除第一个数据选择器外,其余的各数据选择器的输入信号包括:对应初始状态信号,和数据选择器对应的前一级D触发器输出的状态值;第一个数据选择器的输入信号包括:对应初始状态信号,和线性反馈函数的输出;
各个D触发器的输入信号包括:对应的数据选择器的输出信号。
其中,各数据选择器的输入信号还包括:模式选择信号;各个D触发器的输入信号还包括:时钟信号。
其中,若n为偶数,所述树形异或门网络具有级;若n为奇数,所述树形异或门网络具有级。
本发明实施例还提供一种可重构线性反馈移位寄存器,包括:移位寄存器,n个树形异或门网络,生成n路配置信息的配置信息并行化生成电路,和n个与门电路;其中,各个与门电路的与门数量为n,一个与门电路、一路配置信息及一个树形异或门网络一一对应;
所述移位寄存器包括n个D触发器和n个数据选择器,各数据选择器接收对应的初始状态信号,并经处理后输出至对应的D触发器,以使各D触发器输出对应的状态值;
各个与门电路中的各与门接收对应的D触发器输出的状态值,及对应路的对应配置信息,并将处理结果传输至对应的树形异或门网络中;
各树形异或门网络具有多级异或门结构,对于各树形异或门网络而言,第一级的各异或门接收所对应的与门电路的两个相邻的与门的输出信号,各异或门对应的与门不重复;下一级的一个异或门对应上一级的两个相邻异或门,并接收所对应的两个相邻异或门的输出信号,各下一级的异或门所对应的上一级的异或门不重复;各异或门根据输入信号得出运算结果,根据运算结果确定参与线性反馈函数运算的寄存器;
各树形异或门网络将输出结果传输至移位寄存器。
其中,一个D触发器对应一个数据选择器;除第一个数据选择器外,其余的各数据选择器的输入信号包括:对应初始状态信号,和数据选择器对应的前一级D触发器输出的状态值;第一个数据选择器的输入信号包括:对应初始状态信号,和线性反馈函数的输出;
各个D触发器的输入信号包括:对应的数据选择器的输出信号。
其中,各数据选择器的输入信号还包括:模式选择信号;各个D触发器的输入信号还包括:时钟信号。
其中,若n为偶数,所述树形异或门网络具有级;若n为奇数,所述树形异或门网络具有级。
基于上述技术方案,本发明实施例提供的可重构线性反馈移位寄存器,通过移位寄存器中的各数据选择器接收对应的初始状态信号,并经处理后输出至对应的D触发器,以使各D触发器输出对应的状态值;与门接收对应的配置信息,和对应D触发器输出的状态值,并生成输出信号输出至对应的树形异或门网络的异或门中,使得各异或门可根据输入信号得出运算结果,根据运算结果确定参与线性反馈函数运算的寄存器。本发明实施例通过树形异或门网络的各异或门的运算结果确定参与线性反馈函数运算的寄存器,可针对较为全面的序列密码算法实现线性反馈移位寄存器的硬件可重构,能够针对较为全面的序列密码算法进行自适应的电路结构重构,提升了线性反馈移位寄存器的可重构结构的适应性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有线性反馈移位寄存器的结构示意图;
图2为本发明实施例提供的可重构线性反馈移位寄存器的结构示意图;
图3为本发明实施例提供的移位寄存器的电路结构示意图;
图4为本发明实施例提供的线性反馈函数电路的电路结构示意图;
图5为本发明实施例提供的可重构线性反馈移位寄存器的另一结构示意图;
图6为本发明实施例提供的线性反馈移位寄存器的并行化结构模型示意图;
图7为本发明实施例提供的可重构移位寄存器的并行化结构示意图;
图8为本发明实施例提供的可重构线性反馈移位寄存器的再一结构示意图;
图9为本发明实施例提供的配置信息并行化生成电路的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的发明人经过研究发现:线性反馈移位寄存器可重构的设计可以从两个方面进行考虑,主要分为移位寄存器与线性反馈函数。主要体现在移位寄存器能够支持任意的级数,线性反馈函数能够支持任意变量的线性组合,即抽头个数可变,抽头位置任意。
可设移位寄存器由n个D触发器构成,分别记为D0,D1,D2,…,Dn-1,则该线性反馈移位寄存器要实现的线性反馈函数为:
f ( D i 0 , D i 1 , . . . , D i n - 1 ) = D i 0 ⊕ l 0 D i 1 ⊕ l 1 D i 2 ⊕ . . . ⊕ l n - 3 D i n - 2 ⊕ l n - 2 D i n - 1
其中是n个D触发器的状态值,其中部分状态值参与线性反馈函数,称之为反馈抽头;l0,l1,…,ln-2称为反馈系数,li∈{0,1}{0≤i≤n-2};符号⊕表示异或运算。
基于上述描述,图2示出了本发明实施例提供的可重构线性反馈移位寄存器的结构,参照图2,可重构线性反馈移位寄存器可以包括:移位寄存器1,配置信息电路2和线性反馈函数电路3;
其中,移位寄存器1包括n个D触发器和n个数据选择器;各数据选择器接收对应的初始状态信号,并经处理后输出至对应的D触发器,以使各D触发器输出对应的状态值;
线性反馈函数电路3包括n个与门,和由多个异或门组成的树形异或门网络;其中,各与门用于接收配置信息电路2输出的n个配置信息中的对应配置信息,和对应D触发器输出的状态值,根据对应配置信息和对应D触发器输出的状态值控制与门的工作状态,根据与门的工作状态向树形异或门网络输出信号;
树形异或门网络具有多级异或门结构,第一级的各异或门接收所对应的两个相邻的与门的输出信号,各异或门对应的与门不重复;下一级的一个异或门对应上一级的两个相邻异或门,并接收所对应的两个相邻异或门的输出信号,各下一级的异或门所对应的上一级的异或门不重复;各异或门根据输入信号得出运算结果,根据运算结果确定参与线性反馈函数运算的寄存器。
本发明实施例提供的可重构线性反馈移位寄存器,通过移位寄存器中的各数据选择器接收对应的初始状态信号,并经处理后输出至对应的D触发器,以使各D触发器输出对应的状态值;与门接收对应的配置信息,和对应D触发器输出的状态值,并生成输出信号输出至对应的树形异或门网络的异或门中,使得各异或门可根据输入信号得出运算结果,根据运算结果确定参与线性反馈函数运算的寄存器。本发明实施例通过树形异或门网络的各异或门的运算结果确定参与线性反馈函数运算的寄存器,可针对较为全面的序列密码算法实现线性反馈移位寄存器的硬件可重构,能够针对较为全面的序列密码算法进行自适应的电路结构重构,提升了线性反馈移位寄存器的可重构结构的适应性。
图3示出了本发明实施例提供的移位寄存器的电路结构,参照图3,移位寄存器可以包括:n个D触发器(D0~Dn-1),n个数据选择器(S0~Sn-1),一个D触发器对应一个数据选择器,如D0对应S0,D1对应S1,Dn-1对应Sn-1,以此类推;
其中,除第一个数据选择器(Sn-1)外,其余的各数据选择器(S0~Sn-2)的输入信号包括:对应初始状态信号,和数据选择器对应的前一级D触发器输出的状态值;第一个数据选择器(Sn-1)的输入信号包括:对应初始状态信号,和线性反馈函数的输出;可选的,线性反馈函数的输出可由线性反馈函数电路生成后输出至第一个数据选择器(Sn-1);
在序列密码算法初始化过程中,会对寄存器(如图1所示的寄存器a0~寄存器an1)赋一个初值(该初值即可认为是初始状态信号),初始状态信号一般是序列密码算法的主密钥或者IV向量;对应的,数据选择器S0对应的寄存器为寄存器a0,对应的初始状态信号为寄存器a0的初值,数据选择器Sn-1对应的寄存器为寄存器an-1,对应的初始状态信号为寄存器an-1的初值,以此类推;
可选的,各数据选择器(S0-Sn-1)的输入信号还可以包括:模式选择信号;
各个D触发器的输入信号包括:对应的数据选择器的输出信号;如D触发器D0的输入信号可以是对应的数据选择器S0的输出信号,以此类推;各个D触发器的状态值对外输出,如触发器D0输出状态值D0,触发器Dn-1输出状态值Dn-1,以此类推;
可选的,各个D触发器的输入信号还可以包括:时钟信号。
图4为本发明实施例提供的线性反馈函数电路的电路结构示意图,参照图4,线性反馈函数电路可以包括:n个与门(与门0~与门n-1),由多个异或门组成的树形异或门网络;若n为偶数时,则所述树形异或门网络具有级,即第一级使用两输入异或门的个数为n/2,第二级使用两输入异或门的个数为n/4,第m级使用两输入异或门的个数为n/2m,最后一级使用两输入异或门的个数为1;若n为奇数,则所述树形异或门网络具有级,即第一级使用两输入异或门的个数为(n+1)/2,第二级使用两输入异或门的个数为(n+1)/4,第m级使用两输入异或门的个数为(n+1)/2m,另需要在最后增加一级,最后所增加的一级使用一个异或门即可。
在本发明实施例中,各与门的输入信号包括:对应配置信息,和图3所示移位寄存器的对应D触发器的输出状态值;与门i的输入信号可以是配置信息Ci,触发器Di的输出状态值Di;如与门0的输入信号可以是配置信息C0,和触发器D0的输出状态值D0;与门n-1的输入信号可以是配置信息Cn-1,和触发器Dn-1的输出状态值Dn-1;配置信息Ci为0或者1,如果配置信息对应的寄存器是反馈抽头,则Ci=1,反之Ci=0;
参照图4,树形异或门网络的第一级的一个异或门对应两个相邻的与门,各异或门对应的与门不重复,各异或门的输入信号为对应的两个相邻与门的输出信号,如图4所示,与门n-1和与门n-2的输出信号进入第一级的一个异或门中,与门n-3和与门n-4的输出信号进入第一级的另一个异或门中;树形异或门网络的下一级的一个异或门对应上一级的两个相邻异或门,各下一级的异或门所对应的上一级的异或门不重复,下一级各异或门的输入信号为对应的上一级两个相邻异或门的输出信号;
设第一级与门i的输入信号为配置信息Ci和状态值Di,当Di作为线性反馈函数的输入时,Ci=1,与门i处于开启状态,传播到树形异或门网络的输出信号ai=Di,对应的寄存器为反馈抽头,参与到线性反馈函数的运算中;当Di不是线性反馈函数的输入时,Ci=0,与门i处于闭合状态,传播到树形异或门网络的输出信号ai=0,由于对于任意的变量x,有0⊕x=x,所以传播到树形异或门网络的输出信号ai不会影响线性反馈函数的运算。
通过以上分析,可以依据特定算法中抽头的个数与抽头所在移位寄存器中的位置,得到n个异或门的取值,完成对有效抽头(参与线性反馈函数的寄存器)的选取,进而实现n个变量以内的任意线性反馈函数。
对应的,图5示出了本发明实施例提供的可重构线性反馈移位寄存器的另一结构,可一同参照。
本发明的发明人还发现:线性反馈移位寄存器在设计上除了要满足硬件可重构的要求外,另一个重要的需求即是实现并行化;并行化主要是在一个时钟周期内完成线性反馈移位寄存器的并行更新和并行输出,从而改变线性反馈移位寄存器每个时钟输出1bit数据的传统工作方式,提高线性反馈移位寄存器的处理性能。然而目前线性反馈移位寄存器的并行度存在局限性,目前没有优化的硬件实现方案。
基于此,本发明实施例在满足线性反馈移位寄存器可重构的基础上,还提供一种满足线性反馈移位寄存器并行化的实现方式。设一个n级可重构线性反馈移位寄存器由n个串联的寄存器及一个模2加法器所组成,它的反馈函数为:f(x1,x2,…,xn)=cnxn+cn-1xn-1+…+c1x1
则任给一个初始状态(a0,a1,…,an-1),它的输出序列为:a0,a1,…,ak,…显然,输出序列满足递归关系式:
an+k=cnan+k-1+cn-1an+k-2+…+c1ak  (k≥0)(公式1)
即:an=cnan-1+cn-1an-2+…+c1a0
an+1=cnan+cn-1an-1+…+c1a1
=(cn+cn-1)an-1+(cncn-1+cn-2)an-2+…+(cnc2+c1)a1+c1cna0
an+2=cnan+1+cn-1an+…+c1a2
=cnan-1+(cncn-1+cncn-2+cn-1)an-2+…+(cnc2+cnc1+cn-1c2)a1
+(cnc1+cn-1c1)a0
(公式2)
依此类推,可以得到各个时刻的输出序列,按照上述原理可知:
1n步线性反馈函数的输出an,an+1,…,a2n-1可由初始时刻的状态a0,a1,…,an-1表示出来;
n+12n步线性反馈函数的输出a2n,a2n+1,…,a3n-1可由n时刻移位寄存器的状态an,an+1,…,a2n-1表示出来;
由此可得到:(k-1)n+1kn步线性反馈函数的输出akn,akn+1,…,a(k+1)n-1可由(k-1)n时刻的状态a(k-1)n,a(k-1)n+1,…,akn-1表示出来,其中k=1,2,…。因此对于状态序列的并行化可由以下步骤进行实现:
Step1:按照(1)式,根据初始状态(a0,a1,…,an-1),同时产生N个并行状态序列(an,an+1,…,an+N-1),其中N≤n;
Step2:在下一时钟周期开始时将状态值(an,an+1,…,an+N-1)送入移位寄存器,替换(a0,a1,…,an-1),即a0←an,a1←an+1,…,an-1←an+N-1,然后跳转到Step1。
按照上述步骤操作,可快速的实现状态序列的并行化。按照(2)式对并行化后的状态进行线性组合,即可得到并行化后的输出向量。
基于上述描述,下面可构建线性反馈移位寄存器的并行化模型;线性反馈移位寄存器并行化实现的结构模型可如图6所示,整体并行结构模型中主要包含四个部分:移位寄存器的初始状态、初始状态的线性组合、中间移位寄存器状态与并行输出向量生成。移位寄存器的初始状态作为并行化结构模型的输入,在算法的初始化过程中,通过算法主密钥或IV向量的注入生成。
移位寄存器状态的并行更新可以通过寄存器初始状态a0,a1,…,an-1的线性组合完成。利用初始状态a0,a1,…,an-1并行产生N步线性反馈函数的输出,然后得到N个周期以后寄存器的状态值an,an+1,…,a2n-1,并行更新移位寄存器中的每个状态,从而实现移位寄存器状态更新的并行化。
输出序列的并行产生是通过移位寄存器中间状态的线性组合完成的,当移位寄存器并行执行N步时,相应的产生N个中间状态,即S1,S2,…,SN,通过S0,S1,…,SN-1的线性组合计算得到并行的输出序列,从而实现移位寄存器输出序列产生的并行化。
可见,本发明提出的并行化结构模型能够有效支持移位寄存器状态序列的并行更新与输出序列并行产生,从而实现线性反馈移位寄存器的并行化。
本发明通过分析发现,序列密码算法中的移位寄存器操作只存在逻辑左移与逻辑右移两种模式,移位操作造成的状态空缺用线性反馈函数的输出进行填补,不存在循环移位的操作模式。因此本发明结合可重构与并行化思想,设计了一种可重构移位寄存器的并行化结构,能够在一个时钟内执行任意的N步移位操作,其设计原理如下所示:
对于n级的移位寄存器,其中状态位为a0,a1,…,an-1,设移位寄存器的移位位数为N,则N可以表示为:
N=kn-12n-1+kn-22n-2+…+k12+k0
移位寄存器的逻辑移位操作可以表示为:
a(j)=a(j±N)  0≤j≤n-1
其中,-表示执行左移操作,+表示执行右移操作。由此可得:
a(j)=a(j±kn-12n-1±kn-22n-2±…±k12±k0)
=a(((j±kn-12n-1)±kn-22n-2)±…±k12)±k0)
由此可知,任意位的逻辑移位操作均可以分解为若干2i移位操作的级联。
对应的,图7示出了本发明实施例提供的可重构移位寄存器的并行化结构示意图,参照图7,该结构可以包括:移位寄存器1,n个可控节点,即k0,k1,…,kn-1,n个可控节点可输出用于逻辑移位的使能信号;当ki=1时,相应的逻辑移位电路执行2i步的逻辑移位操作,否则,电路不对数据进行处理,直接输入到下一级逻辑移位电路中,由此并行实现N步的逻辑移位操作。当电路移位完成后,移位网络的输出并行加载到移位寄存器中,进而实现移位寄存器的N步并行移位操作。
基于图2和图7,图8示出了本发明实施例提供的可重构线性反馈移位寄存器的再一结构,图8所示可重构线性反馈移位寄存器能够支持硬件可重构和并行化处理要求,参照图8,该线性反馈移位寄存器可以包括:移位寄存器1,n个树形异或门网络(w1~wn),生成n路配置信息(1路配置信息n路配置信息)的配置信息并行化生成电路,各路配置信息具有配置信息0~配置信息n-1,n个与门电路(与门电路1~与门电路n),各个与门电路的与门数量为n(与门0~与门n-1);一个与门电路、一路配置信息及一个树形异或门网络一一对应,如与门电路i、树形异或门网络wi和i路配置信息相对应(i=1~n);
其中,移位寄存器,树形异或门网络的结构可参照图2~图4对应部分的描述;
其中,移位寄存器1包括n个D触发器和n个数据选择器;各数据选择器接收对应的初始状态信号,并经处理后输出至对应的D触发器,以使各D触发器输出对应的状态值;
各个与门电路中的各与门接收对应的D触发器输出的状态值,及对应路的对应配置信息,并将处理结果传输至对应的树形异或门网络中;
各树形异或门网络具有多级异或门结构,对于各树形异或门网络而言,第一级的各异或门接收所对应的与门电路的两个相邻的与门的输出信号,各异或门对应的与门不重复;下一级的一个异或门对应上一级的两个相邻异或门,并接收所对应的两个相邻异或门的输出信号,各下一级的异或门所对应的上一级的异或门不重复;各异或门根据输入信号得出运算结果,根据运算结果确定参与线性反馈函数运算的寄存器。
各树形异或门网络将输出结果再传输至移位寄存器1中。
其中,可重构并行移位寄存器最初由n个初始状态构成,即a0,a1,…,an-1,并将其作为线性反馈函数的输入。当整体结构执行N路并行操作时,线性反馈函数并行产生Nbit数据,移位寄存器内的n个状态值与产生的Nbit数据在一个时钟内并行移位N步,更新移位寄存器中的n个状态值,从而实现移位寄存器的N路并行操作。
树型异或门网络在整体电路结构中共包含N组,每个异或门网络的设计思想与线性反馈函数可重构的设计原理一致,其主要目的在于当电路执行N路并行操作时,产生Nbit的线性反馈值。
配置信息在整体电路结构中的作用在于控制线性反馈函数的输入,实现不同状态变量的线性组合。电路结构中共包含N组配置信息,每组配置信息与一个树型异或网络相对应,从而完成对N组树型异或网络的控制。
可见,可重构线性反馈移位寄存器执行N路并行操作时,共需N组配置信息。考虑到不同序列密码算法对线性反馈移位寄存器的需求不同,如果为每种序列密码算法中的线性反馈移位寄存器生成N组配置信息,并保存在电路中,将造成资源的浪费。本发明针对以上问题,提出了一种可重构配置信息并行生成的方法,能够依据不同序列密码算法的线性反馈函数,并行生成N组配置信息,极大提高了电路的灵活性,其具体实现思想如下:
一个任意线性反馈移位寄存器的反馈多项式可以表示为:
f(x)=cnxn+cn-1xn-1+…+c1x+1
由此可以依据线性反馈多项式得到第一组配置信息{cn,cn-1,…,c1},即抽头所在的位置为ci=1,其余位置为ci=0。
依据线性反馈移位寄存器的原理,可以推导出第二组配置信息相当于第一组配置信息进行左移一位,即有:
设第i组配置信息为{ci(n),ci(n-1),…,ci(1)},i≥2。同样可以看作是将第i-1组配置信息进行左移一位,即有:
xf(x)=cnxn+1+cn-1xn+…+c1x2+x
通过递推关系式可以得到如下公式:
由此可见,2~N组的配置信息都可以通过第一组配置信息{cn,cn-1,…,c1}计算得到。所以在配置信息的生成过程中,通过特定序列密码算法的线性反馈函数确定初始的配置信息,然后依据上述原理依次生成2~N组配置信息,最终可以实现可重构配置信息的并行化。
通过以上分析,配置信息并行化生成电路如图9所示,其具体计算过程为:
Step1:初始配置信息Cofing1进行逻辑左移一步,生成移位后的结果Config2_1与移位的输出C1。
Step2:Config2_1与初始配置信息进行异或得到结果Config2_2。
Step3:Config2_1与Config2_2同时输入到数据选择器中,通过移位输出C1进行选择,当C1=0时,第二组配置信息Config2=Config2_1,否则Config2=Config2_2。
Step4:将生成的第二组配置信息Config2输入到下一级电路中,替换Step1中Cofing1按照上述过程计算Cofing3。
依次类推,通过图9所示的电路结构,在Cofing1的输入下,能够完成对Cofing1~Cofingn的生成,从而实现可重构配置信息生成的并行化。
本发明实施例结合可重构线性反馈函数的并行化设计与可重构配置信息并行化生成的方法,提出了线性反馈移位寄存器的可重构并行化架构,如图9所示;在可重构能力方面,能够重构成任意的线性反馈函数,满足不同序列密码算法对线性反馈移位寄存器的要求;在并行度方面,线性反馈移位寄存器能够在一个时钟内执行N路并行操作,与线性反馈移位寄存器的常规实现方法相比,并行度提高了N倍。
整体电路结构包含可重构并行移位寄存器、可重构线性反馈函数并行化结构与配置信息并行化生成结构,下面对整体电路的工作过程作简要叙述:
首先,整体电路进行初始化配置过程,依据序列密码算法的主密钥和IV向量对移位寄存器进行初始化。完成上述操作后,选取移位寄存器并行执行的步数N,并依据线性反馈移位寄存器的反馈多项式生成初始的配置信息,加载到电路中的配置信息并行化生成模块,并行产生N个可重构线性反馈函数的配置信息。
然后,电路进入并行反馈过程,N组配置信息并行的加载到可重构线性反馈函数并行化结构中。在不同配置信息的控制下,重构出N路线性反馈函数的线性组合,从而并行的产生Nbit反馈数据,反馈到移位寄存器的输入端。
最后,电路进行并行更新过程,将产生的Nbit反馈数据与移位寄存器中的状态值a0,a1,…,an-1进行联合逻辑移位N步,并行的更新移位寄存器中的n个状态值,从而完成移位寄存器的N路并行操作。
本发明实施例提供的可重构的线性反馈移位寄存器,能够针对全面的序列密码算法进行自适应的电路结构重构,提升了线性反馈移位寄存器的可重构结构的适应性;进一步整体电路经过初始化配置、并行反馈与更新过程,实现了任意线性反馈移位寄存器的N路并行操作,在保证电路灵活性的基础上,提升了操作上的并行性。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种可重构线性反馈移位寄存器,其特征在于,包括:移位寄存器,配置信息电路和线性反馈函数电路;
其中,所述移位寄存器包括n个D触发器和n个数据选择器,各数据选择器接收对应的初始状态信号,并经处理后输出至对应的D触发器,以使各D触发器输出对应的状态值;
所述线性反馈函数电路包括n个与门,和由多个异或门组成的树形异或门网络;其中,各与门用于接收所述配置信息电路输出的n个配置信息中的对应配置信息,和对应D触发器输出的状态值,根据对应配置信息和对应D触发器输出的状态值控制与门的工作状态,根据与门的工作状态向树形异或门网络输出信号;
树形异或门网络具有多级异或门结构,第一级的各异或门接收所对应的两个相邻的与门的输出信号,各异或门对应的与门不重复;下一级的一个异或门对应上一级的两个相邻异或门,并接收所对应的两个相邻异或门的输出信号,各下一级的异或门所对应的上一级的异或门不重复;各异或门根据输入信号得出运算结果,根据运算结果确定参与线性反馈函数运算的寄存器。
2.根据权利要求1所述的可重构线性反馈移位寄存器,其特征在于,一个D触发器对应一个数据选择器;除第一个数据选择器外,其余的各数据选择器的输入信号包括:对应初始状态信号,和数据选择器对应的前一级D触发器输出的状态值;第一个数据选择器的输入信号包括:对应初始状态信号,和线性反馈函数的输出;
各个D触发器的输入信号包括:对应的数据选择器的输出信号。
3.根据权利要求2所述的可重构线性反馈移位寄存器,其特征在于,各数据选择器的输入信号还包括:模式选择信号;各个D触发器的输入信号还包括:时钟信号。
4.根据权利要求1所述的可重构线性反馈移位寄存器,其特征在于,若n为偶数,所述树形异或门网络具有级;若n为奇数,所述树形异或门网络具有级。
5.一种可重构线性反馈移位寄存器,其特征在于,包括:移位寄存器,n个树形异或门网络,生成n路配置信息的配置信息并行化生成电路,和n个与门电路;其中,各个与门电路的与门数量为n,一个与门电路、一路配置信息及一个树形异或门网络一一对应;
所述移位寄存器包括n个D触发器和n个数据选择器,各数据选择器接收对应的初始状态信号,并经处理后输出至对应的D触发器,以使各D触发器输出对应的状态值;
各个与门电路中的各与门接收对应的D触发器输出的状态值,及对应路的对应配置信息,并将处理结果传输至对应的树形异或门网络中;
各树形异或门网络具有多级异或门结构,对于各树形异或门网络而言,第一级的各异或门接收所对应的与门电路的两个相邻的与门的输出信号,各异或门对应的与门不重复;下一级的一个异或门对应上一级的两个相邻异或门,并接收所对应的两个相邻异或门的输出信号,各下一级的异或门所对应的上一级的异或门不重复;各异或门根据输入信号得出运算结果,根据运算结果确定参与线性反馈函数运算的寄存器;
各树形异或门网络将输出结果传输至移位寄存器。
6.根据权利要求5所述的可重构线性反馈移位寄存器,其特征在于,一个D触发器对应一个数据选择器;除第一个数据选择器外,其余的各数据选择器的输入信号包括:对应初始状态信号,和数据选择器对应的前一级D触发器输出的状态值;第一个数据选择器的输入信号包括:对应初始状态信号,和线性反馈函数的输出;
各个D触发器的输入信号包括:对应的数据选择器的输出信号。
7.根据权利要求6所述的可重构线性反馈移位寄存器,其特征在于,各数据选择器的输入信号还包括:模式选择信号;各个D触发器的输入信号还包括:时钟信号。
8.根据权利要求5所述的可重构线性反馈移位寄存器,其特征在于,若n为偶数,所述树形异或门网络具有级;若n为奇数,所述树形异或门网络具有级。
CN201310639012.4A 2013-11-27 2013-11-27 一种可重构线性反馈移位寄存器 Pending CN104681091A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310639012.4A CN104681091A (zh) 2013-11-27 2013-11-27 一种可重构线性反馈移位寄存器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310639012.4A CN104681091A (zh) 2013-11-27 2013-11-27 一种可重构线性反馈移位寄存器

Publications (1)

Publication Number Publication Date
CN104681091A true CN104681091A (zh) 2015-06-03

Family

ID=53316022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310639012.4A Pending CN104681091A (zh) 2013-11-27 2013-11-27 一种可重构线性反馈移位寄存器

Country Status (1)

Country Link
CN (1) CN104681091A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106226776A (zh) * 2016-07-06 2016-12-14 天津大学 一种用于测量光子飞行时间的lfsr计数器
CN108845248A (zh) * 2018-05-02 2018-11-20 清华大学 一种基于向量压缩的低功耗测试压缩方法和系统、clfsr
CN111124364A (zh) * 2020-02-10 2020-05-08 成都烨软科技有限公司 一种不同级数伪随机序列的产生装置及其产生方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067359A (en) * 1997-05-21 2000-05-23 Nec Corporation PN sequence generator with bidirectional shift register and Eulerian-graph feedback circuit
CN1558590A (zh) * 2004-01-29 2004-12-29 海信集团有限公司 可重构线性反馈移位寄存器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067359A (en) * 1997-05-21 2000-05-23 Nec Corporation PN sequence generator with bidirectional shift register and Eulerian-graph feedback circuit
CN1558590A (zh) * 2004-01-29 2004-12-29 海信集团有限公司 可重构线性反馈移位寄存器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李伟: "面向序列密码的反馈移位寄存器可重构并行化设计技术研究", 《中国优秀硕士论文全文数据库》 *
杭德全等: "可重构线性反馈移位寄存器设计", 《计算机应用》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106226776A (zh) * 2016-07-06 2016-12-14 天津大学 一种用于测量光子飞行时间的lfsr计数器
CN108845248A (zh) * 2018-05-02 2018-11-20 清华大学 一种基于向量压缩的低功耗测试压缩方法和系统、clfsr
CN108845248B (zh) * 2018-05-02 2020-10-23 清华大学 一种基于向量压缩的低功耗测试压缩方法和系统、clfsr
US11156662B2 (en) 2018-05-02 2021-10-26 Tsinghua University Software defined LFSR for LOC delay testing low-power test compression
CN111124364A (zh) * 2020-02-10 2020-05-08 成都烨软科技有限公司 一种不同级数伪随机序列的产生装置及其产生方法

Similar Documents

Publication Publication Date Title
Liu et al. A first step toward cost functions for quantum-dot cellular automata designs
Mishchenko et al. Logic synthesis of reversible wave cascades
CN101213749A (zh) 多位可编程分频器
CN103098018B (zh) 比特序列生成器
CN101378258B (zh) 一种模块化分频单元及分频器
US8495116B2 (en) Circuit and method converting boolean and arithmetic masks
Zhao et al. Novel way to research nonlinear feedback shift register
CN103106256A (zh) 一种基于Markov链的正交化插值的GM(1,1)模型预测方法
CN104681091A (zh) 一种可重构线性反馈移位寄存器
CN103197912B (zh) 一种用于深空通信协议编码的均匀随机数生成方法
CN102804681B (zh) 用于形成签名的装置和方法
CN101295237B (zh) 求商和余数的高速除法器
Houshmand et al. Design of a novel quantum reversible ternary up-counter
Garg et al. A novel design of compact reversible SG gate and its applications
CN105354008A (zh) 一种随机数生成器的输出电路及输出方法
CN101482808B (zh) 用于大数乘法器的(7:2)压缩器
CN102707923A (zh) 一种伪随机数生成电路及伪随机数产生方法
CN104572012A (zh) 一种基于aop的多项式基gf(2227)高速模乘法器
CN104007953A (zh) 一种基于四操作数Montgomery模乘算法的模乘器电路结构
CN111078191A (zh) 一种基于fpga硬件实现的伪随机数的生成方法
CN102226885A (zh) 一种模2n-2k-1加法器及设计方法
CN109510699B (zh) 一种六维离散超混沌系统及六维离散超混沌信号发生器
CN103944714A (zh) 基于ecc实现抗dpa攻击的标量乘算法的方法及装置
Yao et al. Hardware simplification to the delta path in a MASH 111 delta–sigma modulator
CN103188027B (zh) 频域辅同步码生成方法及其装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150603

RJ01 Rejection of invention patent application after publication