一种基于MILP的Tweakable GOST2差分路线搜索方法技术

技术编号:28848187 阅读:31 留言:0更新日期:2021-06-11 23:49
本发明专利技术公开了一种针对TweakableGOST2算法自动化搜索差分路径的方法。本发明专利技术提供了两种添加Tweak的方法,并提出针对TweakableGOST2算法搜索差分路径的方法。在字节层面,通过分析TweakableGOST2算法之间的传播特性,使用MILP模型去建立TweakableGOST2算法各组件的具体模型,进行求解,若有则得到TweakableGOST2算法最小活跃S盒的具体数量和活跃S盒所在位置。然后根据TweakableGOST2算法的S盒求出TweakableGOST2算法的差分分布表和差分模式P,使用SAGEMATH不等式生成器可以得到TweakableGOST2的P凸包的H‑表示,由此得到不等式组,然后使用贪心法削减不等式的数量,得到最终的不等式组;在比特层面,利用MILP模型对TweakableGOST2算法进行建模,利用求解得到的S盒信息,得到高概率的差分路线。本发明专利技术可以较快地找出TweakableGOST2算法活跃S盒及其差分特征。

【技术实现步骤摘要】
一种基于MILP的TweakableGOST2差分路线搜索方法
本专利技术属于密码分析
,涉及一种基于MILP的TweakableGOST2差分路线搜索方法,针对TweakableGOST2算法,该方法可以有效且快速搜索S盒及差分路径。
技术介绍
在互联网时代,信息作为重要资源受到各个国家的重视,近年来机密数据被盗事件在国内外时有发生,其所带来的经济损失和社会影响持续加剧。尽管已有若干外部防御措施保护重要数据,但如果发生数据被盗的情况怎么尽可能减少损失这就需要密码算法来保护。而密码算法的安全性就显得尤为重要,密码算法可以加密重要数据,即使发生了丢失的情况,也可以让敌手提取不到重要信息。差分分析是由Bihma和Shamir在1990年提出,是一种有效的分析密码算法安全性的方法。差分分析几乎适用于所有的分组密码算法,可以说差分分析是密码学安全分析的基础。值得注意的是,差分分析最重要的一步,是寻找一条高概率的差分路径,如何寻找高概率路径成为研究的重心。可调分组密码是一种带有额外输入的分组密码,最先由Liskov等人在文献TweakableBlockCipher中提出,这个额外输入通常称之为“Tweak”,可用于提高分组密码的灵活性。“Tweak”不同于密钥,不需要保密,比较容易改变,或者说改变的开销较小。可调分组密码有很好的应用背景。特别在磁盘分区加密中,应用可调分组密码可以保证同一消息在不同的磁盘分区中加密得到不同的密文。GOST是一种广泛应用的分组密码,是俄罗斯标准密码,GOST2是AndreyDmukh等人对其改进,分组密码算法GOST2整体采用Feistel结构,通过迭代32轮完成加密过程,在实现信息机密性和完整性保护方面有着至关重要的作用。GOST2作为密码标准在工业中有广泛应用,因此其安全性能显得尤为重要,如果可以在GOST2加入Tweak,则可以进一步拓宽应用场景。
技术实现思路
为了解决现有技术存在的不足,本专利技术的目的是提供一种基于MILP的TweakableGOST2差分路线搜索方法,通过向GOST2算法调整组件,提出了两种添加调整组件即Tweak模块的方法,并提出针对TweakableGOST2自动化搜索差分路径的模型,分析GOST2加入可调组件后的安全性,可以快速精确的自动化搜索S盒和差分路线。所述方法具体包括以下步骤:步骤A:在字节层面,使用MILP模型对TweakableGOST2进行建模,使用gurobi对模型进行求解,如果有解,则得到TweakableGOST2差分路线中最小活跃S盒个数和活跃S盒位置的集合;步骤B:在比特层面,根据GOST2算法S盒的相关性质,生成描述S盒的不等式;步骤C:在比特层面,使用MILP模型对TweakableGOST2进行建模设定求解器的初始值和终止条件,得到TweakableGOST2高概率的差分路线。所述步骤A进一步包括:步骤A1:在字节层面利用MILP模型对TweakableGOST2密码算法各组件进行建模;步骤A2:对TweakableGOST2密码算法的Tweak模块进行建模;步骤A3:对TweakableGOST2密码算法的不同轮间关系进行建模;步骤A4:使用python语言建模,并使用gurobi求解器求解,由于最优解不止一个,得到最优解后将当前解作为约束写入模型中,直到当前解不是最优解,或者求解器无解。所述步骤A1中,对基于字节的密码组件进行建模是利用不等式组来描述传播规则的。所述步骤A1进一步包括:步骤A11:使用不等式组刻画XOR操作中基于字节的差分扩散路径;步骤A12:使用不等式组刻画S盒操作中基于字节的差分扩散路径;步骤A13:使用不等式组刻画模加操作中基于字节的差分扩散路径。所述步骤A2中,有两种添加Tweak模块的方式:假设i表示TweakableGOST2算法中的第i轮,一种是在第i轮右侧输入差分异或Tweak、另一种是在第i轮输出后面异或Tweak,使用不等式组描述TweakableGOST2算法Tweak模块差分传播和子Tweak生成的的信息。所述步骤A3中,使用不等式组描述TweakableGOST2算法不同轮之间汉明重量,S盒数目,各组件之间关系等信息,进而来描述TweakableGOST2差分传播特征。所述步骤B进一步包括:步骤B1:在比特层面,根据GOST2算法S盒生成其对应的差分分布表和差分模式,并将差分模式按照概率分组;步骤B2:使用SAGEMATH不等式生成器得到TweakableGOST2的P凸包的H-表示;步骤B3:对生成的不等式进行处理,得到不同概率对应的不等式。所述步骤C进一步包括:步骤C1:在比特层面利用MILP模型对TweakableGOST2密码算法各组件进行建模;步骤C2:对TweakableGOST2密码算法的Tweak模块进行建模;步骤C3:根据步骤A得到的活跃S盒位置和个数和步骤B得到的描述S盒的不等式进行建模,设定求解器的初始值和终止条件,使用gurobi求解后得到TweakableGOST2的差分路径及其概率。所述步骤C1进一步包括:步骤C11:使用不等式组刻画XOR操作中基于比特的差分扩散路径;步骤C12:使用不等式组刻画S盒操作中基于比特的差分扩散路径;步骤C13:使用不等式组刻画模加操作中基于比特的差分扩散路径。所述步骤C2中,使用不等式组描述TweakableGOST2算法Tweak模块差分传播和子Tweak生成的信息。所述步骤C3中,使用不等式组描述TweakableGOST2算法不同轮之间汉明重量,S盒数目,各组件之间关系等信息,进而来描述TweakableGOST2差分传播特征。本专利技术还提出了一种向GOST2算法中加入可调模块即Tweak模块的方法,并针对GOST2的性质,采用高效的自动化求解方法,精确地对TweakableGOST2算法进行建模,并获得比较精准S盒,进一步提高搜索差分路径的效率。本专利技术的有益效果在于:本专利技术可以精确评估TweakableGOST2的安全性能,不仅可以评估TweakableGOST2算法单密钥的安全性能,而且可以评估相关密钥的安全性能。在字节层面建模时,加入不同轮间的差分传播关系不仅有利于更精确的确定活跃S盒的个数,而且能够加快算法运行速度,在比特层面,使用MILP模型可以排除无效路线,对TweakableGOST2的安全性能有较好的评估。附图说明图1和图2是本专利技术对于所分析两种TweakableGOST2算法的轮函数的描述示意图。图3是本专利技术在字节层面对TweakableGOST2算法S盒的数量及位置搜索的工作示意图。图4是本专利技术在比特层面对TweakableGOST2算法差分路径搜索的工作示意图。图5是本专利技术在比特层面获得Tweakabl本文档来自技高网
...

【技术保护点】
1.一种基于MILP的Tweakable GOST2差分路径搜索方法,其特征在于,所述方法包括以下步骤:/n步骤A:在字节层面,使用MILP模型对Tweakable GOST2进行建模,使用gurobi对模型进行求解,如果有解,则得到Tweakable GOST2差分路线中最小活跃S盒个数和活跃S盒位置的集合;/n步骤B:在比特层面,根据GOST2算法S盒的相关性质,生成描述S盒的不等式;/n步骤C:在比特层面,使用MILP模型对Tweakable GOST2进行建模设定求解器的初始值和终止条件,得到Tweakable GOST2高概率的差分路线。/n

【技术特征摘要】
1.一种基于MILP的TweakableGOST2差分路径搜索方法,其特征在于,所述方法包括以下步骤:
步骤A:在字节层面,使用MILP模型对TweakableGOST2进行建模,使用gurobi对模型进行求解,如果有解,则得到TweakableGOST2差分路线中最小活跃S盒个数和活跃S盒位置的集合;
步骤B:在比特层面,根据GOST2算法S盒的相关性质,生成描述S盒的不等式;
步骤C:在比特层面,使用MILP模型对TweakableGOST2进行建模设定求解器的初始值和终止条件,得到TweakableGOST2高概率的差分路线。


2.根据权利要求1所述的TweakableGOST2差分路径搜索方法,其特征在于,所述步骤A进一步包括:
步骤A1:在字节层面利用MILP模型对TweakableGOST2密码算法各组件进行建模;
步骤A2:对TweakableGOST2密码算法的Tweak模块进行建模;
步骤A3:对TweakableGOST2密码算法的不同轮间关系进行建模;
步骤A4:使用python语言建模,并使用gurobi求解器求解,由于最优解不止一个,得到最优解后将当前解作为约束写入模型中,直到当前解不是最优解,或者求解器无解。


3.根据权利要求2所述的TweakableGOST2差分路径搜索方法,其特征在于,所述步骤A1中,对基于字节的密码组件进行建模是利用不等式组来描述传播规则的。


4.根据权利要求2所述的TweakableGOST2差分路径搜索方法,其特征在于,所述步骤A1进一步包括:
步骤A11:使用不等式组刻画XOR操作中基于字节的差分扩散路径;
步骤A12:使用不等式组刻画S盒操作中基于字节的差分扩散路径;
步骤A13:使用不等式组刻画模加操作中基于字节的差分扩散路径。


5.根据权利要求2所述的TweakableGOST2差分路径搜索方法,其特征在于,所述步骤A2中,有两种添加Tweak模块的方式:假设i表示TweakableGOST2算法中的第i轮,一种是在第i轮右侧输入差分异或Tweak、另一种是在第i轮输出后面异或T...

【专利技术属性】
技术研发人员:王高丽刘晟源
申请(专利权)人:华东师范大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1