每個(gè)1(1為8字節(jié),其中0<1^^; 每個(gè)kj為1字節(jié),0 <j< 8r+7。對(duì)于8、10、12、14、16字節(jié)的密鑰1(,相應(yīng)的迭代輪數(shù)分 別為r= 10、11、12、13、14輪。擴(kuò)展密鑰Key的前L字節(jié)就是密鑰K:K=I^lk11... |kt1<3 L彡j彡8r+7時(shí),擴(kuò)展密鑰Key中的kj由k.jJPk.ji兩個(gè)字節(jié)遞推得到:\ = 其 中?為異或運(yùn)算。
[0063] (3)數(shù)據(jù)加密過程:先進(jìn)行初始加密,再進(jìn)行r輪迭代加密,得到密文Y,如圖1所 不。
[0064] (a)初始加密:初始密文y〇 =P〇?'其中P。為64bit初始明文,K。為密鑰K的前 8字節(jié)。
[0065] (b)r輪迭代加密。i從1到r,每輪迭代包括以下三步。
[0066] 首先對(duì)數(shù)據(jù)進(jìn)行"行偽隨機(jī)變換",即對(duì)數(shù)據(jù)的每個(gè)字節(jié)用加密S盒進(jìn)行偽隨機(jī)變 換:
[0067] 11(]-)=3[¥11(]-)];其中1從1至&,父 1(]-)表示父1的第」個(gè)字節(jié),0彡」彡7。
[0068] 再把64bit數(shù)據(jù)M1排成8*8的方陣,對(duì)M 每個(gè)斜對(duì)角線用加密S盒進(jìn)行偽隨機(jī) 變換:
[0077] 最后再將上述輸出P1與該輪的子密鑰Ki進(jìn)行異或得到該輪的密文:K=P,e尺;其 中I<i<r〇
[0078] 最后一輪的輸出結(jié)果Yr即為最終的密文Y。
[0079] II. VHO加解密方式
[0080] 保密通信時(shí),VHO的加解密過程有4個(gè)參數(shù):明文P,密鑰K,初值KS。,密文C。KS。 長(zhǎng)度為64bit,是不重復(fù)的偽隨機(jī)數(shù),功能是抗重放攻擊。對(duì)于長(zhǎng)度為Ien比特的明文P,VHO 基于分組密碼VH,采用OFB模式產(chǎn)生n=「(Ien-I)/64」+1組密鑰流KS1,其中1彡i彡n, 每組密鑰流的長(zhǎng)度為64bit,如圖2所示,即
[0081] Fori =Iton(KSi= VHK (KSi:) ;}
[0082]其中,VHk (X)表示分組密碼VH采用密鑰K對(duì)數(shù)據(jù)X進(jìn)行加密。
[0083] 則VHO的加密方式為:密文MSBlen(KS),如圖2所示;其中MSBlen(KS)表示截 取仝部密鑰流KS的前Ien比特。VHO的解密方式為:明文/^CeMSBUKS)。
【主權(quán)項(xiàng)】
1. 一種基于OFB模式和分組密碼VH的輕量級(jí)流密碼VHO,其總體特征是加解密過程有 4個(gè)參數(shù):明文P,密鑰K,初值KS。,密文C ;KS。長(zhǎng)度為64bit,是不重復(fù)的偽隨機(jī)數(shù),功能是 抗重放攻擊;對(duì)于長(zhǎng)度為Ien比特的明文P,VHO基于分組密碼VH,采用OFB模式產(chǎn)生η = 「(Ien-I)/64」+1組密鑰流KS1,其中「」表示向下取整運(yùn)算,1彡i彡η,每組密鑰流的長(zhǎng)度 為64bit,即 For i = I to n IKSi= VHk (KSi J ;} 其中,VHk (X)表示分組密碼VH采用密鑰K對(duì)X進(jìn)行加密; 則VHO的加密方式為:密文OPeMSBlen(KS),其中Θ為異或運(yùn)算,MSBlen(KS)表示截取 全部密鑰流KS的前Ien比特;VHO的解密方式為:明文P = CeMSBlen(KS)。2. 根據(jù)權(quán)利要求1所述的輕量級(jí)流密碼VH0,其采用的分組密碼VH的特征是加密過程 有3個(gè)參數(shù):64bit明文P。,密鑰K,64bit密文Y ;VH的加密過程用Y = VHk(Pq)表示,包括 以下步驟: (1) 加密變換表S [256]產(chǎn)生; (2) 密鑰擴(kuò)展:VH支持長(zhǎng)度為64、80、96、112、128bit的密鑰,分別擴(kuò)展成64*11、 64*12、64*13、64*14、64*151^扒相應(yīng)的迭代輪數(shù)分別為1 = 10、11、12、13、14輪; (3) 數(shù)據(jù)加密過程:先進(jìn)行初始加密;再進(jìn)行r輪迭代加密,得到密文Y。3. 根據(jù)權(quán)利要求2所述的分組密碼VH,其特征在于步驟(1)中的加密S盒采用偽隨 機(jī)變換的方式產(chǎn)生:先計(jì)算T(i) =「|256sin(i) |」;為了產(chǎn)生不重復(fù)的256個(gè)字節(jié),i的 取值由1到30000,遇到重復(fù)的排除,直到產(chǎn)生全部不重復(fù)的256個(gè)字節(jié)為止;加密變換 表S[256]是256個(gè)字節(jié)的一個(gè)偽隨機(jī)排列,由T中字節(jié)輪換得到:S[T(j)] = T(j+1), S[T(255)] = T(O);其中 0 彡 j 彡 254。4. 根據(jù)權(quán)利要求2所述的分組密碼VH,其特征在于步驟(2)中通過遞推進(jìn)行密鑰擴(kuò) 展,將L字節(jié)的密鑰K擴(kuò)展成8 (r+Ι)字節(jié):擴(kuò)展密鑰Key = KidI K1I... IK1=Uk1I... I kfc+7, 其中"I"為連接運(yùn)算;每個(gè)&為8字節(jié),其中0彡i彡r ;每個(gè)1^為1字節(jié),其中0彡j彡8r+7 ; 對(duì)于8、10、12、14、16字節(jié)的密鑰K,相應(yīng)的迭代輪數(shù)分別為r = 10、11、12、13、14輪;擴(kuò)展 密鑰Key的前L字節(jié)就是密鑰K :K = k。I Ic11. . . I h1;L彡j彡8r+7時(shí),擴(kuò)展密鑰Key中的 4由k U和k , i兩個(gè)字節(jié)遞推得到: kj =S[k, ]]?kji.c5. 根據(jù)權(quán)利要求2中步驟(3)所述的數(shù)據(jù)加密過程,其特征是VH的分組長(zhǎng)度為64bit, 先進(jìn)行初始加密:初始密文7。=八?%,其中Pc為64bit初始明文,K。為密鑰K的前8字節(jié); 再進(jìn)行r輪迭代加密;i從1到r,每輪迭代包括以下三步: 首先對(duì)數(shù)據(jù)進(jìn)行"行偽隨機(jī)變換",即對(duì)數(shù)據(jù)的每個(gè)字節(jié)用加密S盒進(jìn)行偽隨機(jī)變換: M1(J) = SEY1山·)],其中i從1到 nXjj)表示X1的第j個(gè)字節(jié),0彡j彡7 ; 再把64bit數(shù)據(jù)M1排成8*8的方陣,對(duì)M 每個(gè)斜對(duì)角線用加密S盒進(jìn)行偽隨機(jī)變 換: P1(O) = SUM1(O)&128] I [M1(I)&64] I [MJ2)&32] I [MJ3)&16] %(4)&8] I %(5)&4] I %(6)&2] I [MiW&l]};(其中 & 為與運(yùn)算) P1(I) = SttM^D&^S] I [M1 (2) &64] | [M1 (3) &32] | [Μ^^&ΙΘ] [M1 (5) &8] I [M1(B)M] I [M1 (7) &2] | [M.W&l]); P1 (2) = S{[M1(2)&128] I [M1 (3) &64] | [M1 (4) &32] | [M1(5)&16] [M1 (6) &8] I %(7) &4] I [M1 (O) &2] I [M1(I)MB ; P1 (3) = S{[M1(3)&128] I [M1 (4) &64] | [M1 (5) &32] | [M1(6)&16] [M1 (7) &8] I [M1(O)M] I [M1(l)&2] | [M1(2)&1]}; = I [M1 (5) &64] I [M1 (6) &32] | [M1(7)&16] %(0)&8] I [MJD&4] I [M"2)&2] I %(3)&1]}; P1(S) = S{[M1(5)&128] I [M1 (6) &64] | [M1 (7) &32] | [Μ,^&ΙΘ] [Μ^υ&δ] I [M1 (2) &4] I [M1 (3) &2] | ; P1 (6) = S{[M1(6)&128] I [M1 (7) &64] | [M1(O) &32] | [Μ^Ο&ΙΘ] [M1 (2) &8] I [M1(S)M] I [M1 (4) &2] | [M1(5)&1]}; P1(T) = S{[M1(7)&128] I [M1(O) &64] | [M1(l)&32] | [M1(2)&16] [M1 (3) &8] I [M1C^M] I [M1 (5) &2] | [M1(6)&1]}; 最后再將上述輸出P1與該輪的子密鑰κ i進(jìn)行異或得到該輪的密文:,其中 I ^ i ^ r ; 最后一輪的輸出結(jié)果I即為最終的密文Y。
【專利摘要】本發(fā)明提供了一種基于OFB模式和分組密碼VH的輕量級(jí)流密碼技術(shù)VHO,應(yīng)用于保密通信領(lǐng)域。VH先產(chǎn)生由256個(gè)字節(jié)隨機(jī)排列組成的加密變換表S[256],用于密鑰擴(kuò)展和迭代加密。迭代加密時(shí),VH先對(duì)8*8bit分組數(shù)據(jù)的每行進(jìn)行偽隨機(jī)變換,實(shí)現(xiàn)混亂;再對(duì)數(shù)據(jù)的每個(gè)斜對(duì)角線進(jìn)行偽隨機(jī)變換,同時(shí)實(shí)現(xiàn)擴(kuò)散和混亂。對(duì)長(zhǎng)度為len比特的明文P,VHO采用OFB模式產(chǎn)生n=「(len-1)/64」+1組密鑰流KSi:KSi=VHK(KSi-1);其中「」表示向下取整,1≤i≤n,VHK(X)表示分組密碼VH采用密鑰K對(duì)數(shù)據(jù)X進(jìn)行加密。則VHO的加密方式為:密文C=PMSBlen(KS);MSBlen(KS)表示截取全部密鑰流KS的前l(fā)en比特。VHO的解密方式為:明文P=CMSBlen(KS)。本發(fā)明設(shè)計(jì)了一個(gè)面向低成本8位嵌入式移動(dòng)終端的安全高效輕量級(jí)流密碼,用于數(shù)據(jù)加解密。
【IPC分類】H04L9/06
【公開號(hào)】CN105162580
【申請(qǐng)?zhí)枴緾N201510458933
【發(fā)明人】黃玉劃, 陳璐, 代學(xué)俊, 蘇菲, 丁莉莉, 陳昌瑩
【申請(qǐng)人】蘇州中科啟慧軟件技術(shù)有限公司
【公開日】2015年12月16日
【申請(qǐng)日】2015年7月30日