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

摘要:

权利要求书:

1.一种基于d+1阶掩码的抗功耗攻击方法,其特征在于:包括如下步骤:S1:将明文信息拆分为d+1份以及根据随机掩码生成算法生成n位随机值掩码,d为正整数;

S2:利用n位随机值掩码与明文信息拆分后的d+1份序列信息进行异或处理得到d+1份包含明文信息的随机掩码;

其中,所述d+1份包含明文信息的随机掩码的异或结果等于明文信息;

S3:基于轮密钥加、S盒替换、行位移操作以及列混淆操作对包含明文信息的随机掩码进行N次迭代处理得到加密密文;

其中,除第N次以及第N-1次之外的每次迭代处理过程均是依次执行轮密钥加、S盒替换、行位移操作以及列混淆操作,第N-1次迭代处理过程为依次执行轮密钥加、S盒替换、行位移操作,第N次迭代处理过程为执行轮密钥加操作,第1次迭代处理中轮密钥加操作的输入数据是d+1份包含明文信息的随机掩码,每个操作的输入数据是前一个操作的输出数据,第N次迭代处理中轮密钥加操作处理后的d+1份输出数据异或后得到加密密文;

其中,S盒替换操作过程如下:

S3.1.1:将d+1份输入数据Pi分别以n位为单位进行分组,每份输入数据Pi分为m+1组数据Pi-j(0≤i≤d,0≤j≤m),并将每份输入数据Pi中的m+1组数据Pi-j中同一组位置的数据分别构成一列数据PJ;

PJ={Pi-j|0≤i≤d,j=J}

S3.1.2:对每一列数据PJ均进行求逆运算;

所述求逆运算过程为:首先获取d+1个中间变量gi以及n个循环常量eτ,循环常量的取值为0或者1,每次循环匹配一个循环常量eτ,再基于d+1个中间变量以及n个循环常量按照如下规则循环执行n次,n为正整数,规则如下:a:每次循环过程分别计算每个中间变量gi的平方,并更新每个中间变量gi的值得到更新中间变量集合g, g={gi|0≤i≤d};

b:若当前循环过程对应循环常量eτ等于1,则将当前循环更新的中间变量集合g与列数据PJ进行安全乘法计算,并更新中间变量集合g,g=g×PJ;

对同一列数据PJ的n次循环结束后将中间变量集合g赋予所述列数据PJ;

S3.1.3:对求逆运算后的每一列数据PJ进行仿射变换,其中,若d为偶数,将仿射变换后的第一列数据P0与十六进制63进行异或,利用异或结果更新第一列数据P0;

步骤S1中根据随机掩码生成算法生成随机值掩码的过程如下:S1.1.1:获取三个随机值x、y、z,将随机值x依次执行三次循环移位与异或操作,其中,每次循环移位是基于前一次循环移位的随机值x进行;

式中,x<<16、x>>5、x>>4分别表示左移16位、右移5位、右移4位;

S1.1.2:依次将随机值x赋予随机值t,将随机值y赋予x,随机值z赋予y,随机值t、随机值x、随机值y的异或结果赋予z,并根据随机值z得到第一个随机值掩码;

其中,

t←x,x←y,y←z, r=zmod 256式中,r表示随机值掩码,mod代表取余运算;

S1.1.3:根据得到第一随机值掩码的随机值x,y,z返回S1.1.1循环计算下一个随机值掩码直至得到满足要求个数的随机值掩码;

若乘数PJ与乘数g的安全乘法的结果为C,

安全乘法的计算规则如下:

首先,i从0到d取值,分别计算出每个元素Ci的值:Ci=Pi-J·gi;

然后,i从0到d取值,i每次取值分别按照如下步骤迭代执行d-i次,其中,k从i+1至d依次取值,每个k值对应一次迭代,迭代过程如下:A:根据随机掩码生成算法生成随机值r;

B:计算出当前i值下元素Ci的值:

C:计算出k值对应的Ck:

其中,每执行一次迭代后,k值加1直至完成d-i次迭代,再i值加1,并执行对应迭代过程。

2.根据权利要求1所述的方法,其特征在于:步骤S1-S3中的n值为8,步骤S1中生成d个8位随机值掩码。

3.根据权利要求2所述的方法,其特征在于:中间变量gi的初始值以及循环常量ej取值分别为:g0=1

gi=0,1≤i≤d

eτ=1,1≤τ≤7

e1=0。

4.根据权利要求2所述的方法,其特征在于:步骤S2中按照如下公式进行异或计算得到d+1份包含明文信息的随机掩码:其中,r1、r2、rd分别表示第1个、第2个、第d个生成的随机值掩码;异或计算前,xi表示明文信息拆分后的d+1份中第i份信息;异或计算后,xi表示d+1份包含明文信息的随机掩码中第i个随机掩码。