利索能及
我要发布
收藏
专利号: 2020113366365
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种针对密码算法的混合去噪功耗分析方法,其特征在于,所述方法包括以下步骤:步骤1)、向运行密码算法的加密设备输入明文,选择实际中间值攻击点,确定所需的实际中间值;采集加密时的功耗信号数据;

步骤2)、对所获得的功耗信号数据使用低通滤波,经验模态分解以及小波阈值的混合去噪方法进行预处理,得到降噪后的功耗信号数据;

步骤3)、使用降噪后的功耗信号数据基于所述实际中间值构建出实际功耗矩阵;并计算假设中间值,得到假设功耗矩阵;

步骤4)、计算多组实际功耗矩阵与假设功耗矩阵之间的相关系数,并分析得到正确的密钥。

2.根据权利要求1所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于,所述步骤1)中的实际中间值为密码算法的S盒或者轮密钥加的中间输出。

3.根据权利要求1所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于,所述步骤2)包括:

步骤2‑1、从运行密码算法的加密设备中采集功耗信号数据,得到原始信号函数;

步骤2‑2、对原始信号函数进行低通滤波得到功耗信号函数;

步骤2‑3、找出所述功耗信号函数上所有的局部极大值和局部极小值,使用三次样条函数获得上下包络线并求出上下包络线的平均值函数;

步骤2‑4、将所述功耗信号函数减去所述平均值函数,得到信号分量函数;

步骤2‑5、判断所述信号分量函数是否满足本征模态函数(IMF)的条件,确定所述信号分量函数为IMF分量;

步骤2‑6、用所述功耗信号函数减去所述本征模态分量得到一个信号函数,让所述功耗信号函数等于所述信号函数,重复上述步骤,得到n个IMF分量直至第n个IMF分量不可再分时进入步骤2‑7;

步骤2‑7、对含有噪声的高频IMF分量进行小波阈值去噪处理,将特征信息提取出来,并对特征信息与低频IMF分量及残差进行重构,得到去噪之后的功耗信号。

4.根据权利要求3所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于:所述步骤2‑5包括判断信号分量函数是否满足本征模态函数(IMF)的条件,如满足则所述信号分量函数即为所需要的第一个IMF分量;如不满足则令所述功耗信号函数等于所述信号分量函数;并重复执行步骤2‑1到2‑4,直至获得的信号分量函数满足IMF的条件并作为第一个IMF分量。

5.根据权利要求3或4所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于:判断是否满足本征模态函数的条件包括:函数在整个时间范围内,局部极值点和过零点的数目相等;

在任意时刻点,局部最大值的上包络线和下包络线平均包络线为零。

6.根据权利要求3所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于:所述步骤2‑7中小波阈值去噪处理采用软阈值法,其计算公式如下:其中,h'j,k(t)表示经过阈值去噪后的小波系数,thr(j)表示第j层小波分解的软阈值,j的取值为1到n,表示小波分解的层数;k是系数的次序,k的取值为1和2。

7.根据权利要求1所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于,所述步骤3)中所述构建实际功耗矩阵X的方法包括将采集的n条功耗数据,每条作为实际功耗矩阵的一行,其中根据迭代轮次r,每轮选取一个采样点,则每条数据有r个采样点,按时间将矩阵中每条功耗数据的r个采样点对齐,得到n×r的实际功耗矩阵X。

8.根据权利要求1或7所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于,所述步骤3)中计算假设功耗矩阵包括采用基于功耗差别系数的汉明重量模型计算出每个假设中间值的能耗转换距离,并形成假设功耗矩阵;表示为:[Hi,i]n×m=βHW(Vi,j(0→1))+(1‑β)HW(Vi,j(1→0))其中,[Hi,j]n×m表示大小为n×m的假设功耗矩阵,Hi,j表示第i行第j列的假设功耗值;HW()是汉明重量模型计算函数;Vi,j表示第i行第j列的假设中间值,Vi,j(0→1)是0转换为1的功耗,Vi,j(1→0)是1转换为0的功耗,β表示功耗差别系数。

9.根据权利要求1所述的一种针对密码算法的混合去噪功耗分析方法,其特征在于,所述步骤4)中计算实际功耗矩阵与假设功耗矩阵的相关系数矩阵的公式如下:其中,[Ri,j]m×p表示大小为m×p的系数矩阵,Ri,j表示第i行第j列的系数;i=1,2,…,m;

j=1,2,…,p;m为可能的密钥的数量,p表示每条功耗曲线数据的采样点数;Hz,i表示假设功耗矩阵H的第z行第i列的假设功耗值; 是假设功耗矩阵H的列向量的算术平均;Xz,i表示实际功耗矩阵H的第z行第i列的实际功耗值, 为实际功耗矩阵X的列向量的算数平均。

10.一种针对密码算法的混合去噪功耗分析终端,其特征在于,包括:存储器,用于存储可执行程序代码;

处理器,用于调用所述存储器中的所述可执行程序代码,执行的步骤包括:选择密码算法的S盒或者轮密钥加的输出值作为中间值,向运行密码算法的加密设备输入明文,采集加密时的功耗信号数据;

对所获得的功耗信号数据使用低通滤波,经验模态分解以及小波阈值的混合去噪方法进行预处理,得到降噪后的功耗信号数据;

使用降噪后的功耗信号数据构建实际功耗矩阵,并计算假设中间值,得到假设的功耗矩阵;

计算多组实际功耗矩阵与假设功耗矩阵之间的相关系数,并分析得到正确的密钥。