[发明专利]密钥可变的内轮置换流密码加密方法有效
申请号: | 201310099408.4 | 申请日: | 2013-03-26 |
公开(公告)号: | CN103152171A | 公开(公告)日: | 2013-06-12 |
发明(设计)人: | 丁勇;韦永壮;李新国;丁继强;官秀国 | 申请(专利权)人: | 桂林电子科技大学 |
主分类号: | H04L9/18 | 分类号: | H04L9/18;H04L9/08 |
代理公司: | 桂林市持衡专利商标事务所有限公司 45107 | 代理人: | 陈跃琳 |
地址: | 541004 广*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种密钥可变的内轮置换流密码加密方法,其采用不同的数学运算符,快速实现密钥比特间的混淆性;在密钥流字节的计算中采用“纵向”扩散和“横向”压缩的相结合的比特混合置乱技术;密钥流字节采用多轮“迭代”方法得到,保证算法抵抗攻击;引入固定常量,破坏内轮函数结构,避免滑动攻击;种子密钥和初始向量的长度保证抵抗时空折中攻击;算法的运算符交替出现,分布均匀以抵抗一般的边信道攻击,特别功耗攻击;采用15轮的迭代内部状态具有足够的稳健性,足以抵抗传统的差分攻击;种子密钥长度可以根据安全强度选择;算法简洁、安全性高;各个密钥流块独立生成,特别适合平行计算,软件和硬件容易、快速实现,各种平台实现灵活。 | ||
搜索关键词: | 密钥 可变 置换 密码 加密 方法 | ||
【主权项】:
1.密钥可变的内轮置换流密码加密方法,其特征是包括如下步骤:(1)内部状态初始化阶段:(1.1)随机选择3~8个32比特的种子密钥K=(k0,k1,…,k7)和3个32比特的初始向量v=(v0,v1,v2),确定3个32比特的常量值c=(c0,c1,c2);启动2个32比特的计数向量t=(t0,t1);(1.2)开辟一个512比特的存储器X,该存储器分为16个字,每个字为32比特,即X = x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 ]]> (1.3)将种子密钥K、初始向量v、计数向量t和常量值c分别注入存储器X中,即令X = x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 x 13 x 14 x 15 = k 0 v 1 k 6 c 0 k 5 k 3 c 1 t 1 t 0 c 2 k 1 k 7 v 0 k 4 v 2 k 2 ; ]]> (2)密钥流生成阶段:(2.1)定义Xr=roundr(X),其中roundr(X)又分为行运算roundodd(X)和列运算roundeven(X);(2.2)若r为奇数即roundodd(X)的变化规则为:将存储器X的第一行x=(x0,x1,x2,x3)变化到y=(y0,y1,y2,y3),有:a0=x0+x3,a3=(x2+a0)<<<3a2=x1+a3,a1=(x2+a2)<<<17y 0 = [ x 0 ⊕ ( a 0 + a 1 ) ] < < < [ r mod 8 ] ]]>y 1 = x 1 ⊕ [ ( a 2 + y 0 ) > > > [ r mod 8 ] ] ]]>y 2 = [ x 2 ⊕ ( a 3 + y 1 ) ] < < < 5 ]]>y 3 = x 3 ⊕ [ ( a 1 + y 2 ) < < < 23 ] ; ]]> 将存储器X的第二行x=(x4,x5,x6,x7)变化到y=(y4,y5,y6,y7),有:a4=x4+x7,a7=(x6+a4)<<<3a6=x5+a7,a5=(x6+a6)<<<17y 4 = [ x 4 ⊕ ( a 4 + a 5 ) ] < < < [ r mod 8 ] ]]>y 5 = x 5 ⊕ [ ( a 6 + y 4 ) > > > [ r mod 8 ] ] ]]>y 6 = [ x 6 ⊕ ( a 7 + y 5 ) ] < < < 5 ]]>y 7 = x 7 ⊕ [ ( a 5 + y 6 ) < < < 23 ] ; ]]> 将存储器X的第三行x=(x8,x9,x10,x11)变化到y=(y8,y9,y10,y11),有:a8=x8+x11,a11=(x10+a8)<<<3a10=x9+a11,a9=(x10+a10)<<<17y 8 = [ x 8 ⊕ ( a 8 + a 9 ) ] < < < [ r mod 8 ] ]]>y 9 = x 9 ⊕ [ ( a 10 + y 8 ) > > > [ r mod 8 ] ] ]]>y 10 = [ x 10 ⊕ ( a 11 + y 9 ) ] < < < 5 ]]>y 11 = x 11 ⊕ [ ( a 9 + y 10 ) < < < 23 ] ; ]]> 将存储器X的第四行x=(x12,x13,x14,x15)变化到y=(y12,y13,y14,y15),有:a12=x12+x15,a15=(x14+a12)<<<3a14=x13+a15,a13=(x14+a14)<<<17y 12 = [ x 12 ⊕ ( a 12 + a 13 ) ] < < < [ r mod 8 ] ]]>y 13 = x 13 ⊕ [ ( a 14 + y 12 ) > > > [ r mod 8 ] ] ]]>y 14 = [ x 14 ⊕ ( a 15 + y 13 ) ] < < < 5 ]]>y 15 = x 15 ⊕ [ ( a 13 + y 14 ) < < < 23 ] ; ]]> 上述,+表示mod232运算,表示mod2运算,<<<表示左循环移位,>>>表示右循环移位;(2.3)若r为偶数(即roundeven(X))的变化规则为:将存储器X的第一列x=(x0,x4,x8,x12)变化到y=(y0,y4,y8,y12),有:a0=x0+x12,a3=(x8+a0)<<<3a2=x4+a3,a1=(x8+a2)<<<17y 0 = [ x 0 ⊕ ( a 0 + a 1 ) ] < < < [ r mod 8 ] ]]>y 4 = x 4 ⊕ [ ( a 2 + y 0 ) > > > [ r mod 8 ] ] ]]>y 8 = [ x 8 ⊕ ( a 3 + y 4 ) ] < < < 5 ]]>y 12 = x 12 ⊕ [ ( a 1 + y 8 ) < < < 23 ] ; ]]> 将存储器X的第二列x=(x1,x5,x9,x13)变化到y=(y1,y5,y9,y13),有:a4=x1+x13,a7=(x9+a4)<<<3a6=x5+a7,a5=(x9+a6)<<<17y 1 = x 1 ⊕ [ ( a 4 + y 5 ) < < < [ r mod 8 ] ] ]]>y 5 = x 5 ⊕ [ ( a 6 + y 1 ) > > > [ r mod 8 ] ] ]]>y 9 = [ x 9 ⊕ ( a 7 + y 5 ) ] < < < 5 ]]>y 13 = x 13 ⊕ [ ( a 5 + y 9 ) < < < 23 ] ; ]]> 将存储器X的第三列x=(x2,x6,x10,x14)变化到y=(y2,y6,y10,y14),有:a8=x2+x14,a11=(x10+a8)<<<3a10=x6+a11,a9=(x10+a10)<<<17y 2 = [ x 2 ⊕ ( a 8 + a 9 ) ] < < < [ r mod 8 ] ]]>y 6 = x 6 ⊕ [ ( a 10 + y 2 ) > > > [ r mod 8 ] ] ]]>y 10 = [ x 10 ⊕ ( a 11 + y 6 ) ] < < < 5 ]]>y 14 = x 14 ⊕ [ ( a 9 + y 10 ) < < < 23 ] ; ]]> 将存储器X的第四列x=(x3,x7,x11,x15)变化到y=(y3,y7,y11,y15),有:a12=x3+x15,a15=(x11+a12)<<<3a14=x7+a15,a13=(x11+a14)<<<17y 3 = [ x 3 ⊕ ( a 12 + a 13 ) ] < < < [ r mod 8 ] ]]>y 7 = x 7 ⊕ [ ( a 14 + y 3 ) > > > [ r mod 8 ] ] ; ]]>y 11 = [ x 11 ⊕ ( a 15 + y 13 ) ] < < < 5 ]]>y 15 = x 15 ⊕ [ ( a 13 + y 11 ) < < < 23 ] ]]> (2.4)根据步骤(2.2)和(2.3)所述变化规则计算X=round(X),X7=round7(X)和X15=round15(X),并输出计数向量t=(t0,t1)为t时的密钥流Z(t)=X+X7+X15;(2.5)将计数向量t=(t0,t1)更新为t+1,此时存储器X的状态更新为X1,重复步骤(2.1)~(2.4),即可获得计数向量t=(t0,t1)为t+1时的密钥流Z(t+1)=X1+X17+X115;将计数向量t=(t0,t1)更新为t+2,此时存储器X的状态更新为X2,重复步骤(2.1)~(2.4),即可获得计数向量t=(t0,t1)为t+2时的密钥流Z(t+2)=X2+X27+X215;如此反复循环;将计数向量t=(t0,t1)更新为t+n,其中n为所需的密钥流个数,此时存储器X的状态更新为Xn,重复步骤(2.1)~(2.4),即可获得计数向量t=(t0,t1)为t+n时的密钥流Z(t+n)=Xn+Xn7+Xn15;(3)加密阶段:其中Yi为获得的密文,Xi为待加密的明文,Zi为密钥流。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于桂林电子科技大学,未经桂林电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310099408.4/,转载请声明来源钻瓜专利网。
- 上一篇:保压式硫化装置
- 下一篇:皮带轮注塑模具的型芯