桂林电子科技大学韦永壮获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网获悉桂林电子科技大学申请的专利一种SM4二阶门限掩码方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN115694781B 。
龙图腾网通过国家知识产权局官网在2025-12-09发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202211323310.8,技术领域涉及:H04L9/00;该发明授权一种SM4二阶门限掩码方法是由韦永壮;邵天溢;武小年;张润莲设计研发完成,并于2022-10-27向国家知识产权局提交的专利申请。
本一种SM4二阶门限掩码方法在说明书摘要公布了:本发明公开了一种SM4二阶门限掩码方法,该方法基于多项式基采用一次同构映射实现SM4算法S盒的塔域分解,将SM4算法加密模块分割为更小的组件;再基于门限掩码理论,分别针对每个组件设计掩码方案,针对塔域分解后的SM4算法S盒,使用自动化搜索手段,寻找符合条件的最优门限掩码,并引入换岗技术实现随机数复用,减少掩码方案中随机数的使用,保证算法能够有效抵抗二阶功耗攻击的同时,降低硬件资源开销。
本发明授权一种SM4二阶门限掩码方法在权利要求书中公布了:1.一种SM4二阶门限掩码方法,其特征在于,包括如下步骤: 1将SM4算法拆解为组件分析SM4算法不同模块的功能和输入输出结果,将SM4算法按照线性和非线性的特点,拆解为非线性组件和线性组件;对于SM4算法,其非线性组件为算法的S盒,线性组件包括: 有限状态机、密钥和状态寄存器、随机数生成器、线性层、反序输出序列; 2基于塔域分解和门限掩码方法,设计非线性组件的掩码方案使用塔域分解的方法,将非线性S盒拆分为4比特求逆器和4比特乘法器; 针对4比特求逆器,使用自动化搜索工具搜索掩码方案; 针对4比特乘法器,采用三共享掩码方案保证算法抵抗二阶功耗攻击,并设计环掩码器,减小乘法器电路面积; 3基于布尔掩码方法,设计线性组件的掩码方案SM4算法线性组件中有限状态机用于生成控制信号,控制其他模块执行操作,其功耗变化不会导致秘密信息泄露,因此不需要进行掩码防护;其它线性组件,使用直接布尔掩码的方法设计掩码方案; 4完成SM4算法掩码方案构造根据SM4算法执行过程连接各个组件,重用算法中的随机数,优化电路布局,形成最终的掩码方案; 步骤2所述基于塔域分解和门限掩码方法,设计非线性组件的掩码方案,具体过程如下: 2.1使用基于多项式基的方法对S盒进行塔域分解,为了实现从有限域到塔域上的塔域分解,首先需要求解一次同构映射矩阵,使用该矩阵将有限域中的元素映射为塔域中的元素,然后推导有限域中的求逆元计算公式在塔域中的表示形式; 2.2求解一次同构映射矩阵同构映射矩阵用于将有限域中的元素映射为塔域中的元素,使用遍历验证的方法求解同构映射矩阵; 2.2.1初始化搜索参数,设同构映射矩阵T的初始值为: ; 设待验证的集合,其中k代表该域的规模,在SM4算法中,取; 2.2.2从集合A中依次选取第t个元素t,; 2.2.3检查元素t的值是否与互素,若互素,则t不满足要求,令t=t+1,返回2.2.2;若不互素,则继续执行2.2.4; 2.2.4设是构建有限域的二进制多项式,是构建复合域的二进制多项式,多项式、分别表示为: ; 其中,,设是的一个素元,令;多项式和之间的映射关系表示为二进制多项式,将代入中,计算,若,令跳转到2.2.2,否则继续执行2.2.5; 2.2.5计算的值,将所得结果填充到同构映射矩阵T的表达式: ; 得到同构映射矩阵T的值为: ; 2.3根据同构映射T矩阵,推导塔域分解下的元素逆元计算公式,设上的元素,其逆元,则有: ; 又因为满足,代入得到: ; 2.4根据2.3中的推导,将塔域分解后的SM4算法S盒可以拆分为两个组件,即4比特求逆器和4比特乘法器; 2.5针对4比特乘法器,使用三共享方法构建掩码方案,为保证方案的二阶抗侧信道安全,首先使用4个4比特随机数对2个4比特的输入进行三共享掩码,其表达式为: ; 将两个分量形式的输入相乘得到乘法器的表达式为: ; 为了保证二阶不完整性,将掩码计算结果拆分为组件函数: ; 式中分别代表一个4比特额外随机数,用于保证输出结果的均匀性,额外的随机数通过环掩码器添加到计算结果中;代表加密过程中的常数;使用寄存器分别存储三个组件函数的运算结果; 2.6针对4比特求逆器设计掩码方案,已知4比特求逆器的真值表为: ; 2.6.1根据真值表计算4比特求逆器的布尔表达式为: ; 式中,xi表示求逆器输入值的第i个比特,yi表示求逆器输出值的第i个比特,为了降低4比特求逆器掩码方案的设计难度,采用自动化搜索技术寻找该4比特求逆器的掩码方案,设i的初始值为0,j的初始值为0,; 2.6.2设输出分量对应的组件函数表达式为,初始化为空; 2.6.3将j表示为4位的二进制数,将其每个比特从高位到低位分别赋值给输入变量; 2.6.4将的值代入2.6.1中的布尔表达式,并将计算结果添加到中; 2.6.5若,则令,跳转至2.6.3,否则继续执行2.6.6; 2.6.6令组件函数表达式与对应的输出分量表达式相乘,得到输出分量掩码后的表达式: ; 2.6.7若,则令,跳转至2.6.2,否则继续执行2.6.8; 2.6.8根据布尔函数表达式生成逻辑电路; 步骤3所述基于布尔掩码方法,对其他线性组件进行掩码方案设计,具体过程如下3.1针对密钥和状态寄存器的掩码设计,使用直接布尔掩码三共享方案,使用三个寄存器存储密钥和状态中间值数据,在每一轮迭代加密执行完毕后,更新密钥和状态寄存器值; SM4算法轮函数表示为: ; 其中,Xi表示32比特的输入数据,rki表示32比特的轮密钥,Sbox表示将32比特数据输入到4个相同的S盒得到32比特输出数据,L表示SM4算法使用的线性变换;在初始阶段使用随机数生成器生成2个128比特长度的随机数,分别用于主密钥和输入明文分组的掩码,分别存放于寄存器中,掩码后的轮函数表达式为: ; 从而得到密钥和状态的掩码方案; 3.2针对随机数生成器,使用20级线性反馈移位寄存器生成额外随机数,在FPGA芯片上电时由真随机数发生器为其生成随机数种子;所使用的20级线性反馈移位寄存器本原多项式为: ; 在初始阶段,使用随机数种子初始化随机数寄存器值; 在下一个阶段,随机数寄存器的值变为: ; 寄存器存储的结果在每个时钟周期改变一次,其中通过位移产生,由线性反馈函数产生,式中表示反馈函数中对应项的系数; 3.3针对线性层,其代数表达式如下: ; 式中B和H分别表示线性层8比特输入和输出值,T代表同构映射矩阵,是SM4算法仿射变换使用的参数,则有: ; 为了减小电路面积,在计算矩阵乘法时,提取矩阵中下标为1的元素,使用异或替代矩阵乘法中逐比特进行与、异或的操作,得到优化后的电路逻辑表达式为: ; 式中,bi代表8比特输入的第i个比特, hi表示8比特输出的第i个比特,使用变元替换的方式相比逐比特矩阵乘法运算减少了64个与门和24个异或门的使用; 3.4针对反序输出序列,其逻辑电路的代数表达式为: ; 在掩码后,需要将三个分量的输出分量合并得到去掩码后的计算结果,为了保证加密过程安全,只在最后输出真实密文数据时合并三个共享分量,中间值数据不会合并去掩码,其代数表达式为: ; 组合各分量得到输出结果,得到最终加密的真实密文数据。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人桂林电子科技大学,其通讯地址为:541004 广西壮族自治区桂林市七星区金鸡路1号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
以上内容由龙图腾AI智能生成。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。

皖公网安备 34010402703815号
请提出您的宝贵建议,有机会获取IP积分或其他奖励