[发明专利]分组密码抗线性攻击安全性的评估方法有效

专利信息
申请号: 201410331997.9 申请日: 2014-07-11
公开(公告)号: CN104158796B 公开(公告)日: 2017-07-21
发明(设计)人: 胡磊;孙思维;乔珂欣;马小双;宋凌;王鹏 申请(专利权)人: 中国科学院信息工程研究所
主分类号: H04L29/06 分类号: H04L29/06;H04L9/08;H04L12/26
代理公司: 北京德琦知识产权代理有限公司11018 代理人: 牛峥,王丽琴
地址: 100195 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种分组密码抗线性攻击安全性的评估方法,包括将分组密码分成前后两个部分;先对第一部分建立第一混合整数线性规划模型,并求解以获得第一部分中的活跃S盒个数的下界,记为第一下界;再对整个所述分组密码建立第二混合整数线性规划模型,并求解以获得第二部分中的活跃S盒个数的下界,记为第二下界;之后、将第一下界与第二下界的和作为所述分组密码的活跃S盒个数的下界,并进一步确定所述分组密码的线性逼近表达式的最大偏差概率的上界。本发明的方法所获得的分组密码的抗线性攻击的安全性的高低的可靠性更高。
搜索关键词: 分组 密码 线性 攻击 安全性 评估 方法
【主权项】:
一种分组密码抗线性攻击安全性的评估方法,包括:步骤1、将分组密码分成两个部分,其中第一部分为所述分组密码的至少前1轮,第二部分为所述分组密码中除第一部分以外的其它所有轮;步骤2、对所述分组密码的第一部分中的每一个运算的输入和输出比特分别引入一个线性掩码变量;步骤3、对所述分组密码的第一部分中的每一个S盒引入线性活跃变量;步骤4、针对所述分组密码的第一部分中的每一个线性掩码变量和每一个线性活跃变量赋予一限制集,并以最小化所述分组密码的第一部分中的所有S盒的线性活跃变量之和为第一目标函数,建立第一混合整数线性规划模型;步骤5、求解所述第一混合整数线性规划模型,以获得所述分组密码的第一部分中的活跃S盒个数的下界,记为第一下界;步骤6、对整个所述分组密码每一个运算的输入和输出比特分别引入一个线性掩码变量;步骤7、对整个所述分组密码的每一个S盒引入线性活跃变量;步骤8、针对整个所述分组密码的每一个线性掩码变量和每一个线性活跃变量赋予所述限制集,并增加所述分组密码第一部分中出现的所有线性活跃变量之和大于等于第一下界的限制,以最小化所述分组密码的第二部分中的所有S盒的线性活跃变量之和为第二目标函数,建立第二混合整数线性规划模型;步骤9、求解所述第二混合整数线性规划模型,以获得所述分组密码的第二部分中的活跃S盒个数的下界,记为第二下界;步骤10、将所述第一下界与第二下界的和作为所述分组密码的活跃S盒个数的下界,并利用所述分组密码的活跃S盒个数的下界确定所述分组密码的线性逼近表达式的最大偏差概率的上界;其中,所述分组密码的分组长度为B比特,所述分组密码共有R轮,每一轮中具有T个S盒,所述分组密码中共有G个S盒,每个S盒具有P个输入比特和P个输出比特;其中,G=T×R,P=B/T,B、R、T、G、P均为正整数,且B能够被T整除;所述第一部分为所述分组密码中的第1轮至第N轮,所述第二部分为所述分组密码中的第N+1轮至第R轮,其中,1≤N<R;所述分组密码中,任意一个S盒的任意一个输入比特位置所引入的线性掩码变量表示为x[r,t,p],任意一个S盒的任意一个输出比特位置所引入的线性掩码变量表示为y[r,t,p],每个x[r,t,p]变量以及每个y[r,t,p]变量只取0和1其中的一个值;若x[r,t,p]=1,则表示该x[r,t,p]所代表的S盒的输入比特位置的线性掩码变量为1;若x[r,t,p]=0,则表示该x[r,t,p]所代表的S盒的输入比特位置的线性掩码变量为0;若y[r,t,p]=1,则表示该x[r,t,p]所代表的S盒的输出比特位置的线性掩码变量为1;若y[r,t,p]=0,则表示该x[r,t,p]所代表的S盒的输出比特位置的线性掩码变量为0;其中,r的取值范围为从1到R的整数,t的取值范围为从1到T的整数,p的取值范围为从1到P的整数;所述分组密码中,任意一个S盒所引入的活跃变量表示为A[r,t],每个A[r,t]变量只取0和1其中的一个值;若A[r,t]=1,则表示该A[r,t]所代表的S盒为活跃S盒;若A[r,t]=0,则表示该A[r,t]所代表的S盒为不活跃S盒;其中,r的取值范围为从1到R的整数,t的取值范围为从1到T的整数;所述限制集包括:限制一:保证当A[r,t]变量所代表的S盒为活跃S盒时,该S盒的输出线性掩码变量中,至少有一个输入比特变量的值为1,即:x[r,t,1]+…+x[r,t,P]‑A[r,t]≥0限制二:保证当A[r,t]变量所表示的S盒的输出线性掩码变量中有一个非零比特时,该S盒必须是活跃S盒,即:x[r,t,p]‑A[r,t]≤0限制三:非零输入线性掩码变量一定导致非零输出线性掩码变量,且非零输出线性掩码变量一定导致非零输入线性掩码变量,即:Py[r,t,1]+…+Py[r,t,P]‑x[r,t,1]‑…‑x[r,t,P]≥0且Px[r,t,1]+…+Px[r,t,P]‑y[r,t,1]‑…‑y[r,t,P]≥0限制四:保证当A[r,t]变量所代表的S盒活跃时,输入线性掩码变量和输出线性掩码变量中至少有B比特非零,即:x[r,t,1]+…+x[r,t,P]+y[r,t,1]+…+y[r,t,P]≥B×d其中,d≥x[r,t,1]、…、d≥x[r,t,P]、d≥y[r,t,1]、…、d≥y[r,t,P],B为A[r,t]变量所代表的S盒的极大分支数;限制五:将所述S盒的凸闭包作为限制,所述S盒的凸闭包为该S盒的所有非零概率的线性特征所对应的点集的凸闭包的H‑表示;限制六:所述分组密码的每一轮中,轮密钥异或操作的输入线性掩码变量和输出线性掩码变量限制为:所述轮密钥异或操作的两个输入线性掩码变量和输出线性掩码变量相等,即:z[1]=z[2]=z[3]其中,z[1]、z[2]分别为所述轮密钥异或操作的两个输入比特的线性掩码变量,z[3]为所述轮密钥异或操作的输出比特的线性掩码变量;限制七:三叉结构中的一个分支的线性掩码变量等于另外两个分支的线性掩码变量的异或值,即z[4]=z[5]⊕z[6]其中,z[4]为所述三叉结构的任意一个分支比特的线性掩码变量,z[5]为所述三叉结构中除了z[4]所属分支比特以外两个分支比特中的任意一个分支比特的线性掩码变量,z[6]为所述三叉结构中除了z[4]和z[5]所属分支比特以外的分支比特的线性掩码变量;限制八:所述分组密码的输入差分不全为0。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410331997.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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