[发明专利]基于双伪随机变换和Feistel结构的轻量级分组密码技术VHF在审
申请号: | 201510943478.2 | 申请日: | 2015-12-16 |
公开(公告)号: | CN105391546A | 公开(公告)日: | 2016-03-09 |
发明(设计)人: | 黄玉划;代学俊;刘宁钟;曾庆喜;袁啓红 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L29/06;H04W88/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 随机 变换 feistel 结构 轻量级 分组 密码 技术 vhf | ||
1.一种基于双伪随机变换和Feistel结构的轻量级分组密码技术VHF,其总体特征是有3个参数:128bits明文P,密钥K,128bits密文C;VHF的加密过程包括以下步骤:
(1)加密变换表S盒产生:S盒是256个字节的一个伪随机排列;
(2)密钥扩展:VHF支持长度为80、128bits的密钥,分别扩展为64*14、64*16bits的密钥;
(3)迭代加密:对于长度为80、128bits的密钥,相应的迭代轮数分别为r=14、16轮。
2.根据权利要求1所述的轻量级分组密码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。
3.根据权利要求1所述的轻量级分组密码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两个字节递推得到,即
4.根据权利要求1所述的轻量级分组密码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/201510943478.2/1.html,转载请声明来源钻瓜专利网。