[发明专利]新型分组密码算法轮函数的构造方式有效
申请号: | 201910546990.1 | 申请日: | 2019-06-24 |
公开(公告)号: | CN110266470B | 公开(公告)日: | 2020-09-18 |
发明(设计)人: | 贾珂婷;董晓阳;魏淙洺;丛天硕 | 申请(专利权)人: | 清华大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 北京汇信合知识产权代理有限公司 11335 | 代理人: | 姚瑶 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 新型 分组 密码 算法 函数 构造 方式 | ||
本发明公开了一种新型分组密码算法轮函数的构造方式,轮函数包括混淆层、扩散层和轮密钥加运算,轮函数采用SPN结构,轮函数的分组长度为n;混淆层并行查询n/4个4比特的S盒,扩散层基于字进行字长度为n/4的混合运算,轮密钥加运算中异或n比特的轮密钥;轮函数纵向查询S盒,横向字混合运算,伪代码为:Y=SubNibble(X),Z=MixWord(Y),W=Z⊕RKi+1,其中,轮函数的输入为n比特的X和n比特的轮密钥Ki+1,输出为n比特的W。通过本发明的技术方案,提出了新的S盒和字混合运算,具有强的安全特征,提供了强的雪崩性,同时便于软硬件实现。
技术领域
本发明涉及密码技术领域,尤其涉及一种新型分组密码算法轮函数的构造方式。
背景技术
分组密码是最重要的一类对称密码算法,广泛的应用于网络通信中,SPN(Substitution-Permutation Network,替换-置换网络)是目前广泛采用的分组密码结构,国际上重要的密码算法标准AES、PRESENT等都采用该结构。SPN结构通过多次迭代轮函数实现,轮函数是设计的关键。轮函数包括混淆层和扩散层,混淆层由非线性运算构成如S盒、模加运算、与运算等,扩散层由可逆的线性运算构成。S盒是非线性的,最常用的混淆技术,根据S盒的输入输出长度,8比特和4比特是最常用的两种,其中算法采用8比特的S盒,硬件占用面积较大,软件实现效率较高;而采用4比特的S盒,硬件占用面积小,软件实现效率较低。针对4比特S盒bit-slice技术可以提高S盒查找的效率。线性运算需要具有较强扩散性,通常采用MDS矩阵、比特置换、异或和循环移位等操作构成。轮函数要具有强雪崩性,由轮函数迭代生成的算法要可以抵抗差分、线性、中间相遇等分析方法的攻击,还要具有好的实现效率。
轮函数的构造是分组密码设计中最重要的环节,其中结合S盒和线性层最常见的轮函数构造方法,便于进行算法的安全强度评估,提供强的安全性,同时轮函数也是影响算法加解密速度的关键部件。现代分组密码算法大多遵循轮函数多轮迭代的设计准则,在原有的分组密码设计中,一部分算法设置的轮数较长,效率较低,这一般是源于轮函数设计的复杂性不足,另一部分算法的轮函数过于复杂,占用硬件实现资源多。
发明内容
针对上述问题中的至少之一,本发明提供了一种新型分组密码算法轮函数的构造方式,通过对轮函数及其组件S盒和扩散层进行精细化研究,提出了新的S盒,具有强的安全特征;构造了新的扩散层运算-字混合运算;纵向查找S盒和横向字混合扩散层结合,提供强的雪崩性,同时便于软硬件实现。
为实现上述目的,本发明提供了一种新型分组密码算法轮函数的构造方式,所述轮函数包括混淆层、扩散层和轮密钥加运算,所述轮函数采用SPN结构,所述轮函数的分组长度为n;所述混淆层并行查询n/4个4比特的S盒,所述扩散层基于字进行字长度为n/4的混合运算,轮密钥加运算中异或n比特的轮密钥;所述轮函数纵向查询S盒,横向字混合运算,伪代码为:
Y=SubNibble(X),
Z=MixWord(Y),
其中,所述轮函数的输入为n比特的X和n比特的轮密钥Ki+1,输出为n比特的W。
在上述技术方案中,优选地,所述扩散层的分支数为5,S盒替换后的状态Y划分为(y0,y1,y2,y3),执行字混合运算后得到Z=(z0,z1,z2,z3)=MixWord(Y)。
在上述技术方案中,优选地,所述扩散层的字混合运算的表达式为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910546990.1/2.html,转载请声明来源钻瓜专利网。