一种非线性反馈移位寄存器的制造方法

文档序号:8001130阅读:215来源:国知局
一种非线性反馈移位寄存器的制造方法
【专利摘要】本发明实施例提供了一种非线性反馈移位寄存器,数据分配网络依据逻辑运算函数从状态值中选择变量并将变量进行输出,计算网络将数据分配网络输入的变量进行逻辑与和逻辑异或运算,因为密码算法的非线性反馈函数均能转换为仅包含逻辑与和逻辑异或的函数,因此,本发明实施例所述的非线性反馈移位寄存器,因为数据分配网络依据的逻辑运算函数由逻辑与运算和逻辑异或运算组成,计算网络进行的计算同样由逻辑与和逻辑异或运算组成,所以,能够依据不同的非线性反馈函数进行数据的选择及计算,从而广泛适用于不同的密码算法。
【专利说明】一种非线性反馈移位寄存器

【技术领域】
[0001] 本发明涉及信息处理领域,尤其涉及一种非线性反馈移位寄存器。

【背景技术】
[0002] 非线性反馈移位寄存器是构成序列密码算法的核心部件,用于产生随机序列。非 线性反馈移位寄存器主要由移位寄存器和非线性反馈函数运算单元组成。由于不同的非线 性反馈移位寄存器使用的反馈函数存在很大差异,而使用不同的密码算法构造随机序列需 要不同的反馈函数,因此,现有的非线性反馈移位寄存器通常不能广泛适用于不同的密码 算法。


【发明内容】

[0003] 有鉴于此,本发明实施例提供了一种非线性反馈移位寄存器,目的在于解决现有 的非线性移位寄存器不能广泛适用于不同的密码算法的问题。
[0004] 为了实现上述目的,本发明实施例提供了以下技术方案:
[0005] -种非线性反馈移位寄存器,包括:
[0006] M个并联的运算模块,所述M为整数,且M>0,所述运算模块包括:
[0007] 数据分配网络,用于接收输入的状态值,依据逻辑运算函数从所述状态值中选择 运算变量并将所述运算变量输出,所述逻辑运算函数通过非线性反馈函数转换得到,由逻 辑与运算和逻辑异或运算组成;
[0008] 计算网络,用于对所述数据分配网络输出的所述运算变量进行逻辑与和逻辑异或 运算,所述计算网络的结构依据所述逻辑运算函数预先配置得到;
[0009] 移位输出网络,用于将未参与逻辑运算的状态值及所述逻辑运算的结果进行移 位,并将所述移位结果输出。
[0010] 优选地,所述数据分配网络包括:
[0011] X个Y级二选一数据选择器,所述Y级二选一数据选择器用于依据逻辑运算函数从 接收的状态值中选择Ibit运算变量。
[0012] 优选地,所述计算网络包括:
[0013] 逻辑运算网络,用于接收所述数据分类网络输出的运算变量,对所述运算变量进 行逻辑运算;
[0014] 组合运算网络,用于将所述逻辑运算单元的运算结果进行逻辑与和逻辑异或的组 合运算。
[0015] 优选地,所述逻辑运算网络包括:
[0016] N个级联的逻辑运算单元,其中,N为不为零的整数,所述逻辑运算单元包括:
[0017] 依据第一运算变量及第二运算变量的输入,输出预先存储的数据的查找表 LUT401,所述预先存储的数据为所述逻辑运算函数在剩余变量的不同取值下的结果,所述 剩余运算变量为所述运算变量中除去第一运算变量及第二运算变量之外的运算变量,所述 第一运算变量和所述第二运算变量为所述逻辑运算函数中出现次数最多的两个状态值;
[0018] 与所述查找表相连的、利用二选一数据选择器实现所述查找表输出的数据与剩余 运算变量的逻辑运算的子单元。
[0019] 优选地,所述组合运算网络包括:
[0020] 接收所述逻辑运算网络的输出结果、并将所述输出结果进行逻辑与运算的逻辑与 计算阵列;
[0021] 依据编程设置将所述逻辑运算网络的输出结果及所述逻辑与运算阵列的输出结 果进行逻辑异或运算并输出的可编程异或运算阵列。
[0022] 优选地,所述移位输出网络包括:
[0023] I个并联的二选一数据选择器,所述I为不为零的整数。
[0024] 本发明实施例提供的一种非线性反馈移位寄存器,数据分配网络依据逻辑运算函 数从状态值中选择变量并将变量进行输出,计算网络将数据分配网络输入的变量进行逻辑 与和逻辑异或运算,因为密码算法的非线性反馈函数均能转换为仅包含逻辑与和逻辑异或 的函数,因此,本发明实施例所述的非线性反馈移位寄存器,因为数据分配网络依据的逻辑 运算函数由逻辑与运算和逻辑异或运算组成,计算网络进行的计算同样由逻辑与和逻辑异 或运算组成,所以,能够依据不同的非线性反馈函数进行数据的选择及计算,从而广泛适用 于不同的密码算法。

【专利附图】

【附图说明】
[0025] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0026] 图1为本发明实施例公开的一种非线性反馈移位寄存器中运算模块的结构示意 图;
[0027] 图2为本发明实施例公开的一种非线性反馈移位寄存器的结构示意图;
[0028] 图3为本发明实施例公开的一种非线性反馈移位寄存器中数据分配网络的结构 示意图;
[0029] 图4为本发明实施例公开的一种非线性反馈移位寄存器的逻辑运算网络中的逻 辑运算单元的结构示意图;
[0030] 图5为本发明实施例公开的一种非线性反馈移位寄存器的逻辑运算网络中的逻 辑运算单元的配置及运算示意图;
[0031] 图6为本发明实施例公开的一种非线性反馈移位寄存器中的组合运算网络的结 构示意图;
[0032] 图7为本发明实施例公开的一种非线性反馈移位寄存器中的移位输出网络的结 构示意图;
[0033] 图8为本发明实施例公开的又一种非线性反馈移位寄存器的结构示意图;
[0034] 图9为本发明实施例公开的又一种非线性反馈移位寄存器中数据分配网络的结 构示意图;
[0035] 图10为本发明实施例公开的又一种非线性反馈移位寄存器中共用的组合运算网 络的结构示意图;
[0036] 图11为本发明实施例公开的又一种非线性反馈移位寄存器中移位输出网络的结 构示意图。

【具体实施方式】
[0037] 本发明实施例公开了一种非线性反馈移位寄存器,其核心发明点在于,依据非线 性反馈函数均能够分解为由逻辑与和逻辑异或组成的表达式的原理,非线性反馈移位寄存 器的数据分配网络依据由非线性反馈函数转换得到的、由逻辑与运算和逻辑异或运算组成 的逻辑运算函数配置状态数据,计算网络针对配置好的状态数据进行逻辑与和逻辑异或运 算,从而使得所述非线性反馈移位寄存器不会受到非线性反馈函数不同的制约,从而能够 适用于不同的非线性反馈函数。
[0038] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0039] 本发明实施例公开的一种非线性反馈移位寄存器,包括:
[0040] M个运算模块,所述M为整数,且M>0,其中,如图1所示,所述运算模块包括:
[0041] 数据分配网络101,用于接收输入的状态值,依据逻辑运算函数从所述状态值中选 择运算变量并将所述运算变量输出,所述逻辑运算函数通过非线性反馈函数转换得到,由 逻辑与运算和逻辑异或运算组成;
[0042] 其中,逻辑运算函数可以预先由其它装置将非线性反馈函数转换为仅包括逻辑与 运算和逻辑异或运算的表达式,将所述表达式发送给数据分配网络。
[0043] 计算网络102,用于对所述数据分类网络输出的所述运算变量进行逻辑与和逻辑 异或运算,所述计算网络的结构依据所述逻辑运算函数预先配置得到;
[0044] 需要说明的是,可以依据预先得到的逻辑运算函数对计算网络进行配置。
[0045] 移位输出网络103,用于将未参与逻辑运算的状态值及所述逻辑运算的结果进行 移位,并将所述移位结果输出。
[0046] 现有技术中,非线性反馈移位寄存器往往只能够适用于某几种序列密码算法,可 重构性能差,而本实施例所述的非线性反馈移位寄存器,数据分配网络和计算网络均依据 由逻辑与运算和逻辑异或运算组成的逻辑运算函数进行数据的处理,因为非线性反馈函数 能够转换为由逻辑与运算和逻辑异或运算组成的逻辑运算函数,因此,本实施例所述的非 线性反馈移位寄存器,能够广泛适用于不同的序列密码算法的反馈函数。
[0047] 上述实施例中,M的取值可以为不为零的任意整数,下面分别选择M=I和M=4的情 况进行详细说明。
[0048] 本发明实施例公开的又一种非线性反馈移位寄存器,如图2所示,包括:
[0049] 一个运算模块,本实施例中,可以使用BANKA表示,BANKA中包括:
[0050] 数据分配网络201 ;
[0051] 本实施例中,具体地,如图3所示,数据分配网络中可以包括120个8级二选一数 据选择器,即120个"64选1"的数据选择器,其中,每个"64选1"数据选择器由6级二选一 数据选择器构成,用于实现从输入的NFSR128bit状态数据中选择出任意Ibit运算变量。图 3中的左半部分为120个级联的数据选择器,其中,NFSR_dataO [31:0]和NFSR_datal [31:0] 为输入数据分配网络的状态值,每一个数据选择器输出的数据分别为D0[0]、D0[1]、…… DO[119],数据分配网络的整体输出为ZA[119:0],图3中的右半部分为一个数据选择器的 内部结构示意图,其中Imux表示1个二选一数据选择器、2mux2表示2个二选一数据选择 器、4mux2表示4个二选一数据选择器、32mux2表示32个二选一数据选择器。seil [5:0] 表示数据选择器的选择端,从64bit数据中选择1个bit,共需要6bit,即seil [5:0], seil [0]?seil [5]对应每一个二选一数据选择器的选择端,当seil [0]=1时,选择左边输 入,当seil [0]=0时,选择右边输入。
[0052] 逻辑运算网络202,用于接收所述数据分类网络输出的运算变量,对所述运算变量 进行逻辑运算;
[0053] 本实施例中,逻辑运算网络依据所述逻辑运算函数预先配置得到,可以包括N个 级联的逻辑运算单元,其中,N为不为零的整数,如图4所示,所述逻辑运算单元包括:
[0054] 依据第一运算变量及第二运算变量的输入,输出预先存储的数据的查找表 LUT401,所述预先存储的数据为所述逻辑运算函数在剩余变量的不同取值下的结果,所述 剩余运算变量为所述运算变量中除去第一运算变量及第二运算变量之外的运算变量,所述 第一运算变量和所述第二运算变量为所述逻辑运算函数中出现次数最多的两个状态值;
[0055] 具体地,所述查找表LUT中可以包括多个LUT单元,一个LUT单元存储剩余变量在 一种取值下的结果,可以记为函数A,其中包括a和b两个变量,每个LUT中均包括4个Ibit 的存储单元,每个Ibit的存储单元用于存储第一变量和第二变量在不同取值下函数A的一 个结果,每个LUT单元能够存储4bit的数据。
[0056] 与所述查找表相连的、利用二选一数据选择器实现所述查找表输出的数据与所述 剩余运算变量的逻辑运算的子单元402。
[0057] 图4中,a、b为两个由数据分配网络输出的运算变量,作为逻辑运算单元的输入变 量,分别输入16个LUT中,本实施例中,可以预先计算得到非线性反馈函数的运算结果,具 体地,a、b为两个bit,取值范围为00、01、10、11四种情况,所以输入最多对应四种不同的 方式,对于一个给定的(包含a、b)的非线性反馈函数,上述四种不同的输入情况下,即能够 得到四个不同的计算结果,将其存储在LUT内,通过LUT内存储的数据,完成输入数据a、b 在图4所示逻辑运算单元中的运算。其中U0、V0、W0、R0、U1、V1、W1、R1是数据选择器的选 择控制信息,决定具体哪个变量参与到非线性函数的计算中来。c0、d0、eO、f0、cl、dl、el、 Π 变量都可以是非线性反馈函数的输入变量,与a、b -起构成非线性反馈函数,但是每次 并不会选取全部,只是选取其中的某几个。例如F40 (a,b,d0, fO),那么d0, fO就是有效的非 线性反馈函数的输入变量。从根本上讲,就是数据分配网络的输出。
[0058] 图4所示的逻辑运算单元实现的功能如表1所示:
[0059] 表INLM电路功能表
[0060]

【权利要求】
1. 一种非线性反馈移位寄存器,其特征在于,包括: Μ个并联的运算模块,所述Μ为整数,且M>0,所述运算模块包括: 数据分配网络,用于接收输入的状态值,依据逻辑运算函数从所述状态值中选择运算 变量并将所述运算变量输出,所述逻辑运算函数通过非线性反馈函数转换得到,由逻辑与 运算和逻辑异或运算组成; 计算网络,用于对所述数据分配网络输出的所述运算变量进行逻辑与和逻辑异或运 算,所述计算网络的结构依据所述逻辑运算函数预先配置得到; 移位输出网络,用于将未参与逻辑运算的状态值及所述逻辑运算的结果进行移位,并 将所述移位结果输出。
2. 根据权利要求1所述的非线性反馈移位寄存器,其特征在于,所述数据分配网络包 括: X个Y级二选一数据选择器,所述Y级二选一数据选择器用于依据逻辑运算函数从接收 的状态值中选择lb it运算变量。
3. 根据权利要求2所述的非线性反馈移位寄存器,其特征在于,所述计算网络包括: 逻辑运算网络,用于接收所述数据分类网络输出的运算变量,对所述运算变量进行逻 辑运算; 组合运算网络,用于将所述逻辑运算单元的运算结果进行逻辑与和逻辑异或的组合运 算。
4. 根据权利要求3所述的非线性反馈移位寄存器,其特征在于,所述逻辑运算网络包 括: N个级联的逻辑运算单元,其中,N为不为零的整数,所述逻辑运算单元包括: 依据第一运算变量及第二运算变量的输入,输出预先存储的数据的查找表LUT401,所 述预先存储的数据为所述逻辑运算函数在剩余变量的不同取值下的结果,所述剩余运算变 量为所述运算变量中除去第一运算变量及第二运算变量之外的运算变量,所述第一运算变 量和所述第二运算变量为所述逻辑运算函数中出现次数最多的两个状态值; 与所述查找表相连的、利用二选一数据选择器实现所述查找表输出的数据与剩余运算 变量的逻辑运算的子单元。
5. 根据权利要求4所述的非线性反馈移位寄存器,其特征在于,所述组合运算网络包 括: 接收所述逻辑运算网络的输出结果、并将所述输出结果进行逻辑与运算的逻辑与计算 阵列; 依据编程设置将所述逻辑运算网络的输出结果及所述逻辑与运算阵列的输出结果进 行逻辑异或运算并输出的可编程异或运算阵列。
6. 根据权利要求1所述的非线性反馈移位寄存器,其特征在于,所述移位输出网络包 括: I个并联的二选一数据选择器,所述I为不为零的整数。
【文档编号】H04L9/06GK104238995SQ201310248491
【公开日】2014年12月24日 申请日期:2013年6月21日 优先权日:2013年6月21日
【发明者】戴紫彬, 李伟, 南龙梅, 章轶, 陈韬, 刘建国, 张立朝, 徐劲松, 徐进辉 申请人:中国人民解放军信息工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1