用于抵御侧信道攻击的安全加密系统及方法

文档序号:37810301发布日期:2024-04-30 17:20阅读:10来源:国知局
用于抵御侧信道攻击的安全加密系统及方法

本发明涉及掩码转换,尤其涉及一种用于抵御侧信道攻击的安全加密系统及方法。


背景技术:

1、本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

2、侧信道攻击可以利用密码算法运行过程中密码设备与外部环境之间的物理交互中泄露的侧信息来恢复密钥。这些侧信息包括执行时间、消耗功率和电磁辐射。针对侧信道攻击的一种主流对策是掩码技术,掩码技术将敏感变量和相关的中间状态划分为多份独立随机的共享值,以切断敏感变量(如密钥相关信息)与功耗直接的依赖关系。根据原始敏感变量与共享值之间的数学关系,可以分为布尔掩码、算术掩码和乘法掩码。在密码算法的掩码实现中,不同的操作采用相对应的掩码更为高效,比如异或和移位等逻辑运算采用布尔掩码,加/减和乘法运算分别采用算数和乘法掩码。对于结合算术运算和布尔运算的算法,侧信道防护方案需要同时使用算术掩码、布尔掩码,以及这两种掩码直接的转换。

3、现有的掩码转换算法应用于侧信道硬件安全实现时存在延迟大的问题。为抵御侧信道攻击,安全硬件实现需要在非线性函数处插入寄存器以防止毛刺带来的潜在泄露。不同于轻量级密码算法中低代数度的s盒只有一到两层非线性与门,算数掩码到布尔掩码(arithmetic masking to boolean masking,a2b)转换算法非线性函数层数多且随变量位宽增加。这使得a2b转换算法的侧信道安全硬件实现时钟周期延迟大,现有技术中位宽为32位的变量的一阶安全实现需要34个时钟周期且高阶实现中时钟周期数将进一步增加。同时具有多级寄存器的a2b转换模块往往不是整个密码算法掩码实现的频率瓶颈,因此减少该模块所需的时钟周期数有助于减少该模块带来的时间延迟提高整体性能。

4、综上,目前缺乏一种实现时钟周期延迟更低的用于抵御侧信道攻击的安全加密方案。


技术实现思路

1、本发明实施例提供一种用于抵御侧信道攻击的安全加密系统,用以实现时钟周期延迟更低的用于抵御侧信道攻击的安全加密,该系统包括:

2、算数掩码下的侧信道安全加密模块,用于对敏感变量在算数掩码下进行侧信道安全的算数运算,获得算数掩码下的中间变量,并输入掩码转换模块;

3、掩码转换模块,用于采用掩码转换方法,将算数掩码下的中间变量转换为布尔掩码下的中间变量,并输入布尔掩码下的侧信道安全加密模块;所述掩码转换方法将算数掩码下的中间变量的多个算数掩码共享值转换为冗余数表示的多个布尔掩码共享值,再将冗余数表示的多个布尔掩码共享值转换为二进制表示的多个布尔掩码共享值,以得到布尔掩码下的中间变量;

4、布尔掩码下的侧信道安全加密模块,用于对布尔掩码下的中间变量在布尔掩码下进行侧信道安全的布尔运算。

5、本发明实施例还提供一种用于抵御侧信道攻击的安全加密方法,用以实现时钟周期延迟更低的用于抵御侧信道攻击的安全加密,该方法包括:

6、对敏感变量在算数掩码下进行侧信道安全的算数运算,获得算数掩码下的中间变;

7、采用掩码转换方法,将算数掩码下的中间变量转换为布尔掩码下的中间变量;所述掩码转换方法将算数掩码下的中间变量的多个算数掩码共享值转换为冗余数表示的多个布尔掩码共享值,再将冗余数表示的多个布尔掩码共享值转换为二进制表示的多个布尔掩码共享值,以得到布尔掩码下的中间变量;

8、对布尔掩码下的中间变量在布尔掩码下进行侧信道安全的布尔运算。

9、本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述用于抵御侧信道攻击的安全加密方法。

10、本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述用于抵御侧信道攻击的安全加密方法。

11、本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述用于抵御侧信道攻击的安全加密方法。

12、本发明实施例中,算数掩码下的侧信道安全加密模块,用于对敏感变量在算数掩码下进行侧信道安全的算数运算,获得算数掩码下的中间变量,并输入掩码转换模块;掩码转换模块,用于采用掩码转换方法,将算数掩码下的中间变量转换为布尔掩码下的中间变量,并输入布尔掩码下的侧信道安全加密模块;所述掩码转换方法将算数掩码下的中间变量的多个算数掩码共享值转换为冗余数表示的多个布尔掩码共享值,再将冗余数表示的多个布尔掩码共享值转换为二进制表示的多个布尔掩码共享值,以得到布尔掩码下的中间变量;布尔掩码下的侧信道安全加密模块,用于对布尔掩码下的中间变量在布尔掩码下进行侧信道安全的布尔运算。通过上述过程,将算数掩码下的中间变量的多个算数掩码共享值转换为冗余数表示的多个布尔掩码共享值,再将冗余数表示的多个布尔掩码共享值转换为二进制表示的多个布尔掩码共享值,可实现时钟周期延迟更低的用于抵御侧信道攻击的安全加密。



技术特征:

1.一种用于抵御侧信道攻击的安全加密系统,其特征在于,包括:

2.如权利要求1所述的系统,其特征在于,掩码转换方法的步骤包括:

3.如权利要求2所述的系统,其特征在于,采用如下的高阶转换方法,根据算数掩码共享值集合中所有算数掩码共享值,生成冗余数表示的第一中间布尔掩码共享值和冗余数表示的第二中间布尔掩码共享值:

4.如权利要求3所述的系统,其特征在于,采用如下的第一中间布尔掩码共享值生成方法,生成冗余数表示的第一中间布尔掩码共享值和冗余数表示的第二中间布尔掩码共享值:

5.如权利要求4所述的系统,其特征在于,采用如下的第二中间布尔掩码共享值生成方法,生成第三掩码:

6.如权利要求5所述的系统,其特征在于,采用如下的掩码进制转换方法,生成布尔掩码下的中间变量的二进制表示的布尔掩码共享值:

7.如权利要求1所述的系统,其特征在于,掩码转换方法的步骤包括:

8.如权利要求7所述的系统,其特征在于,基于素数模下掩码进制转换方法的步骤包括:

9.一种用于抵御侧信道攻击的安全加密方法,其特征在于,包括:

10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求9所述方法。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求9所述方法。

12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求9所述方法。


技术总结
本发明公开了一种用于抵御侧信道攻击的安全加密系统及方法,该系统包括:算数掩码下的侧信道安全加密模块,用于对敏感变量在算数掩码下进行侧信道安全的算数运算,获得算数掩码下的中间变量;掩码转换模块,用于采用掩码转换方法,将算数掩码下的中间变量转换为布尔掩码下的中间变量;所述掩码转换方法将算数掩码下的中间变量的多个算数掩码共享值转换为冗余数表示的多个布尔掩码共享值,再将冗余数表示的多个布尔掩码共享值转换为二进制表示的多个布尔掩码共享值,以得到布尔掩码下的中间变量;布尔掩码下的侧信道安全加密模块,用于对布尔掩码下的中间变量在布尔掩码下进行侧信道安全的布尔运算。本发明可以实现时钟周期延迟更低的安全加密。

技术研发人员:刘雷波,刘江雪,杨博翰,魏少军,邓辰辰
受保护的技术使用者:清华大学
技术研发日:
技术公布日:2024/4/29
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1