[发明专利]基于分组密码VHF和CTR模式的轻量级流密码技术CVHF在审
申请号: | 201610075909.2 | 申请日: | 2016-02-01 |
公开(公告)号: | CN105763316A | 公开(公告)日: | 2016-07-13 |
发明(设计)人: | 黄玉划;代学俊;苏菲;丁莉莉 | 申请(专利权)人: | 苏州中科启慧软件技术有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215500 江苏省苏州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分组 密码 vhf ctr 模式 轻量级 技术 cvhf | ||
1.一种基于CTR模式和分组密码VHF的轻量级流密码CVHF,其总体特征是加解密过程有4个参数:明文X,密钥K,计数器ctr,密文Y;ctr长度为32bit,功能是抗重放攻击;对于长度为len比特的明文X,CVHF基于分组密码VHF,采用CTR模式产生m=「(len-1)/128」+1组密钥流KSi,其中「」表示向下取整运算,0≤i≤m-1,每组密钥流的长度为128bit,即
Fori=0tom-1{KSi=VHFK(ctr+i);}
其中,VHFK(P)表示分组密码VHF采用密钥K对P进行加密;
则CVHF的加密方式为:密文其中为异或运算,MSBlen(KS)表示截取全部密钥流KS的前len比特;CVHF的解密方式为:明文
2.根据权利要求1所述的轻量级流密码CVHF,其采用的分组密码VHF的特征是加密过程有3个参数:128bit明文P,密钥K,128bit密文C;VHF的加密过程用C=VHFK(P)表示,包括以下步骤:
(1)加密变换表S盒产生:S盒是256个字节的一个伪随机排列;
(2)密钥扩展:VHF支持长度为80、128bits的密钥,分别扩展为64*14、64*16bits的密钥;
(3)迭代加密:对于长度为80、128bits的密钥,相应的迭代轮数分别为r=14、16轮。
3.根据权利要求2所述的轻量级分组密码VHF,其特征在于步骤(1)中的S盒采用伪随机变换的方法产生:先计算T(i)=「|256sini|」,其中「」表示向下取整运算;为了产生不重复的256个字节,i的取值由1到30000,遇到重复的排除,直到产生全部不重复的256个字节为止;加密变换表S[256]是256个字节的一个伪随机排列,由T中字节轮换得到:S[T(j)]=T(j+1),S[T(255)]=T(0),其中0≤j≤254。
4.根据权利要求2所述的轻量级分组密码VHF,其特征在于步骤(2)中通过递推进行密钥扩展,将L字节的密钥K扩展成8r字节,其中对于10、16字节的密钥K,相应的迭代轮数分别为r=14、16轮;扩展密钥Key=K0|K1|...|Ki|...|Kr-1=k0|k1|...|kj|...|k8r-1,每个Ki为8字节,0≤i≤r-1;每个kj为1字节,0≤j≤8r-1;扩展密钥Key的前L字节就是密钥K:K=k0|k1|...|kL-1,L≤j≤8r-1时,扩展密钥Key中的kj由kj-L和kj-1两个字节递推得到,即
5.根据权利要求2所述的轻量级分组密码VHF,其特征在于步骤(3)中的迭代加密基于Feistel结构和双伪随机变换:先将128bits的初始明文P分成左右两半L0|R0,然后采用Feistel结构进行r轮迭代加密;每轮迭代加密时,先将右半部分Ri-1与该轮的子密钥Ki-1进行异或:其中1≤i≤r;
然后对数据进行行伪随机变换,即对数据的每个字节用S盒进行伪随机变换:Mi(j)=S[Ci-1(j)],其中Mi(j)表示Mi的第j个字节,0≤j≤7;
再把64bit数据Mi排成8*8的方阵,对Mi的每个斜对角线用S盒进行伪随机变换:
Pi(0)=S{[Mi(0)&128|[Mi(1)&64]|[Mi(2)&32]|[Mi(3)&16]
|[Mi(4)&8]|[Mi(5)&4]|[Mi(6)&2]|[Mi(7)&1]};
Pi(1)=S{[Mi(1)&128|[Mi(2)&64]|[Mi(3)&32]|[Mi(4)&16]
|[Mi(5)&8]|[Mi(6)&4]|[Mi(7)&2]|[Mi(8)&1]};
Pi(2)=S{[Mi(2)&128|[Mi(3)&64]|[Mi(4)&32]|[Mi(5)&16]
|[Mi(6)&8]|[Mi(7)&4]|[Mi(0)&2]|[Mi(1)&1]};
Pi(3)=S{[Mi(3)&128|[Mi(4)&64]|[Mi(5)&32]|[Mi(6)&16]
|[Mi(7)&8]|[Mi(0)&4]|[Mi(1)&2]|[Mi(2)&1]};
Pi(4)=S{[Mi(4)&128|[Mi(5)&64]|[Mi(6)&32]|[Mi(7)&16]
|[Mi(0)&8]|[Mi(1)&4]|[Mi(2)&2]|[Mi(3)&1]};
Pi(5)=S{[Mi(5)&128|[Mi(6)&64]|[Mi(7)&32]|[Mi(0)&16]
|[Mi(1)&8]|[Mi(2)&4]|[Mi(3)&2]|[Mi(4)&1]};
Pi(6)=S{[Mi(6)&128|[Mi(7)&64]|[Mi(0)&32]|[Mi(1)&16]
|[Mi(2)&8]|[Mi(3)&4]|[Mi(4)&2]|[Mi(5)&1]};
Pi(7)=S{[Mi(7)&128|[Mi(0)&64]|[Mi(1)&32]|[Mi(2)&16]
|[Mi(3)&8]|[Mi(4)&4]|[Mi(5)&2]|[Mi(6)&1]}
再将上述输出Pi与Li-1进行异或:Li=Ri-1;
最后1轮加密后的输出Lr|Rr即为128bits密文C。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州中科启慧软件技术有限公司,未经苏州中科启慧软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610075909.2/1.html,转载请声明来源钻瓜专利网。