[发明专利]一种基于MILP的Tweakable GOST2差分路线搜索方法有效
申请号: | 202110122266.3 | 申请日: | 2021-01-28 |
公开(公告)号: | CN112953703B | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 王高丽;刘晟源 | 申请(专利权)人: | 华东师范大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 上海德禾翰通律师事务所 31319 | 代理人: | 夏思秋 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 milp tweakable gost2 路线 搜索 方法 | ||
1.一种基于MILP的Tweakable GOST2差分路径搜索方法,其特征在于,所述方法包括以下步骤:
步骤A:在字节层面,使用MILP模型对Tweakable GOST2进行建模,使用gurobi对模型进行求解,如果有解,则得到Tweakable GOST2差分路线中最小活跃S盒个数和活跃S盒位置的集合;所述步骤A进一步包括:
步骤A1:在字节层面利用MILP模型对Tweakable GOST2密码算法各组件进行建模;对基于字节的密码组件进行建模是利用不等式组来描述传播规则的;所述步骤A1进一步包括:
步骤A11:使用不等式组刻画XOR操作中基于字节的差分扩散路径;
步骤A12:使用不等式组刻画S盒操作中基于字节的差分扩散路径;
步骤A13:使用不等式组刻画模加操作中基于字节的差分扩散路径;
步骤A2:对Tweakable GOST2密码算法的Tweak模块进行建模;所述步骤A2中,有两种添加Tweak模块的方式:假设i表示Tweakable GOST2算法中的第i轮,一种是在第i轮右侧输入差分异或Tweak、另一种是在第i轮输出后面异或Tweak,用不等式组描述Tweakable GOST2算法Tweak模块差分传播和子Tweak生成的信息;
步骤A3:对Tweakable GOST2密码算法的不同轮间关系进行建模;所述步骤A3中,使用不等式组描述Tweakable GOST2算法不同轮之间汉明重量,S盒数目,各组件之间关系信息,进而来描述Tweakable GOST2差分传播特征;
步骤A4:使用python语言建模,并使用gurobi求解器求解,由于最优解不止一个,得到最优解后将当前解作为约束写入模型中,直到当前解不是最优解,或者求解器无解;
步骤B:在比特层面,根据GOST2算法S盒的相关性质,生成描述S盒的不等式;所述步骤B进一步包括:
步骤B1:在比特层面,根据GOST2算法S盒生成其对应的差分分布表和差分模式,并将差分模式按照概率分组;
步骤B2:使用SAGEMATH不等式生成器得到Tweakable GOST2的P凸包的H-表示;
步骤B3:对生成的不等式进行处理,得到不同概率对应的不等式;
步骤C:在比特层面,使用MILP模型对Tweakable GOST2进行建模设定求解器的初始值和终止条件,得到Tweakable GOST2差分路线;所述步骤C进一步包括:
步骤C1:在比特层面利用MILP模型对Tweakable GOST2密码算法各组件进行建模;所述步骤C1进一步包括:
步骤C11:使用不等式组刻画XOR操作中基于字节的差分扩散路径;
步骤C12:使用不等式组刻画S盒操作中基于字节的差分扩散路径;
步骤C13:使用不等式组刻画模加中基于字节的差分扩散路径;
步骤C2:对Tweakable GOST2密码算法的Tweak模块进行建模;
步骤C3:根据步骤A得到的活跃S盒位置和个数和步骤B得到的描述S盒的不等式进行建模,设定求解器的初始值和终止条件,使用gurobi求解后得到Tweakable GOST2的差分路径及其概率;
所述步骤C2中,使用不等式组描述Tweakable GOST2算法Tweak模块差分传播和子Tweak生成的信息;
所述步骤C3中,使用不等式组描述Tweakable GOST2算法不同轮之间汉明重量,S盒数目,各组件之间关系信息,进而来描述Tweakable GOST2差分传播特征。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110122266.3/1.html,转载请声明来源钻瓜专利网。