【技术实现步骤摘要】
一种基于MILP的线性扩散层分支数快速计算方法
[0001]本专利技术涉及密码算法领域,特别涉及一种基于MILP的线性扩散层分支数快速计算方法。
技术介绍
[0002]现有技术中,一个分组密码算法通常有混淆层和扩散层,混淆层一般由若干个m
×
m的S盒并置组成,比如AES算法的混淆层由16个8
×
8的S盒并置而成,Camellia算法的混淆层由8个8
×
8的S盒并置而成。一个S盒的输出m比特仅与其输入的m比特有关,与其它S盒的输入无关。而扩散层的作用就是将这些S盒的输出打乱、混合,使得输出的m比特尽可能地与其它S盒的输入也相关。
[0003]扩散层一般由线性变换θ来实现。如果混淆层是由n个m
×
m的S盒并置而成,则θ可以被看成的一个变换,其中
[0004]扩散层分支数的定义:
[0005]令x
→
θ(x)=y是一个变换,则称:
[0006][0007]为θ的分支数。其中ω
b
(x)表示非零
【技术保护点】
【技术特征摘要】
1.一种基于MILP的线性扩散层分支数快速计算方法,其特征在于,包括以下过程:步骤1、将线性扩散层分支数计算问题转化为MILP问题;步骤2、基于MILP问题建立MILP模型,并采用线性规划求解器进行求解,得到线性扩散层分支数;其中,在MILP模型中,将线性扩散层中差分和线性的传播行为用线性不等式刻画。2.根据权利要求1所述的基于MILP的线性扩散层分支数快速计算方法,其特征在于,所述步骤2中建立MILP模型的具体过程为:步骤2.1、将线性扩散层的输入输出非零字块的最少个数作为MILP问题的目标函数;步骤2.2、建立线性扩散层每个字块和对应比特之间的约束条件;步骤2.3、将线性扩散层内比特之间异或、分支、移位的线性传播关系和差分传播关系用MILP的线性不等式等价刻画;步骤2.4、完成MILP模型构建。3.根据权利要求2所述的基于MILP的线性扩散层分支数快速计算方法,其特征在于,所述步骤2.2中约束条件包括:线性扩散层的输入比特非零;当输入输出线性扩散层每个字块中的任意一个比特非零时,相应的字块值非零;当输入输出线性扩散层每...
【专利技术属性】
技术研发人员:苗旭东,董新锋,韩羽,张晶,
申请(专利权)人:中国电子科技集团公司第三十研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。