发明名称 适用于轻量级加密算法的动态S盒构造方法及系统
摘要 提供一种适用于轻量级加密算法的动态S盒构造方法及系统,包括:步骤1,计算得到一批不同规模的S盒,选出满足规定条件的S盒作为最优S盒,并构建各个规模的最优S盒的集合;步骤2,将明文与轮子密钥进行运算的结果作为输入数据输入非线性层,根据输入数据分组的大小、S盒集合的容量以及S盒的规模确定拆分规则;步骤3,根据拆分规则将输入数据拆分为两部分,一部分用于调用集合中的S盒,并与一运算常量K进行异或运算后输出,另一部分输入到被调出的S盒中进行置换操作后输出,最后将两部分的输出结果进行组合以作为非线性层的加密输出数据。此方法操作简单,适用性强,可有效增加非线性层的安全强度,解决静态流程易受攻击的问题。
申请公布号 CN105681026A 申请公布日期 2016.06.15
申请号 CN201610137307.5 申请日期 2016.03.10
申请人 中国科学院计算技术研究所 发明人 杜周全;徐启建;张杰;徐勇军;安竹林
分类号 H04L9/06(2006.01)I;H04W84/14(2009.01)I 主分类号 H04L9/06(2006.01)I
代理机构 北京律诚同业知识产权代理有限公司 11006 代理人 祁建国;梁挥
主权项 一种适用于轻量级加密算法的动态S盒构造方法,其特征在于,包括:步骤1,采用下述仿射公式计算得到一批不同规模的S盒,筛选出满足规定条件的S盒作为最优S盒,并构建各个规模的最优S盒的集合,S(x)=C(x)+(X<sup>‑1</sup>)·B(x)mod A(x)   (1)其中,X<sup>‑1</sup>为有限域上各状态字的逆元,A(x)表示有限域GF(2<sup>n</sup>)上的任意N次多项式,B(x)是有限域内与A(x)互素的任意多项式,C(x)是仿射常量;步骤2,将明文与轮子密钥进行运算的结果作为输入数据输入非线性层,根据所述输入数据分组的大小、S盒集合的容量以及S盒的规模确定对所述输入数据进行拆分的规则;步骤3,根据所述规则将所述输入数据拆分为两部分,一部分用于调用所述集合中的S盒,并与一运算常量K进行异或运算后输出,另一部分输入到被调出的S盒中进行置换操作后输出,最后将所述两部分的输出结果进行组合以作为非线性层的加密输出数据。
地址 100190 北京市海淀区中关村科学院南路6号