基于非线性循环移位寄存器的轻量级流密码技术lsnrr的制作方法

文档序号:8945555阅读:741来源:国知局
基于非线性循环移位寄存器的轻量级流密码技术lsnrr的制作方法
【技术领域】
[0001] 基于非线性循环移位寄存器NRR的轻量级流密码LSNRR是保密通信领域的一种对 称密码,主要用于网络与信息系统安全中的数据加解密,适合资源不受限的终端与资源受 限终端互通。
【背景技术】
[0002] 密码技术分为对称密码和非对称密码。由于非对称密码的加密速度远小于对称密 码,因此网络与信息系统安全中的数据加解密尽量采用对称密码,以提高效率。对称密码分 为流密码和分组密码,2种对称密码各有优缺点。设计流密码的一种常用密码部件是移位 寄存器,有线性反馈移位寄存器LFSR[1]和非线性反馈移位寄存器NLFSRra等,以下合称(N) LFSR。例如,第2代移动通信系统GSM的加密标准A5算法[3'4]、蓝牙加密标准EO算法[4]和 流密码国际标准SN0W2算法[3]都采用了LFSR;Hash函数标准SHAl和SHA2的消息扩展算 法[3]以及第3代标准SHA3的多个候选算法采用了(N)LFSR或其它发生器。
[0003] n级(N)LFSR的当前输出比特都是前n比特的逻辑函数,这样的逻辑函数共有22° 个,其中线性的有2"个,非线性的有22" -2"个。LFSR采用以下反馈模式由前n比特ai~an+1: 线性递推下一比特an+1:
[0004] an+i= a ; cn而+1 ? ? ? C^anM J
[0005] 其中,常数Ck= 0或1,1彡k彡n-1,'是异或即模2加法。如果输入的初始n比 特a。~an丨全为0,则LFSR输出恒为0,因此,n级LFSR的最大周期为2n-l。当且仅当LFSR 的反馈多项式为本原多项式时,LFSR的周期才达到最大。产生一个本原多项式并不容易, 需借助数学软件包。SHAl的消息扩展算法采用以下模式由前16个字Wt16~wti递推下 一个字wt:wt= (wt3~wts~wt14~wt16) <<< 1其中,<<< 1表示循环左移1位,字长m为 32b(比特)。这相当于字长m为32b的16级发生器,如果输入的初始16个字w。~w15全 为〇,则输出恒为〇,因此,其最大周期小于等于(232) 16_1。n级NLFSR的最大周期为2n。非 线性循环移位寄存器NRR是一种新型反馈移位寄存器。当字长为m比特时,n级NRR的周 期大于(2m)n。(N)LFSR软件实现慢,解决的办法是并行m个(N)LFSR,相当于字长为m比特, 但最大周期还是小于等于2n,除非象SN0W2-样采用模2m的本原多项式,最大周期才小于等 于(2m)n。也就是说,对于不同的字长m和不同的级数n,(N)LFSR要寻找不同的反馈模式, 周期才能达到最大。不管字长m和级数n为多大,NRR存在统一的反馈模式,无须寻找达到 最大周期的反馈模式,可以直接适应各种平台,包括将来128位以上的平台。在32位平台 下(2. 4GHz双核CPU、2GB内存、WindowsXP、C语言),SN0W2 的LFSR速度为 630MB/s;SHA1 和SHA256的消息扩展算法速度都小于400MB/s;NRR的速度为700MB/s。对于A5和EO算法 采用的LFSR,除非同时并行32个LFSR,效率才和NRR相当。对于周期达到最大的(N)LFSR, 其输出是绝对均匀的,遍历了所有状态才会重复,不可预测性差。测试表明,NRR产生的输 出是伪随机均匀的,又能遍历所有状态,不可预测性好。
[0006]本发明采用4个非线性循环移位寄存器NRR,设计了一种轻量级流密码LSNRR。
[0007] [1](美)SchneierB.应用密码学一一协议、算法与C源程序.吴世忠等译.机械 工业出版社,2000-1. 264~269
[0008] [2](中)王育民,刘建伟.通信网的安全一一理论与技术.西安电子科技大学出 版社,1999-04. 81 ~82
[0009] [3](中)谷利泽,郑世慧,杨义先.现代密码学教程.北京邮电大学出版社, 2009-08. 169 ~175,189 ~204
[0010] [4](中)徐胜波,马文平,王新梅.无线通信网中的安全技术.人民邮电出版社, 2003-07. 149 ~150,183 ~187

【发明内容】

[0011] 【发明目的】
[0012] 为了设计安全高效的对称密码,用于网络与信息系统安全中的数据加解密,基于 非线性循环移位寄存器NRR的轻量级流密码LSNRR相比其它对称密码而言,扩大了输出序 列的周期,增强了多平台适应性,提高了效率。
[0013] 特别地,普通密码技术适合资源不受限的普通终端加解密,不适合资源受限终端, 也就是不适合资源不受限的终端与资源受限终端互通。物联网等无线网络中的资源受限 终端加解密需要轻量级密码,但常见轻量级密码用于资源不受限的终端与资源受限终端互 通,发挥不了资源不受限终端的资源优势,效率低,会加重不受限终端的负担。本发明的最 大目的是设计一种能充分利用资源不受限终端的资源优势、又适合资源受限终端的、效率 能达到普通密码级别的轻量级密码。
[0014] 【技术方案】
[0015] 本发明中的非线性循环移位寄存器NRR采用的技术方案是:当字长为m比特时,n 级NRR采用以下反馈模式由前n个字ai~a1+n:中的首尾2个字递推下一个字a1+n
[0016] a,+" = {[(a,+?~i?<y') ? ?, ] +c}mod2m
[0017] 其中,i彡0,n彡2,字长m取平台的位数;模运算mod表示求余数;<<<j表示 循环左移j位,j在0~m-1之间循环变化,即j=imodm;?表示模加;c为1~2m-l之 间的奇数;输入的初始n个字a。~ani取值都不限,输入的每个字都是任意m比特长的数。
[0018] 本发明中的NRR与传统的(N)LFSR不同之处在于:(1)循环移位数j循环变化;(2) 计数加c; (3)初值不受限。
[0019] 流密码的加密方式为:密文C=P~KS;解密方式为:明文P=C~KS。其中KS为 密钥流,所以其关键是如何产生密钥流。LSNRR采用了 4个NRR。4个NRR的字长m均为 32b(比特),级数n分别为4、5、4、3。其中第1个冊1?用于密钥编排,另3个冊1?的输出进 行模加来产生密钥流。LSNRR产生密钥流的过程用KS=LSNRR(K,IV)表示。其中输入参 数K为长度Lk多16B(字节)的密钥;IV是保密通信中用于抗重放攻击的初始向量,与密 钥K等长。对于16B的密钥和32位平台,将密钥K和初值IV表示成4个32位字级联:K= (k0|Ik1I|k2| |k3) ;iv=(ivjIiv1IIiv2I|iv3)。
[0020] LSNRR中第 1 个NRR的初值为A。= (a。IIaiIIa21Ia3) =K~IV。其反馈模式为:
[0021] ai+4={[(ai+3<<<j)~aJ+llmod232,其中i彡 0,j=imod32, ~ 表示逐位异 或运算。
[0022] 另3个NRR的初值分别为:
[0023]B0= (b〇|Ib1I|b2| |b31 |b4) = (B1^K1) |a1+67+K21 |a1+70+K31 |a1+73+K〇) | | (a1+75+K2);
[0024]D0=(djId1I|d2| |d3) = (a1+65+K2)II(a1+6S+K3)II(a1+71+K。)II;
[0025]E0= (e0| |e」|e2) = (a1+66+K3)II(a1+69+K0)II(B1JK1)〇
[0026] 对于i彡0,后3个NRR的反馈模式分别为
[0027]bi+5= {[(bi+4<<< jD+bJ+Slmod 232,其中J、= imod32 ;
[0028]di+4= {[(di+3<<< j2)+dj+5}mod 232,其中j2= i+11mod 32 ;
[0029]ei+3= {[(ei+2< < < j3)+ej+7}mod 232,其中j3= i+23mod 32
[0030]LSNRR的输出密钥流由后3个NRR的输出进行模加来产生:KS,=0,+5?4+4 ?e,+3)。
[0031]【有益效果】
[0032] 相比常用对称密码,流密码LSNRR有以下优点:
[0033] (1)周期更大、安全性更高。由于乘法系数b和循环移位数j不固定,字长为m比 特时,n级NRR的周期大于(2m)n。对于反馈模式ai+n= [(a^CCCjO+ai+Umod2m,当 字长为8b(比特)时,测试得2级NRSR的周期为484192 > 21?(字节);3级NRR的周期 为 81,782456 > 224(16MB) ;4 级NRR的周期为 27, 251403552 > 232 (4GB)。当字长为 16b 时,2级NRR的周期为37, 540033008 > 4G个短整数。对于反馈模式a1+n= [(bXa1+nJ+ (&1 <<<j)+l]mod2m,当字长为8b时,b取I~2m-l之间循环变化的奇数,测试得2级NRR 的周期为4, 765440 > 216(64KB)。如果b取3~2m-l之间循环变化的奇数,周期更大。测 试表明,周期与寄存器的初值、循环移位数j的初值及乘法系数b的初值无关。
[0034] 对于周期达到最大的LFSR,其输出状态1~2n_l是绝对均匀的;对于周期达到最 大的NLFSR,其输出状态0~2n-l是绝对均匀的,遍历了所有状态才会重复,不可预测性差。 测试表明,NRR产生的输出是伪随机均匀的,没有遍历所有状态也可能出现重复。寄存器状 态重复不一定是周期重复,当寄存器的状态和循环移位数j的状态以及乘法系数b的状态 同时重复才是周期重复。因此,NRR的不可预测性和安全性优于(N)LFSR。
[0035]NRR输入的初始n个字a。~ani取值都不限。对于杂凑(Hash)函数标准SHAl和 SHA2的消息扩展算法,如果初始消息全为0,则扩展消息也全为0。NRR不存在该问题。
[0036] 另外,有个分组密码叫RC6,需要5轮加密才能实现伪随机性。其加密轮函数f(i, a,b,c,d)为:
[0037] {u= [d(2d+l) ] <<<5;t=[b(2b+l) ] <<<5;a= [(a't) <<<u]+k[i]; c= [(c'u) <<<t]+k[i+l] ;}
[0038]用NRR直接取代2个缓
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1