[发明专利]密钥可变的内轮置换流密码加密方法有效

专利信息
申请号: 201310099408.4 申请日: 2013-03-26
公开(公告)号: CN103152171A 公开(公告)日: 2013-06-12
发明(设计)人: 丁勇;韦永壮;李新国;丁继强;官秀国 申请(专利权)人: 桂林电子科技大学
主分类号: H04L9/18 分类号: H04L9/18;H04L9/08
代理公司: 桂林市持衡专利商标事务所有限公司 45107 代理人: 陈跃琳
地址: 541004 广*** 国省代码: 广西;45
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 密钥 可变 置换 密码 加密 方法
【权利要求书】:

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=x0x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15]]>

(1.3)将种子密钥K、初始向量v、计数向量t和常量值c分别注入存储器X中,即令

X=x0x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15=k0v1k6c0k5k3c1t1t0c2k1k7v0k4v2k2;]]>

(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)<<<3

a2=x1+a3,a1=(x2+a2)<<<17

y0=[x0(a0+a1)]<<<[rmod8]]]>

y1=x1[(a2+y0)>>>[rmod8]]]]>

y2=[x2(a3+y1)]<<<5]]>

y3=x3[(a1+y2)<<<23];]]>

将存储器X的第二行x=(x4,x5,x6,x7)变化到y=(y4,y5,y6,y7),有:

a4=x4+x7,a7=(x6+a4)<<<3

a6=x5+a7,a5=(x6+a6)<<<17

y4=[x4(a4+a5)]<<<[rmod8]]]>

y5=x5[(a6+y4)>>>[rmod8]]]]>

y6=[x6(a7+y5)]<<<5]]>

y7=x7[(a5+y6)<<<23];]]>

将存储器X的第三行x=(x8,x9,x10,x11)变化到y=(y8,y9,y10,y11),有:

a8=x8+x11,a11=(x10+a8)<<<3

a10=x9+a11,a9=(x10+a10)<<<17

y8=[x8(a8+a9)]<<<[rmod8]]]>

y9=x9[(a10+y8)>>>[rmod8]]]]>

y10=[x10(a11+y9)]<<<5]]>

y11=x11[(a9+y10)<<<23];]]>

将存储器X的第四行x=(x12,x13,x14,x15)变化到y=(y12,y13,y14,y15),有:

a12=x12+x15,a15=(x14+a12)<<<3

a14=x13+a15,a13=(x14+a14)<<<17

y12=[x12(a12+a13)]<<<[rmod8]]]>

y13=x13[(a14+y12)>>>[rmod8]]]]>

y14=[x14(a15+y13)]<<<5]]>

y15=x15[(a13+y14)<<<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)<<<3

a2=x4+a3,a1=(x8+a2)<<<17

y0=[x0(a0+a1)]<<<[rmod8]]]>

y4=x4[(a2+y0)>>>[rmod8]]]]>

y8=[x8(a3+y4)]<<<5]]>

y12=x12[(a1+y8)<<<23];]]>

将存储器X的第二列x=(x1,x5,x9,x13)变化到y=(y1,y5,y9,y13),有:

a4=x1+x13,a7=(x9+a4)<<<3

a6=x5+a7,a5=(x9+a6)<<<17

y1=x1[(a4+y5)<<<[rmod8]]]]>

y5=x5[(a6+y1)>>>[rmod8]]]]>

y9=[x9(a7+y5)]<<<5]]>

y13=x13[(a5+y9)<<<23];]]>

将存储器X的第三列x=(x2,x6,x10,x14)变化到y=(y2,y6,y10,y14),有:

a8=x2+x14,a11=(x10+a8)<<<3

a10=x6+a11,a9=(x10+a10)<<<17

y2=[x2(a8+a9)]<<<[rmod8]]]>

y6=x6[(a10+y2)>>>[rmod8]]]]>

y10=[x10(a11+y6)]<<<5]]>

y14=x14[(a9+y10)<<<23];]]>

将存储器X的第四列x=(x3,x7,x11,x15)变化到y=(y3,y7,y11,y15),有:

a12=x3+x15,a15=(x11+a12)<<<3

a14=x7+a15,a13=(x11+a14)<<<17

y3=[x3(a12+a13)]<<<[rmod8]]]>

y7=x7[(a14+y3)>>>[rmod8]];]]>

y11=[x11(a15+y13)]<<<5]]>

y15=x15[(a13+y11)<<<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/pat/books/201310099408.4/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top