一种针对NTT多项式乘法的快速侧信道攻击方法及系统

文档序号:37367069发布日期:2024-03-22 10:20阅读:18来源:国知局
一种针对NTT多项式乘法的快速侧信道攻击方法及系统

本发明涉及信息安全,具体涉及一种针对ntt多项式乘法的快速侧信道攻击方法及系统。


背景技术:

1、近年来,侧信道攻击研究已成为当前研究人员的热门方向。侧信道攻击基于这样一个事实:物理设备在执行计算任务时无法避免地与外界环境产生交互,而这些交互可能会不经意地泄漏出有关内部操作的信息。侧信道攻击的常见方法包括建模类攻击与非建模类攻击。其中,建模类攻击是一种强大的攻击方法,但也存在一些限制。例如,在攻击成本方面,建模类攻击要求攻击者能够控制目标设备的物理环境,以满足建立模板的需求。此外,建模类攻击在建立模板阶段需要收集大量的样本数据,这不仅耗时,而且可能需要特殊设备和软件来记录和分析这些数据。这些情况使得建模类攻击的成本相当高。在适用性方面,建模类攻击往往是针对特定硬件和软件配置的,如果目标设备的配置发生变化,已建立的模板可能就不再适用。在环境变化的敏感性方面,建模类攻击可能会受到环境噪声的影响,例如温度变化、电源噪声等,这些因素都有可能对最终攻击的效果产生影响。当然,还存在其他方面的限制,比如建模类攻击是一种资源密集型的攻击方法,需要昂贵的设备和资源,如高精度的示波器和高性能的计算资源等。相反,非建模类攻击,如差分功耗分析(differential power analysis,dpa)、相关功耗分析(correlation power analysis,cpa)以及简单功耗分析(simple power analysis,spa),则无需考虑这些限制。

2、crystals-dilithium(简称dilithium)是一种量子安全的数字签名算法,它是美国国家标准与技术研究院在其量子抗性密码标准化过程中考虑的算法之一。目前已有许多科研人员对dilithium进行了非建模类攻击研究。在2021年,“an efficient non-profiledside-channel attack on the crystals-dilithium post-quantum signature”在stm32f405平台上通过经典cpa攻击成功的恢复了dilithium的私钥。但由于私钥s1极大的猜测空间,导致极大的攻击成本。为此,作者提出了一种快速两阶段方案来加速攻击。快速两阶段方案在一定程度上尽管加速了攻击,但该方案在实践中存在一定的限制。因为第一阶段的原因导致无法恢复全部密钥,因此,作者将快速两阶段方案与经典cpa方案结合组成一种混合方案来恢复密钥。对于攻击单个系数而言,这是一种兼顾高成功率与低攻击成本的方案。但是私钥本身由多个独立的多项式构成,每个多项式又由多个系数构成,这也将导致恢复整个私钥的成本极高。因此,提出一种快速的侧信道攻击是极其有必要的。


技术实现思路

1、本发明的目的在于克服现有技术的不足,提出一种针对ntt多项式乘法的快速侧信道攻击方法及系统,保证了在没有带来任何额外开销的同时大大降低了针对ntt多项式乘法的攻击运行时间,能更快速地对后量子密码算法进行侧信道攻击和安全性评估。

2、实现本发明目的的技术解决方案为:

3、一种针对ntt多项式乘法的快速侧信道攻击方法,包括步骤:

4、步骤1,基于dilithium的算法特性进行分析,确定密码算法的攻击位置;

5、步骤2,基于攻击位置,在密码设备上运行dilithium2,获取能量迹;

6、步骤3,对采集的能量迹进行预处理;

7、步骤4,基于能量迹和攻击位置,通过单比特cpa攻击来恢复私钥。

8、进一步地,所述在密码设备上运行dilithium2,获取能量迹具体包括:在stm32f405设备上运行dilithium数字签名算法,然后通过pico系列3606d示波器采集能量迹。

9、进一步地,采集的每条能量迹有t个样本点,发送d次,共采集d条能量迹,采集结束后得到大小为d×t的能量迹矩阵pd×t。

10、进一步地,所述步骤3中通过静态对齐方式对能量迹进行预处理,根据触发信号数据的高低电平对每条能量迹进行分割,高电平到低电平之间的数据为一个密钥系数s[i]参与运算产生的样本点数,然后存入另一个能量迹矩阵ud×t,其中,s[i]表示私钥s1的某个多项式的第i个系数。

11、进一步地,通过单比特cpa攻击来恢复私钥具体包括:

12、步骤4-1:为每一个密钥系数构建候选值集合set1;

13、步骤4-2:通过单比特cpa攻击对候选值集合set1中的每一个元素执行攻击得到新的集合set2;

14、步骤4-3:计算集合set2中每一个元素与能量迹的皮尔逊相关系数,取皮尔逊相关系数值最大的元素作为正确的密钥系数;

15、步骤4-4:重复步骤4-1至步骤4-3,对余下的密钥系数执行攻击,直至恢复整个私钥。

16、进一步地,所述步骤4-1具体包括:

17、步骤4-1-1:将候选值k1(xxx...xxx1),k2(xxx...xx10),k3(xxx...x100),k4(xxx…1000)…k26(x10…0000),k27(100…0000)分别加入集合set1。对集合setl中的每个候选值分别执行单比特cpa攻击。以对候选值k1执行单比特cpa攻击为例。单比特cpa攻击是对每个比特分别执行cpa攻击,这里以攻击候选值k1的第二个比特为例。

18、进一步地,所述步骤4-2具体包括:

19、步骤4-2-1:计算假设中间值,这一步的目的是对每一个可能的猜测值,计算对应的假设中间值,将这些可能的值记为向量b={b1,b2},b1=11,b2=01,b1和b2是对候选值k1的第二个比特填充后,kllsb-2所有可能的值,因为每个比特只有l和0两种情况,所以猜测值只有b1=01和b2=11两种情况。对于d条能量迹和b1与b2两个猜测值可以计算出假设中间值,

20、f(d,k)=f(bi,c[1])=(bi×c[1])lsb-2,i=1,2

21、计算完成后可以得到一个矩阵vd×2,v中的第j列包含了猜测值bi所计算出的假设中间值,其中i=1,2。

22、步骤4-2-2:将假设中间值映射为能量消耗值,这一步的目的是将假设中间值矩阵vd×2映射为能量消耗值矩阵hd×2,通过汉明重量将假设中间值矩阵vd×2映射为能量消耗值矩阵hd×2。

23、hw(vd×2)→hd×2

24、步骤4-2-3:计算皮尔逊相关系数,这一步的目的是分别计算b1和b2与能量迹矩阵ud×t的皮尔逊相关系数ρ(hw((b1×c[1])lsb-2),ud×t)和ρ(hw((b2×c[1])lsb-2),ud×t),

25、

26、步骤4-2-4:比较相关性,这一步的目的是比较ρ(hw((b1×c[1])lsb-2),ud×t)和ρ(hw((b2×c[1])lsb-2),ud×t),选取相关性最大的猜测值作为攻击的结果,max(ρ(hw((b1×c[1])lsb-2),ud×t),ρ(hw((b2×c[1])lsb-2),ud×t))→bit

27、步骤4-2-5:重复步骤4-2-1)至4-2-4),直到恢复候选值k1剩余的比特;

28、步骤4-2-6:重复步骤4-2-1)至4-2-5),对集合set1中的每一个候选值执行单比特cpa攻击然后得到集合set2。

29、进一步地,所述步骤4-3具体包括:

30、步骤4-3-1:计算集合set2中每个元素对应的假设中间值;

31、f(d,k)=f(ki,c[1])=ki×c[1],i=1,2…27

32、计算完成后可以得到一个矩阵v′d×27,v′中的第j列包含了候选值ki所计算出的假设中间值;

33、步骤4-3-2:将步骤4-3-1)计算出的假设中间值映射为能量消耗值,

34、通过汉明重量将假设中间值矩阵v′d×27映射为能量消耗值矩阵h′d×27,

35、hw(v′d×27)→h′d×27

36、步骤4-3-3:求步骤4-3-2)计算出的能量消耗矩阵h′d×27中每一列与能量迹矩阵ud×t的皮尔逊相关系数,

37、ρ(h′d×27,ud×t)

38、步骤4-3-4:这一步的目的是选取矩阵h′d×27中与矩阵ud×t所求相关性最大的列所对应的候选值作为其正确的密钥,

39、max(ρ(hw(ki×c[1]),ud×t)→s[1],i=1,2,3…27

40、进一步地,所述步骤4-4具体包括:

41、步骤4-4-1:重复步骤4-1-1)至4-3-4),恢复出该多项式剩余的密钥系数。每个系数都是独立参与运算的,所以可以对多项式中的系数分别执行攻击;

42、步骤4-4-2:重复步骤4-1-1)至4-4-1),恢复出私钥s1的剩余的多项式。

43、一种基于所述的针对ntt多项式乘法的快速侧信道攻击方法的系统,包括攻击位置确定模块、能量迹获取模块、能量迹预处理模块和私钥恢复模块,所述攻击位置确定模块基于dilithium的算法特性进行分析,确定密码算法的攻击位置;所述能量迹获取模块基于攻击位置,在密码设备上运行dilithium2,获取能量迹,所述能量迹预处理模块用于对采集的能量迹进行预处理,所述私钥恢复模块基于能量迹和攻击位置,通过单比特cpa攻击来恢复私钥。

44、与现有技术相比,本发明的有益效果为:本发明采用拆分比特的方式,然后分别对每个比特执行侧信道攻击,同时使用构建候选者列表的方式解决了当密钥系数的最低有效位为0时无法执行单比特cpa攻击的问题,该方法可以轻松应用于其他基于ntt的加密实现;本发明方法能够更加有效的实现对格基后量子密码算法的侧信道攻击以及安全性评估;该方法能够比现有的两种攻击方法分别快365倍和62倍。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1