CN102176693A - 非线性循环移位寄存器 - Google Patents
非线性循环移位寄存器 Download PDFInfo
- Publication number
- CN102176693A CN102176693A CN2011100515057A CN201110051505A CN102176693A CN 102176693 A CN102176693 A CN 102176693A CN 2011100515057 A CN2011100515057 A CN 2011100515057A CN 201110051505 A CN201110051505 A CN 201110051505A CN 102176693 A CN102176693 A CN 102176693A
- Authority
- CN
- China
- Prior art keywords
- msub
- mrow
- nrsr
- words
- word
- 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
Links
- 125000004122 cyclic group Chemical group 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 8
- 238000004891 communication Methods 0.000 abstract description 4
- 101100217298 Mus musculus Aspm gene Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 101100203322 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SKS1 gene Proteins 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
反馈移位寄存器(FSR)是保密通信领域用于产生伪随机序列的密码部件,有线性FSR(LFSR)和非线性FSR(NLFSR)等。非线性循环移位寄存器(NRSR)是一种新型FSR。n级LFSR的最大周期为2n-1;n级NLFSR的最大周期为2n。字长为m比特时,n级NRSR采用以下反馈模式由前n个字递推下一个字:(<<<表示循环左移,表示模2加或者模2m加)上式中,m一般取平台的位数,例如8、16、32、64;mod表示模运算(求余),i从0或1开始均可,n≥2。字长为m比特时,n级NRSR的周期大于(2m)n,即安全性高于(N)LFSR;NRSR效率也高于常用的(N)LFSR。主要用途:设计流密码算法;设计分组密码中的密钥编排算法;设计杂凑(Hash)函数中的消息扩展算法。
Description
技术领域
非线性循环移位寄存器(NRSR)是保密通信领域用于产生非线性伪随机序列的密码部件,主要用途:设计流(序列)密码算法;设计分组密码中的密钥编排算法;设计杂凑(Hash)函数中的消息扩展算法。
背景技术
密码编码中产生伪随机序列的常用密码部件有线性反馈移位寄存器(LFSR)[1]和非线性反馈移位寄存器(NLFSR)[2]等,以下合称(N)LFSR。例如,第2代移动通信系统GSM的加密标准A5算法[3,4]、蓝牙加密标准E0算法[4]和流密码国际标准SNOW2算法[3]都采用了LFSR;杂凑(Hash)函数标准SHA1和SHA2的消息扩展算法[3]以及第3代标准SHA3的多个候选算法采用了(N)LFSR或其它发生器。
n级(N)LFSR的当前输出比特都是前n比特的逻辑函数(n≥2),这样的逻辑函数共有22n个,其中线性的有2n个,非线性的有22n-2n个。LFSR采用以下反馈模式由前n比特(ai~an+i-1)线性递推下一比特an+i:
an+i=ai^cn-1ai+1^…^c1an+i-1(其中常数ck=0或1,1≤k≤n-1,^是模2加法,i一般从0开始)如果输入的初始n比特(a0~an-1)全为0,则LFSR输出恒为0,因此,n级LFSR的最大周期为2n-1。当且仅当LFSR的反馈多项式为本原多项式时,LFSR的周期才达到最大。产生一个本原多项式并不容易,可借助数学软件包。SHA1的消息扩展算法采用以下模式由前16个字(wt-16~wt-1)递推下一个字wt:
wt=(wt-3^wt-8^wt-14^wt-16)<<<1 (<<<1表示循环左移1位,字长m为32比特)这相当于字长m为32b(比特)的16级发生器,如果输入的初始16个字(w0~w15)全为0,则输出恒为0,因此,其最大周期小于等于(232)16-1。n级NLFSR的最大周期为2n。当字长为m比特时(m一般取平台的位数,例如8、16、32、64),n级非线性循环移位寄存器(NRSR)的周期大于(2m)n。(N)LFSR软件实现慢,解决的办法是并行m个(N)LFSR,相当于字长为m比特,但最大周期还是小于等于2n,除非象SNOW2一样采用模2m的本原多项式,最大周期才小于等于(2m)n。也就是说,对于不同的字长m和不同的级数n,(N)LFSR要寻找不同的反馈模式。不管字长m和级数n为多大,NRSR存在统一的反馈模式,无须寻找达到最大周期的反馈模式,可以直接适应各种平台,包括将来128位以上的平台。在32位平台下(2.4GHz双核CPU、2GB内存、Windows XP、C语言),SNOW2的LFSR速度为630MB/s。SHA1和SHA256的消息扩展算法速度都小于400MB/s。NRSR的速度为700MB/s。对于A5和E0算法采用的LFSR,除非同时并行32个LFSR,效率才和NRSR相当。对于周期达到最大的(N)LFSR,其输出是绝对均匀的,遍历了所有状态才会重复。测试表明,NRSR产生的输出是伪随机均匀的,又能遍历所有状态。
[1](美)Schneier B.应用密码学——协议、算法与C源程序.吴世忠等译.机械工业出版社,2000-1.264~269
[2](中)王育民,刘建伟.通信网的安全——理论与技术.西安电子科技大学出版社,1999-04.81~82
[3](中)谷利泽,郑世慧,杨义先.现代密码学教程.北京邮电大学出版社,2009-08.169~175,189~204
[4](中)徐胜波,马文平,王新梅.无线通信网中的安全技术.人民邮电出版社,2003-07.149~150,183~187
发明内容
【发明目的】
为了快速产生伪随机性更好的输出序列,用于设计安全高效的对称密码算法和杂凑(Hash)函数,非线性循环移位寄存器(NRSR)相比(N)LFSR而言,扩大了输出序列的周期,改善了输出的伪随机性,增强了多平台适应性,提高了效率。
【技术方案】
非线性循环移位寄存器(NRSR)是一种新型反馈移位寄存器(FSR),其采用的技术方案是:当字长为m比特时(m一般取平台的位数,例如8、16、32、64),n级NRSR采用以下反馈模式由前n个字(ai~ai+n-1)递推下一个字ai+n(n≥2,i从0或从1开始均可)
其中,rk(a)(1≤k≤n)表示a循环移位,至少有一个循环移位数在0~m-1之间循环变化,其它可以不移位;表示模2加(逐位异或)或者模2m加,×表示模2m乘,mod 2m表示模2m运算(求余数);bx、cy为0~2m-1之间的整数(1≤x≤n,0≤y≤n),但c0、b1、c1为奇数,还有1对(bx,cx)为奇数(2≤x≤n),一般bn、cn取奇数;输入的初始n个字(a0~an-1)取值都不限,输入的每个字都可以是任意m比特长的数。
为提高效率,我们推荐使用简单的NRSR,由前n个字(ai~ai+n-1)中的2个字递推下一个字(首字ai必选,一般取首尾2个字,如附图1所示):
其中,b为3~2m-1之间循环变化的奇数,可取b=2i+1;<<<j表示循环左移j位,j在0~m-1之间循环变化,可取j=i mod m。当m较大时,例如m≥32,从应用上来说,b在3~2m-1之间循环变化与b在1~2m-1之间循环变化的性能差异不大。
如果平台处理乘法的能力差,可取
NRSR与(N)LFSR不同之处在于:(1)乘法系数b循环变化;(2)循环移位数j循环变化;(3)计数加1。
【有益效果】
相比(N)LFSR而言,非线性循环移位寄存器(NRSR)有以下优点:
(1)周期更大、安全性更高。由于乘法系数b和循环移位数j不固定,n级NRSR的周期大于(2m)n(字长为m比特)。对于反馈模式ai+n=[(ai+n-1<<<j)+ai+1]mod 2m(j在0~m-1之间循环变化),当字长为8b(比特)时,测试得2级NRSR的周期为484192>216B(字节);3级NRSR的周期为81,782456>224(16MB);4级NRSR的周期为27,251403552>232(4GB)。当字长为16b时,2级NRSR的周期为37,540033008>4G个短整数。对于反馈模式ai+n=[(b×ai+n 1)+(ai<<<j)+1]mod 2m(b为1~2m-1之间循环变化的奇数),当字长为8b时,测试得2级NRSR的周期为4,765440>216(64KB)。如果b取3~2m-1之间循环变化的奇数,周期更大。测试表明,周期与寄存器的初值、循环移位数j的初值及乘法系数b的初值无关。
对于周期达到最大的LFSR,其输出状态1~2n-1是绝对均匀的;对于周期达到最大的NLFSR,其输出状态0~2n-1是绝对均匀的,遍历了所有状态才会重复。测试表明,NRSR产生的输出是伪随机均匀的,没有遍历所有状态也可能出现重复(寄存器状态重复不一定是周期重复,当寄存器的状态和循环移位数j的状态以及乘法系数b的状态同时重复才是周期重复)。因此,NRSR的不可预测性和安全性优于(N)LFSR。
NRSR输入的初始n个字(a0~an-1)取值都不限,可以全为0。对于杂凑(Hash)函数标准SHA1和SHA2的消息扩展算法,如果初始消息全为0,则扩展消息也全为0。NRSR不存在该问题。
另外,有个分组密码算法叫RC6,需要5轮加密才能实现伪随机性。其加密轮函数f(i,a,b,c,d)为:
{u=[d(2d+1)]<<<5;t=[b(2b+1)]<<<5;a=[(a^t)<<<u]+k[i];c=[(c^u)<<<t]+k[i+1];}
用NRSR直接取代2个缓存变量u和t,对d和b进行可逆更新:
{t=d;d=[(t+1)<<<i]+b;b=(d<<<i)+t+1;a=[(a^d)<<<b]+k[i];c=[(c^b)<<<d]+k[i+1];}
5轮加密也实现了伪随机性,这也说明NRSR具有良好的密码特性。
(2)效率更高。在32位平台下(2.4GHz双核CPU、2GB内存、Windows XP、C语言),NRSR速度为700MB/s。常用(N)LFSR速度一般不超过630MB/s。
附图说明
图1 非线性循环移位寄存器(NRSR)
具体实施方式
(1)当字长为m比特时(m一般取平台的位数,例如8、16、32、64),n级非线性循环移位寄存器(NRSR)由前n个字(ai~ai+n-1)中的首尾2个字(ai,ai+n-1)递推下一个字ai+n(如附图1所示,n≥2,i从0或从1开始均可):
其中,b为3~2m-1之间或1~2m-1循环变化的奇数,可取b=2i+1;<<<j表示循环左移j位,j在0~m-1之间循环变化,可取j=i mod m;表示模2加(逐位异或)或者模2m加,×表示模2m乘,mod 2m表示模2m运算(求余数)。输入的初始n个字(a0~an-1)取值都不限,输入的每个字都可以是任意m比特长的数。当m较大时,例如m≥32,从应用上来说,b在3~2m-1之间循环变化与b在1~2m-1之间循环变化的性能差异不大。
(2)如果平台处理乘法的能力差,当字长为m比特时,n级非线性循环移位寄存器(NRSR)由前n个字(ai~ai+n-1)中的首尾2个字(ai,ai+n-1)递推下一个字ai+n,可取
其中,<<<j表示循环左移j位,j在0~m-1之间循环变化,可取j=i mod m;表示模2加或者模2m加。
(3)当字长为m比特时,n级非线性循环移位寄存器(NRSR)由前n个字递推下一个字ai+n,也可取
Claims (3)
1.非线性循环移位寄存器(NRSR)是一种新型反馈移位寄存器(FSR),其总体特征是:当字长为m比特时(m一般取平台的位数,例如8、16、32、64),n级NRSR采用以下反馈模式由前n个字(ai~ai+n-1)递推下一个字ai+n(n≥2,i从0或从1开始均可)
2.根据权利要求1所述的非线性循环移位寄存器(NRSR),为提高效率,只由前n个字(ai~ai+n-1)中的2个字递推下一个字,首字ai必选,一般取首尾2个字(ai,ai+n-1),其特征是:当字长为m比特时,n级NRSR采用以下反馈模式由前n个字中的2个字(ai,ak)递推下一个字ai+n(i+1≤k≤i+n-1)
3.根据权利要求1所述的非线性循环移位寄存器(NRSR),如果平台处理乘法的能力差,为提高效率,只由前n个字(ai~ai+n-1)中的2个字递推下一个字,首字ai必选,一般取首尾2个字,其特征是:当字长为m比特时,n级NRSR采用以下反馈模式由前n个字中的2个字(ai,ak)递推下一个字ai+n(i+1≤k≤i+n-1)
其中,<<<j表示循环左移j位,j在0~m-1之间循环变化,可取j=i mod m;c为1~2m-1之间的奇数,可取c=1;表示模2加(逐位异或)或者模2m加,mod 2m表示模2m运算(求余数),m一般取平台的位数;输入的初始n个字(a0~an-1)取值都不限,输入的每个字都可以是任意m比特长的数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100515057A CN102176693A (zh) | 2011-03-04 | 2011-03-04 | 非线性循环移位寄存器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100515057A CN102176693A (zh) | 2011-03-04 | 2011-03-04 | 非线性循环移位寄存器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102176693A true CN102176693A (zh) | 2011-09-07 |
Family
ID=44519799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100515057A Pending CN102176693A (zh) | 2011-03-04 | 2011-03-04 | 非线性循环移位寄存器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102176693A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235714A (zh) * | 2013-04-02 | 2013-08-07 | 四川长虹电器股份有限公司 | 一种构造随机序列的最短线性移位寄存器的方法 |
CN104486068A (zh) * | 2014-12-12 | 2015-04-01 | 苏州中科启慧软件技术有限公司 | 基于非线性循环移位寄存器的流密码算法snrr |
CN104506303A (zh) * | 2014-12-19 | 2015-04-08 | 苏州中科启慧软件技术有限公司 | 并行循环移位寄存器prr |
CN105162579A (zh) * | 2015-06-18 | 2015-12-16 | 南京航空航天大学 | 基于非线性循环移位寄存器的轻量级流密码技术lsnrr |
CN105553647A (zh) * | 2016-02-26 | 2016-05-04 | 南京航空航天大学 | 基于非线性循环移位寄存器的轻量级流密码技术lsnr2 |
CN111258549A (zh) * | 2020-04-30 | 2020-06-09 | 江苏亨通问天量子信息研究院有限公司 | 基于非线性反馈移位寄存器的量子随机数后处理装置 |
WO2021038356A1 (en) * | 2019-08-28 | 2021-03-04 | International Business Machines Corporation | Non-linear feedback shift register |
US10977003B2 (en) | 2019-08-28 | 2021-04-13 | International Business Machines Corporation | Linear feedback shift register with near-maximal length sequences |
CN112860221A (zh) * | 2021-03-17 | 2021-05-28 | 上海燧原科技有限公司 | 一种随机序列生成方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999016208A2 (en) * | 1997-09-22 | 1999-04-01 | Qualcomm Incorporated | Method and apparatus for generating encryption stream ciphers |
CN101378314A (zh) * | 2008-09-26 | 2009-03-04 | 北京数字太和科技有限责任公司 | 一种密钥序列的生成方法和密钥产生装置 |
-
2011
- 2011-03-04 CN CN2011100515057A patent/CN102176693A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999016208A2 (en) * | 1997-09-22 | 1999-04-01 | Qualcomm Incorporated | Method and apparatus for generating encryption stream ciphers |
CN101378314A (zh) * | 2008-09-26 | 2009-03-04 | 北京数字太和科技有限责任公司 | 一种密钥序列的生成方法和密钥产生装置 |
Non-Patent Citations (2)
Title |
---|
EMMA LAZZERI等: "All-Optical N-Bits Shift Register Exploiting a Ring Buffer Based on Semiconductor Optical Amplifier", 《IEEE PHOTONICS TECHNOLOGY LETTERS》 * |
王澜涛: "基于m序列的可重构线性反馈移位寄存器研究", 《电脑与信息技术》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235714A (zh) * | 2013-04-02 | 2013-08-07 | 四川长虹电器股份有限公司 | 一种构造随机序列的最短线性移位寄存器的方法 |
CN104486068A (zh) * | 2014-12-12 | 2015-04-01 | 苏州中科启慧软件技术有限公司 | 基于非线性循环移位寄存器的流密码算法snrr |
CN104506303A (zh) * | 2014-12-19 | 2015-04-08 | 苏州中科启慧软件技术有限公司 | 并行循环移位寄存器prr |
CN105162579A (zh) * | 2015-06-18 | 2015-12-16 | 南京航空航天大学 | 基于非线性循环移位寄存器的轻量级流密码技术lsnrr |
CN105553647A (zh) * | 2016-02-26 | 2016-05-04 | 南京航空航天大学 | 基于非线性循环移位寄存器的轻量级流密码技术lsnr2 |
WO2021038356A1 (en) * | 2019-08-28 | 2021-03-04 | International Business Machines Corporation | Non-linear feedback shift register |
US10977003B2 (en) | 2019-08-28 | 2021-04-13 | International Business Machines Corporation | Linear feedback shift register with near-maximal length sequences |
US11048476B2 (en) | 2019-08-28 | 2021-06-29 | International Business Machines Corporation | Non-linear feedback shift register |
GB2601941A (en) * | 2019-08-28 | 2022-06-15 | Ibm | Non-linear feedback shift register |
US11561768B2 (en) | 2019-08-28 | 2023-01-24 | International Business Machines Corporation | Non-linear feedback shift register |
GB2601941B (en) * | 2019-08-28 | 2023-04-26 | Ibm | Non-linear feedback shift register |
CN111258549A (zh) * | 2020-04-30 | 2020-06-09 | 江苏亨通问天量子信息研究院有限公司 | 基于非线性反馈移位寄存器的量子随机数后处理装置 |
CN112860221A (zh) * | 2021-03-17 | 2021-05-28 | 上海燧原科技有限公司 | 一种随机序列生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102176693A (zh) | 非线性循环移位寄存器 | |
US8139764B2 (en) | Closed galois field cryptographic system | |
CN100369404C (zh) | 混沌密码序列发生器 | |
JP2008299330A (ja) | 閉ガロア体組合せ | |
Xiao et al. | 2-Adic complexity of two classes of generalized cyclotomic binary sequences | |
Cardell et al. | Linear Models for the Self-Shrinking Generator Based on CA. | |
Das et al. | Generation of AES S-boxes with various modulus and additive constant polynomials and testing their randomization | |
Mandal et al. | Probabilistic generation of good span n sequences from nonlinear feedback shift registers | |
CN105553647A (zh) | 基于非线性循环移位寄存器的轻量级流密码技术lsnr2 | |
Kocheta et al. | A review of some recent stream ciphers | |
CN105162579A (zh) | 基于非线性循环移位寄存器的轻量级流密码技术lsnrr | |
RU2296427C1 (ru) | Способ поточного кодирования дискретной информации | |
Wicik et al. | Modified alternating step generators | |
Das et al. | Cryptographically Suitable Maximum Length Cellular Automata. | |
CN105897403A (zh) | 基于并行循环移位寄存器的流密码技术sprr | |
RU97885U1 (ru) | Устройство поточного шифрования данных | |
Fúster-Sabater | Linear solutions for irregularly decimated generators of cryptographic sequences | |
Silva et al. | Enhanced chaotic stream cipher for WSNs | |
CN113886804B (zh) | 基于并行循环移位寄存器的轻量级流密码生成方法 | |
Fúster-Sabater et al. | Strategic attack on the shrinking generator | |
Yerukala et al. | LFL-A New Stream Cipher for Secure Communications | |
Yerukala et al. | Alternating step generator using FCSR and LFSRs: A new stream cipher | |
RU2239290C2 (ru) | Способ поточного шифрования данных | |
RU2251816C2 (ru) | Способ поточного кодирования дискретной информации | |
RU2291578C1 (ru) | Способ поточного шифрования данных |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110907 |