欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 202110596380X
申请人: 衡阳师范学院
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种压缩密钥猜测空间的侧信道攻击方法,其特征在于,包括如下步骤:步骤1:随机产生大量明文并使用加密算法进行加密运算,通过汉明重量模型模拟算法加密过程产生的功耗,并构建仿真功耗曲线集;

步骤2:采用对单个字节密钥的高4bit进行分析的方法,使用辅助攻击点进行差分功耗攻击,得到4bit密钥差分值分布情况;

步骤3:对所有猜测密钥的差分值分布情况进行分析,筛选出两个与真实密钥最相关的值;

步骤4:围绕着步骤3所筛选出的两个值,构造密钥候选区间;

步骤5:基于密钥候选区间,使用主要攻击点进行攻击找出正确密钥。

2.根据权利要求1所述的一种压缩密钥猜测空间的侧信道攻击方法,其特征在于:步骤

1包括如下步骤:

步骤1.1:选取所攻击的加密算法的轮密钥加、字节替换两个攻击点,在轮密钥加处的密钥区分度低,选用该点来构造密钥候选区间,在字节替换这一点密钥区分度高,选用该点用于恢复最终密钥,因此划分轮密钥加为辅助攻击点,字节替换为主要攻击点;

步骤1.2:随机生成大量16字节的明文mi,在密钥固定为k的情况下进行第一轮加密,对分别经过2个不同功耗点后产生的所有加密中间值进行保存;

步骤1.3:重复步骤1.2,直至在2个功耗点处分别获得N个中间值后,进行步骤1.4;

步骤1.4:通过功耗模型将两个攻击点处的中间值映射为能量消耗值,并保存于不同集合T1,T2,其中T1对应在轮密钥加这一攻击点的能量消耗值,T2对应在字节替换这一功耗点的能量消耗值,即:

其中HW()为汉明重量计算算法,SubByte()为AES算法字节替换运算。

3.根据权利要求2所述的一种压缩密钥猜测空间的侧信道攻击方法,其特征在于:所述的步骤1.4中,所述的功耗模型为汉明重量模型,对于被处理的加密数据,计算当前字节的汉明重量,是将字节转为比特后判断其含有1的个数,1的个数即为汉明重量。

4.根据权利要求3所述的一种压缩密钥猜测空间的侧信道攻击方法,其特征在于:步骤

2中使用辅助攻击点进行攻击包括如下步骤:步骤2.1:将16字节密钥分成16个部分来分别进行攻击,设当前攻击的密钥为第b个,b初始值为1,对第b个字节密钥的前4个bit位进行穷举,密钥猜测空间为2^4,猜测范围为0‑

15;

步骤2.2:将所有猜测的高4bit密钥kn与所有明文mi的高4bit进行轮密钥加运算,得到经过轮密钥加操作后的4bit中间值Vi,n;

步骤2.3:将得到的中间值Vi,n,按照以下区分函数D进行分类,分成S0,S1两类并记录其对应消耗的能量值;

S0={T1|D=0},S1={T1|D=1}步骤2.4:对集合S0,S1中所有数据取算术平均值,并将集合S0得到的算术平均值与集合S1得到的算术平均值作差,取最终结果的绝对值作为差分值△t;将猜测密钥的值作为横坐标,猜测密钥对应的差分值作为纵坐标,绘制折线图,由此得到代表该字节高4bit差分值分布情况的折线图;

其中|S0|表示集合S0所含的元素个数,|S1|表示集合S1所含的元素个数。

5.根据权利要求4所述的一种压缩密钥猜测空间的侧信道攻击方法,其特征在于:步骤

3中使用筛选候选密钥包括如下步骤:步骤3.1:根据得到的差分折线图,找出图中按差分值排序最大的4个点用于密钥候选分析,其中每个点横坐标对应的是猜测密钥值,纵坐标对应的是差分值;

步骤3.2:在选取的4个点中,根据以下规则来选取其中2个点作为和密钥信息最相关的两个点:

1)每两个点的坐标信息相加,如果只有1组数据横坐标的值相加为15,则选取该组数据;

2)每两个点的坐标信息相加,如果有2组数据横坐标的值相加为15,则取纵坐标相加较大的一组数据;

3)每两个点的坐标信息相加,如果没有数据横坐标的值相加为15,则选取纵坐标最大的两点。

6.根据权利要求5所述的一种压缩密钥猜测空间的侧信道攻击方法,其特征在于:步骤

4中构造密钥候选区间包括如下步骤:步骤4.1:以步骤3取出的两个点为p1和p2,构造密钥候选区间C1为p1x×16~p1x×16+15构造密钥候选区间C2为p2x×16~p2x×16+15,其中p1x为p1的横坐标值,p2x为p2横坐标值,区间C1,C2如下:

C1:{x|16p1x≤x≤16p1x+15}C2:{x|16p2x≤x≤16p2x+15}。

7.根据权利要求1所述的一种压缩密钥猜测空间的侧信道攻击方法,其特征在于:步骤

5中基于密钥候选区间,使用主要攻击点进行攻击。包括如下步骤:步骤5.1:基于密钥候选区间选择单字节密钥kn′作为猜测对象,将猜测的单字节密钥kn′与所有明文第b个字节mi进行加密,得到经过轮密钥加、字节替换操作后的中间值V′i,n′:步骤5.2:在字节替换这一功耗点,以中间值V′i,n′的第一个bit位是0还是1为依据,将原始的功耗曲线基于函数D′区分为S′0,S′1两类并记录其明文mi对应消耗的能量值,区分函数D′如下:

S′0={T2|D′=0},S′1={T2|D′=1}步骤5.3:对S′0,S′1中所有数据取算术平均值,并将集合S′0得到的算术平均值与集合S′1得到的算术平均值作差,取最终结果的绝对值作为差分值Δt′;将猜测密钥的值作为横坐标,猜测密钥对应的差分值作为纵坐标,绘制折线图,由此得到差分折线图,找出差分折线图纵坐标最大的点,该点所对应的横坐标即为密钥的正确值;

其中|S′0|表示集合S′0所含的元素个数,|S′1|表示集合S′1所含的元素个数;

步骤5.4:重复步骤2.1至5.3,对密钥其他字节进行分析;每完成一个字节密钥的分析,令b=b+1,直至b=16为止;将每次得到的1字节大小密钥按顺序拼凑成完整的16字节密钥。