国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于非線性循環(huán)移位寄存器的流密碼算法snrr的制作方法

      文檔序號:7823152閱讀:320來源:國知局
      基于非線性循環(huán)移位寄存器的流密碼算法snrr的制作方法
      【專利摘要】移位寄存器是保密通信領(lǐng)域用于產(chǎn)生偽隨機序列的密碼部件,有線性反饋移位寄存器LFSR和非線性反饋移位寄存器NLFSR等,其最大周期T≤2n。n級非線性循環(huán)移位寄存器NRR的反饋模式為:上式中,i≥0,n≥2,字長m取平臺的位數(shù);<<<j表示循環(huán)左移j位;表示模加;c為1~2m-1之間的奇數(shù);輸入的初始n個字a0~an-1取值都不限,每字都是任意m位數(shù)。字長為m比特時,n級NRR的周期大于(2m)n,即安全性高于傳統(tǒng)的(N)LFSR;NRR效率也高于常用的(N)LFSR。采用5個NRR設(shè)計了一個流密碼算法SNRR,其中第1個NRR用于密鑰編排,另4個NRR的輸出進行模加產(chǎn)生SNRR的密鑰流。SNRR的效率高于常用對稱密碼算法,主要用于網(wǎng)絡與信息系統(tǒng)安全中的數(shù)據(jù)加解密。
      【專利說明】基于非線性循環(huán)移位寄存器的流密碼算法SNRR

      【技術(shù)領(lǐng)域】
      [0001] 基于非線性循環(huán)移位寄存器NRR的流密碼算法SNRR是保密通信領(lǐng)域的一種對稱 密碼算法,主要用于網(wǎng)絡與信息系統(tǒng)安全中的數(shù)據(jù)加解密。

      【背景技術(shù)】
      [0002] 密碼算法分為對稱密碼算法和非對稱密碼算法。由于非對稱密碼算法的加密速度 遠小于對稱密碼算法,因此網(wǎng)絡與信息系統(tǒng)安全中的數(shù)據(jù)加解密盡量采用對稱密碼算法, W提高效率。對稱密碼算法分為流密碼算法和分組密碼算法,2種對稱密碼算法各有優(yōu)缺 點。設(shè)計流密碼算法的一種常用密碼部件是移位寄存器,有線性反饋移位寄存器lfsrw和 非線性反饋移位寄存器NLFSRb^等,W下合稱(N)LFSR。例如,第2代移動通信系統(tǒng)GSM的 加密標準A5算法b'ti、藍牙加密標準E0算法W和流密碼國際標準SNOW2算法W都采用了 LFSR化sh函數(shù)標準SHA1和SHA2的消息擴展算法W W及第3代標準SHA3的多個候選算 法采用了(腳LFSR或其它發(fā)生器。
      [000引 n級㈱LFSR的當前輸出比特都是前n比特的邏輯函數(shù),該樣的邏輯函數(shù)共有22" 個,其中線性的有2"個,非線性的有22" -2"個。LFSR采用W下反饋模式由前n比特a;? 線性遞推下一比特aw;
      [0004] an+i= a i'Cn-iaw-…- Cian+i_i
      [0005] 其中,常數(shù)Ck= 0或1,1《k《n-1,'是異或即模2加法。如果輸入的初始n比 特a。?a全為0,則LFSR輸出恒為0,因此,n級LFSR的最大周期為2 n-1。當且僅當LFSR 的反饋多項式為本原多項式時,LFSR的周期才達到最大。產(chǎn)生一個本原多項式并不容易, 需借助數(shù)學軟件包。SHA1的消息擴展算法采用W下模式由前16個字?wt_i遞推下一 個字Wt:
      [0006] Wt= (WtVwtVwt-irWt-ie) <<< 1
      [0007] 其中,<<< 1表示循環(huán)左移1位,字長m為32b (比特)。該相當于字長m為32b 的16級發(fā)生器,如果輸入的初始16個字W。?W 15全為0,則輸出恒為0,因此,其最大周期 小于等于(232)ie-l。n級NLFSR的最大周期為2\非線性循環(huán)移位寄存器NRR是一種新型 反饋移位寄存器。當字長為m比特時,n級NRR的周期大于(2-)n。(腳LFSR軟件實現(xiàn)慢, 解決的辦法是并行m個(腳LFSR,相當于字長為m比特,但最大周期還是小于等于2",除非 象SNOW2-樣采用模2-的本原多項式,最大周期才小于等于(2-)n。也就是說,對于不同的 字長m和不同的級數(shù)n,(N)LFSR要尋找不同的反饋模式,周期才能達到最大。不管字長m 和級數(shù)n為多大,NRR存在統(tǒng)一的反饋模式,無須尋找達到最大周期的反饋模式,可W直接 適應各種平臺,包括將來128位W上的平臺。在32位平臺下(2. 4GHz雙核CPU、2GB內(nèi)存、 Windows XP、C語言),SNOW2的LFSR速度為630MB/S ;SHA1和SHA256的消息擴展算法速度 都小于400MB/S ;NRR的速度為700MB/S。對于A5和E0算法采用的LFSR,除非同時并行32 個LFSR,效率才和NRR相當。對于周期達到最大的(N)LFSR,其輸出是絕對均勻的,遍歷了 所有狀態(tài)才會重復。測試表明,NRR產(chǎn)生的輸出是偽隨機均勻的,又能遍歷所有狀態(tài)。
      [0008] 本發(fā)明基于非線性循環(huán)移位寄存器NRR,設(shè)計了一種流密碼算法SNRR。
      [0009] [1](美)Schneier B.應用密碼學一一協(xié)議、算法與C源程序.吳世忠等譯.機械 工業(yè)出版社,2000-1. 264?269
      [0010] 巧](中)王育民,劉建偉.通信網(wǎng)的安全一一理論與技術(shù).西安電了科技大學出 版社,1999-04. 81 ?82
      [0011] 巧](中)谷利澤,鄭世慧,楊義先.現(xiàn)代密碼學教程.北京郵電大學出版社, 2009-08. 169 ?175,189 ?204
      [0012] [4](中)徐勝波,馬文平,王新梅.無線通信網(wǎng)中的安全技術(shù).人民郵電出版社, 2003-07. 149 ?150,183 ?187


      【發(fā)明內(nèi)容】

      [001引【發(fā)明目的】
      [0014] 為了設(shè)計安全高效的對稱密碼算法,用于網(wǎng)絡與信息系統(tǒng)安全中的數(shù)據(jù)加解密, 基于非線性循環(huán)移位寄存器NRR的流密碼算法SNRR相比其它對稱密碼算法而言,擴大了輸 出序列的周期,增強了多平臺適應性,提高了效率。
      [00巧]【技術(shù)方案】
      [0016] 本發(fā)明中的非線性循環(huán)移位寄存器NRR采用的技術(shù)方案是;當字長為m比特時,n 級NRR采用W下反饋模式由前n個字a,?a 中的首尾2個字遞推下一個字a
      [0017] = {[(幻<?7)蟲幻,' ]+ C } mod 2",
      [0018] 其中,i > 0,n > 2,字長m取平臺的位數(shù);模運算mod表示求余數(shù);<<< j表示 循環(huán)左移j位,j在0?m-1之間循環(huán)變化,即j = i mod m ;?表示模加;C為!?2"-1之 間的奇數(shù);輸入的初始n個字a。?a。_1取值都不限,輸入的每個字都是任意m比特長的數(shù)。
      [0019] 本發(fā)明中的NRR與傳統(tǒng)的(N)LFSR不同之處在于;(1)循環(huán)移位數(shù)j循環(huán)變化;(2) 計數(shù)加C; (3)初值不受限。
      [0020] 流密碼算法的加密方式為;密文C = P'KS ;解密方式為;明文P = C'KS。其中KS 為密鑰流,所W其關(guān)鍵是如何產(chǎn)生密鑰流。SNRR算法采用了 5個NRR,其中第1個NRR用于 密鑰編排,另4個NRR的輸出進行模加來產(chǎn)生密鑰流。SNRR算法產(chǎn)生密鑰流的過程用KS = SNRR化,IV)表示。其中輸入?yún)?shù)K為長度化> 16B (字節(jié))的密鑰;IV是保密通信中用于 抗重放攻擊的初始向量,與密鑰K等長。對于16B的密鑰和32位平臺,將密鑰K和初值IV 表示成4個32位字級聯(lián):
      [002U K = (KoIlKiIlKsllig ;IV = (IVoMlVil IIV2MIV3)
      [002引 SNRR算法中第1個NRR的初值為Aa= (a。I I aj I 321 I as) = rIV。其反饋模式為;
      [002引 aw= {[(a i+3<<< j)-a i]+l}mod 232,其中 i > 0, j = i mod 32,-表示逐位異 或運算。
      [0024] 另 4 個 NRR 的初值分別為;B〇=化。II bj I b21 I bs) = (awel I a側(cè) I k巧81 k 巧9);
      [0025] D〇= (d。II dj I d2 II eg = (a"4〇+ig I I (awi+K。)II (aw2+Ki) I I (a"43+ig ;
      [0026] E〇= (e J I ej I 621 I 63) = (aw4+K2) II (aws+Kg) I I (awe+K〇) I I (aw7+Ki);
      [0027] F〇= (f J I f J I fa I I fs) = (aw81 I aw91 I a;巧01 I a;巧 1)。
      [002引對于i > 0,后4個NRR的反饋模式分別為:
      [0029] b"4= {[化 w<<< j i)+bJ+:3}mod 232,其中 ji= i巧mod 32 ;
      [0030] d"4= {[(d"3<<< j2)+di]+引mod 232,其中 j2= i+llmod 32 ;
      [003U ew= {[(e i"<<< j 3)+eJ+7}mod 232,其中 j3= i+17mod 32 ;
      [003引 f"4= {[(f "3<<< j4)+fJ+U}mod 232,其中 j.4= i+23mod 32。
      [0033] SNRR算法的輸出密鑰流由后4個NRR的輸出進行模加來產(chǎn)生; KS, = (6, +4 拓 4 +4 宙 e, +4 宙乂 +4 )。
      [0034] 【有益效果】
      [0035] 相比常用對稱密碼算法,流密碼算法SNRR有W下優(yōu)點:
      [0036] (1)周期更大、安全性更高。由于乘法系數(shù)b和循環(huán)移位數(shù)j不固定,字長為m比 特時,n級NRR的周期大于(2T。對于反饋模式3;+。= [(aiw<<< j)+ai+l]mod 2-,當 字長為8b (比特)時,測試得2級NRSR的周期為484192 > 21屯(字節(jié));3級NRR的周期 為 81,782456 > 224(16MB) ;4 級 NRR 的周期為 27, 251403552 > 232 (4GB)。當字長為 16b 時,2級NRR的周期為 37,540033008 >4G個短整數(shù)。對于反饋模式ai+。=[化Xai+。_l) + (ai <<< ^+l]mod 2-,當字長為8b時,b取1?2--1之間循環(huán)變化的奇數(shù),測試得2級NRR 的周期為4,765440 >2"(64?。H绻鸼取3?2--1之間循環(huán)變化的奇數(shù),周期更大。測 試表明,周期與寄存器的初值、循環(huán)移位數(shù)j的初值及乘法系數(shù)b的初值無關(guān)。
      [0037] 對于周期達到最大的LFSR,其輸出狀態(tài)1?2D-1是絕對均勻的;對于周期達到最 大的NLFSR,其輸出狀態(tài)0?2"-1是絕對均勻的,遍歷了所有狀態(tài)才會重復。測試表明,NRR 產(chǎn)生的輸出是偽隨機均勻的,沒有遍歷所有狀態(tài)也可能出現(xiàn)重復。寄存器狀態(tài)重復不一定 是周期重復,當寄存器的狀態(tài)和循環(huán)移位數(shù)j的狀態(tài)W及乘法系數(shù)b的狀態(tài)同時重復才是 周期重復。因此,NRR的不可預測性和安全性優(yōu)于(N)LFSR。
      [003引 NRR輸入的初始n個字a。?a。_1取值都不限。對于雜湊版sh)函數(shù)標準SHA1和 SHA2的消息擴展算法,如果初始消息全為0,則擴展消息也全為0。NRR不存在該問題。
      [0039] 另外,有個分組密碼算法叫RC6,需要5輪加密才能實現(xiàn)偽隨機性。其加密輪函數(shù) f (i,a, b,C,d)為;
      [0040] {u = [d(2d+l) ] <<< 5 ;t =比(2b+l) ] <<< 5 ;a = [ (a_1:) <<< u]+k[i]; c = [(c_u) <<< 1:]+k[i+l] ;}
      [0041] 用NRR直接取代2個緩存變量u和t,對d和b進行可逆更新;
      [0042] {t = d ;d = [ (t+1) < < < i]+b ;b = (d < < < ;〇+t+l ;a = [ (a_d) <<<b]+k[i] ;c= [(c_b) <<<d]+k[i+l] ;}
      [0043] 5輪加密也實現(xiàn)了偽隨機性,該也說明NRR具有良好的密碼特性。
      [0044] 因此,流密碼算法SNRR的周期大于常用對稱密碼算法。從該方面講,SNRR的安全 性高于常用對稱密碼算法。
      [0045] (2)效率更高。在32位平臺下(2. 4GHz雙核CPU、2GB內(nèi)存、Windows XP、C語言), NRR速度為700MB/S。常用(N)LFSR速度不超過630MB/S。
      [0046] 單核時,常用對稱密碼算法的速度不超過50MB/S ;雙核時不超過lOOMB/s。2GHz 單核時,RC6_ECB的加密速度,即RC6-CTR和RC6-0FB產(chǎn)生密鑰流的速度為45MB/S ;RC4、 AES-CTR和AES-0FB產(chǎn)生密鑰流的速度為30MB/S。2. 4細Z雙核時,AES-CTR和AES-0FB產(chǎn) 生密鑰流的速度為75MB/S。2GHz單核時,SNRR產(chǎn)生密鑰流的速度為61MB/S ;2. 4GHz雙核 時,SNRR產(chǎn)生密鑰流的速度為118MB/S。SNRR算法的4個NRR能并行處理,四核時效率達 到最佳,適合目前普遍使用的雙核四核計算機。
      [0047] (3)多平臺適應性更靈活。(腳LFSR軟件實現(xiàn)慢,解決的辦法是,平臺的位 數(shù)為m時,并行m個㈱LFSR,相當于字長為m比特,但最大周期還是小于等于2",除 非象SNOW2-樣采用模2-的本原多項式,最大周期才小于等于(2-)n。也就是說,對 于不同的字長m和不同的級數(shù)n,㈱LFSR要尋找不同的反饋模式。不管字長m和 級數(shù)n為多大,NRR存在固定的反饋模式a,+,,={[(a, +。l<?y)?a,.]+c}mod2m和 幻,心={[(6><(3,+。-1)@的《<7)]+£;}1110(^2。',無須尋找達到最大周期的反饋模式,能直接適應 各種平臺,包括將來128位W上的平臺。
      [0048] SNRR算法能直接擴展成面向64位W上平臺的密碼算法,也能直接改成面向資源 受限的8位平臺算法。

      【專利附圖】

      【附圖說明】
      [0049] 圖1基于非線性循環(huán)移位寄存器的流密碼算法SNRR [0化日]說明;?表示模加。

      【具體實施方式】
      [0化1] 本發(fā)明中的非線性循環(huán)移位寄存器NRR的【具體實施方式】是;當字長為m比特時,n 級NRR采用W下反饋模式由前n個字a,?a 中的首尾2個字遞推下一個字a
      [005引 幻,'+" = {[(幻,+n-i <?y)迅幻,' ]+ C } mod 2。'
      [005引其中,n > 2,字長m取平臺的位數(shù);<<< j表示循環(huán)左移j位,j在0?m-1之 間循環(huán)變化,即j = i mod m 表示模加;C為1?2-1之間的奇數(shù);輸入的初始n個字a。? 3。_1取值都不限,輸入的每個字都是任意m比特長的數(shù)。
      [0054] SNRR算法采用了 5個NRR,其中第1個NRR用于密鑰編排,另4個NRR的輸出進行 模加來產(chǎn)生密鑰流。SNRR算法產(chǎn)生密鑰流的過程用KS = SNRR(K,IV)表示。其中輸入?yún)?數(shù)K為長度化> 16B (字節(jié))的密鑰;IV是保密通信中用于抗重放攻擊的初始向量,與密 鑰K等長。對于16B的密鑰和32位平臺,將密鑰K和初值IV表示成4個32位字級聯(lián); [005引 K =化0 I I Ki I I 馬 IIIQ ;IV = (IV0 I I IVi I IIV2IIIV3)
      [0056] SNRR算法中第1個NRR的初值為Aa= (a。I I aj I 321 I as) = K'IV。其反饋模式為;
      [0057] aw= {[(a i巧<<< j)-a i]+l}mod 232,其中 i > 0,j = imod 32,-表示逐位異 或運算。
      [005 引另 4 個 NRR 的初值分別為;B0=化。II bj I b21 I bs) = (awel I a側(cè) I k巧81 k 巧9);
      [0059] D〇= (del |dj Idgl Ids) = (awo+Ks) I I (awi+K〇) I I (aw2+Ki) I I (aw3+K2);
      [0060] E〇= (e J I ej I 621 I 63) = (aw4+K2) II (aws+Kg) I I (awe+K〇) I I (aw7+Ki);
      [0061 ] F〇= (f。I I f J I fa I I fs) = (aw81 I aw91 I a;巧01 I a;巧 1)。
      [0062] 對于i > 0,后4個NRR的反饋模式分別為:
      [0063] b"4= {[化 i巧<<< j i)+bJ+:3}mod 232,其中 ji= i巧mod 32 ;
      [0064] dw= {[(d i"<<< j 2)+di]+引mod 232,其中 j2= i+llmod 32 ;
      [00(55] ew= {[(e iw<<< j 3)+eJ+7}mod 232,其中 j3= i+17mod 32 ;
      [0066] f"4= {[(f "3<<< j4)+fi]+U}mod 232,其中 J.4= i+23mod 32。
      [0067] SNRR算法的輸出密鑰流由后4個NRR的輸出進行模加來產(chǎn)生; KS,.=化' 牛4 史 4 +4 宙 e, +4 苗乂 +4 )。
      [0068] 流密碼算法SNRR的加密方式為:密文C = P'KS ;解密方式為;明文P = C'KS。
      【權(quán)利要求】
      1. 基于非線性循環(huán)移位寄存器NRR的流密碼算法SNRR,其總體特征是:采用了 5個 NRR,其中第1個NRR用于密鑰編排,另4個NRR的輸出進行模加來產(chǎn)生密鑰流KS,即
      其中i彡 0,bi+4、di+4、ei+4、心+4分別為 4 個NRR的輸出,KS丨和bi+4、di+4、ei+4、fi+4都是 32 位數(shù)。
      2. 根據(jù)權(quán)利要求1所述的流密碼算法SNRR,其采用的非線性循環(huán)移位寄存器NRR的特 征是:當字長為m比特時,n級NRR采用以下反饋模式由前n個字ai?ai+Iri中的首尾2字 遞推下一個字ai+n
      上式中,i彡〇,n彡2,字長m取平臺的位數(shù);模運算mod表示求余數(shù);<<<j表示循 環(huán)左移j位,j在0?m-1之間循環(huán)變化,即j=imodm; ?表示模加;c為1?2m-l之間 的奇數(shù);輸入的初始n個字%?an_i取值都不限,輸入的每個字都是任意m比特長的數(shù)。
      3. 根據(jù)權(quán)利要求1所述的流密碼算法SNRR,其產(chǎn)生密鑰流KS的過程用KS=SNRR(K, IV)表示;其中輸入?yún)?shù)K為長度Lk彡16B(字節(jié))的密鑰;IV是保密通信中用于抗重放 攻擊的初始向量,與密鑰K等長;對于16B的密鑰和32位平臺,將密鑰K和初值IV表示成 4個32份字級聯(lián):
      SNRR算法中第1個NRR的特征是:初值為心=(a^ | | 1 |a21 |a3) =ITIV;其反饋模式 為:
      【文檔編號】H04L9/06GK104486068SQ201410781810
      【公開日】2015年4月1日 申請日期:2014年12月12日 優(yōu)先權(quán)日:2014年12月12日
      【發(fā)明者】黃玉劃, 蘇菲, 陶怡婷, 汪駿, 丁莉莉 申請人:蘇州中科啟慧軟件技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1