基于ctr模式和分組密碼vh的輕量級流密碼技術(shù)vhc的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明是保密通信領(lǐng)域的一種輕量級流密碼技術(shù),主要用于無線通信中低成本嵌 入式移動終端的安全保密。 二、
【背景技術(shù)】
[0002] 隨著無線網(wǎng)絡(luò)技術(shù)的發(fā)展,信息深入到我們生活的各個方面。對于資源受限的 無線終端,由于計算能力差,存儲空間小,能量供應(yīng)弱,普通密碼技術(shù)難以適用這種資源受 限的環(huán)境需求,這就需要輕量級密碼,以滿足軟硬件、計算能力和能耗等資源受限終端的需 求。
[0003] 輕量級流密碼主要有Grain-128、WG-7和A2U2等。Grain-128無法抵抗相關(guān)密 鑰攻擊,且易受線性攻擊。對于WG-7,構(gòu)造線性區(qū)分器能區(qū)分密鑰流和隨機序列,且代數(shù)攻 擊對其有效。A2U2硬件實現(xiàn)代價很小,但有個大的缺點,軟件效率很低,且密鑰短,易受猜 測-確定攻擊。
[0004] 對于本發(fā)明中的輕量級流密碼VHC,其軟硬件效率都高于Grain-128和WG-7。 三、
【發(fā)明內(nèi)容】
[0005]【發(fā)明目的】
[0006] 為了彌補現(xiàn)有輕量級流密碼的不足,本發(fā)明提供了一種輕量級流密碼VHC,以解決 現(xiàn)有輕量級流密碼的綜合效率問題,提高無線通信安全中低成本嵌入式移動終端的效用, 并提高了安仝性。
[0007] 【技術(shù)方案】
[0008] 本發(fā)明所述的輕量級流密碼VHC基于CTR(計數(shù)器)模式和分組密碼VH。
[0009] I. VH加密方案
[0010] VH采用SP結(jié)構(gòu),分組長度為64bit,支持長度為64、80、96、112、128bit的密鑰,相 應(yīng)的迭代輪數(shù)分別為r = 10、11、12、13、14輪。¥!1有3個參數(shù):6413^明文?。,密鑰1(,6413^ 密文Y。VH的加密過程用Y = VHk (P。)表示,包括以下步驟。
[0011] (1)加密變換表s[256]產(chǎn)生。
[0012] 加密S盒采用偽隨機變換的方式產(chǎn)生。先計算T(i) =「|256sin(i) |」,其中「」表 示向下取整運算;為了產(chǎn)生不重復(fù)的256個字節(jié),i的取值由1到30000,遇到重復(fù)的排除, 直到產(chǎn)生全部不重復(fù)的256個字節(jié)為止。加密變換表S[256]是256個字節(jié)的一個偽隨機 排列,由T中字節(jié)輪換得到:S[T(j)] =T(j+l),S[T(255)] =T(O);其中0彡j彡254。
[0013] (2)密鑰擴展。
[0014] 通過遞推進行密鑰擴展,將L字節(jié)的密鑰K擴展成8 (r+Ι)字節(jié):擴展密鑰Key = 1(。|1(1|...|1(1=1^|1^1|...|1^+7;其中"|',為連接運算。每個1( 1為8字節(jié),其中0<1^^; 每個kj為1字節(jié),0 < j < 8r+7。對于8、10、12、14、16字節(jié)的密鑰1(,相應(yīng)的迭代輪數(shù)分 別為r = 10、11、12、13、14輪。擴展密鑰Key的前L字節(jié)就是密鑰K :K = I^lk11... I ku。 L彡j彡8r+7時,擴展密鑰Key中的Icj由k j ^和k j i兩個字節(jié)遞推得到: < =取-!] ?卜/,; 其中?為異或運算。
[0015] (3)數(shù)據(jù)加密過程:先進行初始加密,再進行r輪迭代加密,得到密文Y,如圖1所 不。
[0016] (a)初始加密:初始密文Fo = A ?&。其中P。為64bit初始明文,K。為密鑰K的前8 由一K- 字Tl。
[0017] (b)r輪迭代加密。i從1到r,每輪迭代包括以下三步。
[0018] 首先對數(shù)據(jù)進行"行偽隨機變換",即對數(shù)據(jù)的每個字節(jié)用加密S盒進行偽隨機變 換:
[0019] M1U) = SEY1山·)];其中i從1到 LX1U)表示X1的第j個字節(jié),0彡j彡7。
[0020] 再把64bit數(shù)據(jù)M1排成8*8的方陣,對M 每個斜對角線用加密S盒進行偽隨機 變換:
[0021] P1 (0) = S {[M1 (0) &128] I [M1 (I) &64] I [M1 (2) &32] I [M1 (3) &16] I [M1 (4) &8] I [M1 (5) & 4] I [M1 (6)&2] I [M1 (7)&1]};(其中 & 為與運算)
[0022] P1 (I) = S {[M1 (I) &128] I [M1 (2) &64] I [M1 (3) &32] I [M1 (4) &16] I [M1 (5) &8] I [M1 (6) & 4] I [M1 (7) &2] I [M.W&l]};
[0023] P1 (2) = S{[M1(2)&128] | [M1 (3) &64] | [M1 (4) &32] | [M1(5)&16] | [M1 (6) &8] | [M1 (7) & 4] I %(0)&2] I [M"1)&1]};
[0024] P1 (3) = S{[M1(3)&128] | [M1 (4) &64] | [M1 (5) &32] | [M1(6)&16] | [M1 (7) &8] | [M1(O) & 4] I [MJD&2] I [M"2)&1]};
[0025] P1 (4) = S {[M1 (4) &128] I [M1 (5) &64] I [M1 (6) &32] I [M1 (7) &16] I [M1 (0) &8] I [M1 (1) & 4] I [M1 (2) &2] I [M1(3)&1]};
[0026] P1 (5) = S {[M1 (5) &128] I [M1 (6) &64] I [M1 (7) &32] I [M1 (0) &16] I [M1 (I) &8] I [M1 (2) & 4] I %(3)&2] I [MJC&I]};
[0027] P1 (6) = S {[M1 (6) &128] I [M1 (7) &64] I [M1 (0) &32] I [M1 (I) &16] I [M1 (2) &8] I [M1 (3) & 4] I [M1 (4) &2] I [M1(5)&1]};
[0028] P1 (7) = S {[M1 (7) &128] I [M1 (0) &64] I [M1 (I) &32] I [M1 (2) &16] I [M1 (3) &8] I [M1 (4) & 4] I [M1 (5) &2] I [M1 (6)&1]}〇
[0029] 最后再將上述輸出P1與該輪的子密鑰1^進行異或得到該輪的密文:Κ = 其 中 I < i < r〇
[0030] 最后一輪的輸出結(jié)果Yr即為最終的密文Y。
[0031] II. VHC加解密方案
[0032] 保密通信時,VHC的加解密過程有4個參數(shù):明文P,密鑰K,初值ctr,密文C。ctr 長度為64bit,用計數(shù)器實現(xiàn),功能是抗重放攻擊。對于長度為Ien比特的明文P,VHC基于 分組密碼VH,采用CTR模式并行產(chǎn)生η =「(len-l)/64」+l組密鑰流KS1,其中0彡i彡n-1, 每組密鑰流的長度為64bit,如圖2所示,即
[0033] For i = 0 to n-1 (KSi= VHK(ctr+i) ;}
[0034] 其中,VHk(ctr)表示分組密碼VH采用密鑰K對ctr進行加密。
[0035] 則VHC的加密方案為:密文OP? MSBlen(KS),如圖2所示;其中MSBlen(KS)表示截 取仝部密鑰流KS的前Ien比特。VHC的解密方案為:明文戶= C?MSBlen(KS)。
[0036] 【有益效果】
[0037] 本發(fā)明所述輕量級流密碼VHC基于CTR模式和分組密碼VH,支持64bit、80bit、 96bit、112bit、128bit的密鑰。與現(xiàn)有技術(shù)相比,VHC的有益效果表現(xiàn)在以下幾方面。
[0038] (1)軟件效率:在 Intel (R)、Core(TM)、CPU 為 i5-430M、主頻 2. 27GHz、內(nèi)存 2GB、C 語言編程環(huán)境下測試,密鑰長度為80bit的VHC、Grain-128、密鑰長度為80bit的WG-7和密 鑰長度為61bit的A2U2的效率如表1所示。由此可見,VHC-80的軟件效率優(yōu)于其它輕量級 流密碼。VHC-128的軟件效率為12. 471Mb/s,遠高于密鑰長度同為128bit的Grain-128。
[0039] 表 1
[0040]
[0041] ⑵硬件代價與效率:VHC、Grain-128、WG-7和A2U2的硬件實現(xiàn)所需要的門電路 數(shù)如表1所示。因此,VHC的軟硬件效率都高于Grain-128和WG-7。雖然VHC的硬件實現(xiàn) 代價高于A2U2,但A2U2有個大的缺點,軟件效率很低,且密鑰短,只有61bit,易受猜測-確 定攻擊。
[0042] 特別地,VHC的各組密鑰流能并行產(chǎn)生,適合硬件和多核軟件實現(xiàn),軟硬件執(zhí)行效 率高。
[0043] (3)安全性:通過差分分析、線性分析和不可能差分分析對VHC進行了安全性驗 證。
[0044] 通過計算可得VH的S盒的最大差分概率是2 3·415,通過程序計算密鑰長度為64bit 的VH算法前10輪的活動S盒的個數(shù)DS,如表2所示。由此可得VH的4輪最大差分概率為 DCP4彡221Χ(3·415)=2 71·715< 2 64。當(dāng)?shù)啍?shù)大于4輪時,找不到一個有效的差分特征進 行分析,所以完整輪數(shù)的VH可以抵抗差分分析。
[0045] 表 2
[0046]
[0047] 對于線性分析,利用計算_加密過程中線性活動S盒的個數(shù)來分析VH的線性特征。 通過計算可得VH的S盒的最大線性概率是2 2·83,通過程序計算出密鑰長度為64bit的VH 前10輪的線性活動S盒的個數(shù)LS,如表3所示。由此可得VH的4輪最大線性偏差概率為 LCP4彡2 24Χ(2·83)= 2 67·92< 2 64。因此根據(jù)線性分析復(fù)雜度,難以找到一個4輪的線性可把 加密密文從一個隨機置換中區(qū)分出來,所以完整輪數(shù)的VH足夠安全,可以抵抗線性分析。
[0048] 表 3
[0049]
[0050] 通過編程實現(xiàn)不可能差分分析(IDC),得到最大輪數(shù)M = 6。通過進一步的理論分 析,找到8條6輪IDC路徑:
[0051]
[0052] 其中a e GF(2s)表示非零差分。由此可知,IDC攻擊對VH無效。
[0053] 因此,基于CTR模式和分組密碼VH的輕量級流密碼VHC滿足輕量級密碼的安全需 求。 四、
【附圖說明】
[0054] 附圖1分組密碼VH的數(shù)據(jù)加密過程
[0055] 附圖2輕量級流密碼VHC的數(shù)據(jù)加密過程 [0056] 說明:I I為連接運算;?為異或運算。 五、
【具體實施方式】
[0057] 下面結(jié)合附圖對本發(fā)明進一步說明。
[0058] I .VH加密方式
[0059] VH采用SP結(jié)構(gòu),分組長度為64bit,支持長度為64、