CN109936437B - 一种基于d+1阶掩码的抗功耗攻击方法 - Google Patents

一种基于d+1阶掩码的抗功耗攻击方法 Download PDF

Info

Publication number
CN109936437B
CN109936437B CN201910285584.4A CN201910285584A CN109936437B CN 109936437 B CN109936437 B CN 109936437B CN 201910285584 A CN201910285584 A CN 201910285584A CN 109936437 B CN109936437 B CN 109936437B
Authority
CN
China
Prior art keywords
random
value
random value
data
masks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910285584.4A
Other languages
English (en)
Other versions
CN109936437A (zh
Inventor
李浪
欧雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hengyang Normal University
Original Assignee
Hengyang Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hengyang Normal University filed Critical Hengyang Normal University
Priority to CN201910285584.4A priority Critical patent/CN109936437B/zh
Publication of CN109936437A publication Critical patent/CN109936437A/zh
Application granted granted Critical
Publication of CN109936437B publication Critical patent/CN109936437B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于d+1阶掩码的抗功耗攻击方法,其将明文拆分成多份,拆分后所有掩码异或结果与明文相等且任意一份与未拆分的明文独立;产生随机值掩码,进行掩码更新得到包含明文信息的随机掩码;再以安全乘法为基础,构造d+1阶安全S盒替换算法构造出整体的d+1阶掩码实现方法。本发明方法的优点在于对轻量级分组密码算法进行了高阶功耗攻击防护,使其能够有效的对抗高阶功耗攻击,同时,要求的计算与空间资源少,效率高,适合密码算法硬件实现。

Description

一种基于d+1阶掩码的抗功耗攻击方法
技术领域
本发明属于加密安全技术领域,具体涉及一种基于d+1阶掩码的抗功耗攻击方法。
背景技术
随着信息技术的飞速发展与广泛运用,信息安全越来越受到人们所重视。包括密码算法本身的安全性以及密码算法所运行的设备安全性,而现代加密技算法本身已经能够对抗传统的密码分析方法。由于设备技术限制,密码设备运行时不可避免地会泄露如功耗、运算时间、电磁等,这些信息可以被攻击者利用破解密钥。
攻击者并不直接分析密码算法本身,而是通过收集明文运行密码算法时智能卡等密码设备泄露的能量信息,再结合一些数学分析手段,从而破解密码算法,在旁路攻击中,功耗攻击以其攻击设备具有攻击设备要求低、攻击过程易实现、分析简单等优点而被广泛采用。
功耗攻击又以攻击的方式不同分为SPA、DPA、HODPA等类别。功耗攻击通过直接观察密码算法运行过程中不同操作对应功耗不同的特点进行密钥破解;差分功耗分析(Differential Power Analysis,DPA)则是通过采集大量明文功耗样本与数理统计相结合,比较假设的中间值与实际功耗值之间的相关性来猜解出密钥;高阶差分功耗攻击(High-Order DPA,HODPA),攻击方式基本与DPA一致,DPA只攻击单个中间值,而HODPA则攻击多个中间值的联合值,对采集到的功耗样本也需要进行预处理。另外,HODPA的攻击过程较之前两种攻击更为复杂,所需的样本量也更加庞大,对密码设备的威胁更大。
通常有两种方法被用来对抗功耗攻击,一种是设计新的密码算法,使得其算法本身具有抗功耗攻击的能力,另一种则是在原密码算法增加抗功耗攻击操作,即加入掩码,普通的掩码只是将明文的每一个字节都简单的异或上一个八位的随机掩码,只能抗一般的简单功耗攻击,无法对抗高阶功耗攻击,抗功耗攻击能力还有待提高。
发明内容
本发明的目的是提供一种基于d+1阶掩码的抗功耗攻击方法,其通过加入掩码来增加抗功耗攻击操作,本发明采用异或拆分策略,在此基础上设计了AES密码算法下的安全乘法、安全S盒、安全行移位与安全列混淆算法,尤其是提供了新S盒替换算法,从而对AES算法进行高阶掩码的保护,本发明将敏感数据分成多份来成消除明文与功耗之间的相关性,并且即使攻击者获取到d个中间状态值也无法破解密钥,提高了抗功耗攻击能力。
一方面,本发明提供的一种基于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中同一组位置的数据分别构成一列数据PI
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,
Figure BDA0002023162680000021
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
本发明采用简单的循环移位异或来生成随机值掩码,并用于高阶掩码的刷新算法从而得到d+1份包含明文信息的随机掩码,有效降低了运算复杂度,同时大大提高了随机值的生成效率,减少了资源消耗,适用于资源受限设备高效灵活的实现。同时,本发明构建了全新的S盒替换操作,其由求逆变换和仿射变换组成,其中,S盒替换采用按列的变换方式进行,在密码算法运行过程中,保证了所有敏感中间状态值都随机拆分成d+1份进行运算,这些掩码中任意一份都与原来的状态值独立,并且任意少于d份掩码异或之后的结果也与未掩码的状态值独立。由于功耗攻击的原理是通过统计分析实际功耗与中间状态值的相关性进行密钥破解,本方法极大地降低了中间状态值与实际功耗之间的相关性,提高了密码算法抗高阶功耗攻击的能力,而且有效节省了计算资源,同时提高了算法的可读性。
进一步优选,步骤S1中根据随机掩码生成算法生成随机值掩码的过程如下:
S1.1.1:获取三个随机值x、y、z,将随机值x依次执行三次循环移位与异或操作,其中,每次循环移位是基于前一次循环移位的随机值x进行;
Figure BDA0002023162680000031
Figure BDA0002023162680000032
式中,x<<16、x>>5、x>>4分别表示左移16位、右移5位、右移4位;
S1.1.2:依次将随机值x赋予随机值t,将随机值y赋予x,随机值z赋予y,随机值t、随机值x、随机值y的异或结果赋予z,并根据随机值z得到第一个随机值掩码;
其中,
Figure BDA0002023162680000034
式中,r表示随机值掩码,mod代表取余运算;
S1.1.3:根据得到第一随机值掩码的随机值x,y,z返回S1.1.1循环计算下一个随机值掩码直至得到满足要求个数的随机值掩码。
进一步优选,若乘数PJ与乘数g的安全乘法的结果为C,
Figure BDA0002023162680000035
Figure BDA0002023162680000036
安全乘法的计算规则如下:
首先,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
Figure BDA0002023162680000041
其中,每执行一次迭代后,k值加1直至完成d-i次迭代,再i值加1,并执行对应迭代过程。
随机值的生成过程与前述随机值掩码相同,随机值掩码也是随机值。上述过程譬如,i取值为0时,需要进行d次迭代,k的取值为1至d,第一次迭代时(k=1),步骤A计算出一个随机值r,步骤B利用当前的C0异或上随机值r得到更新的C0,步骤C利用当前的C1按照步骤C中的公式更新C1,然后k加上1,执行下一次迭代,即步骤A计算出随机值r,步骤B利用更新的C0异或上随机值r再次更新C0,步骤C利用当前的C2按照步骤C中的公式更新C2,重复直至完成d次迭代,此时得到最终更新的C0,以及更新的C1,C2...Cd
i值加上1,取值为1,需要进行d-1次迭代,k的取值为2至d,第一次迭代时(k=2),步骤A计算出一个随机值r,步骤B利用更新的C1异或上随机值r再次更新的C1,步骤C利用当前的C2按照步骤C中的公式更新C2,然后k加上1,执行下一次迭代,重复直至完成d-1次迭代。
按照上述流程,i从0至d依次取值迭代计算,最终得到更新的C0,C1,C2...Cd,进而得到结果C。
进一步优选,步骤S1-S3中的n值为8,步骤S1中生成d个8位随机值掩码。
进一步优选,中间变量gi的初始值以及循环常量ej取值分别为:
g0=1
gi=0,1≤i≤d
eτ=1,1≤τ≤7
e1=0
进一步优选,步骤S2中按照如下公式进行异或计算得到d+1份包含明文信息的随机掩码:
Figure BDA0002023162680000042
其中,r1、r2、rd分别表示第1个、第2个、第d个生成的随机值掩码;异或计算前,xi表示明文信息拆分后的d+1份中第i份信息;异或计算后,xi表示d+1份包含明文信息的随机掩码中第i个随机掩码。
有益效果
本发明提供该方法采用了简单的循环移位异或来生成随机值掩码,用于高阶掩码的刷新算法,有效降低了运算复杂度,同时大大提高了随机值的生成效率,减少了资源消耗,适用于资源受限设备高效灵活的实现。
本发明构造了有限域上的安全乘法,采用从左至右的平方和算法实现域上的求逆变换,再结合仿射变换实现AES的S盒替换操作,有效提高了求逆速度,提高了掩码后新S盒替换效率,同时保证了新S盒替换过程的安全。主算法中S盒替换采用按列的变换方式进行,在密码算法运行过程中,保证了所有敏感中间状态值都随机拆分成d+1份进行运算,如表1所示,这些掩码中任意一份都与原来的状态值独立,并且任意少于d份掩码异或之后的结果也与未掩码的状态值独立,由于功耗攻击的原理是通过统计分析实际功耗与中间状态值的相关性进行密钥破解,本方法极大地降低了中间状态值与实际功耗之间的相关性,提高了密码算法抗高阶功耗攻击的能力,而且有效节省了计算资源,同时提高了算法的可读性。
附图说明
图1为本发明方法结构示意图
图2为本发明所述高阶掩码方案加密过程示意图
具体实施方式
下面将结合实施例对本发明做进一步的说明。
本发明提供了一种基于d+1阶掩码的抗功耗攻击方法,其是用于抵抗功耗攻击,在原密码算法中增加了抗功耗攻击操作,即加入了掩码。本发明在原密码算法中将原文分为多分来对抗,设计了S盒,本实施例实现对AES算法的高阶掩码的保护,将原密码算法进行了改进,得到了一种抗功耗攻击操作的新加密方法。
本发明提供的一种基于d+1阶掩码的抗功耗攻击方法,包括如下步骤:
S1:将明文信息拆分为d+1份以及根据随机掩码生成算法生成d个八位随机值掩码,d为正整数。
其中,设加密明文X,首先按照如下规则将加密明文x拆分为d+1份:
Figure BDA0002023162680000051
式中,xi表示明文X拆分后的第i+1份信息,从上述表示可知,明文X拆分后第1份x0明文为完整的明文X,其他份信息为空,d+1份信息满足:
Figure BDA0002023162680000052
xi=X即
Figure BDA0002023162680000053
关于步骤S1中根据随机掩码生成算法生成d个八位随机值掩码r1,r2,..,rd的执行过程如下:
S1.1.1:获取三个随机值x、y、z,将随机值x依次执行三次循环移位与异或操作,其中,每次循环移位是基于前一次循环移位的随机值x进行;
Figure BDA0002023162680000061
Figure BDA0002023162680000062
Figure BDA0002023162680000063
式中,x<<16、x>>5、x>>4分别表示左移16位、右移5位、右移4位;
S1.1.2:依次将随机值x赋予随机值t,将随机值y赋予x,随机值z赋予y,随机值t、随机值x、随机值y的异或结果赋予z,并根据随机值z得到第一个随机值掩码;
其中,
r=z mod 256式中,mod代表取余运算;
S1.1.3:根据得到第一随机值掩码的随机值x,y,z返回S1.1.1循环计算下一个随机值掩码直至得到满足要求个数的随机值掩码。
本实施例中,执行循环d次得到d个八位随机值掩码。
S2:利用d个八位随机值掩码与明文信息拆分后的d+1份序列信息进行异或处理得到d+1份包含明文信息的随机掩码。
其中,按照如下公式进行异或计算得到d+1份包含明文信息的随机掩码:
Figure BDA0002023162680000065
其中,r1、r2、rd分别表示第1个、第2个、第d个生成的随机值掩码;异或计算前,xi表示明文信息拆分后的d+1份中第i份信息;异或计算后,xi表示d+1份包含明文信息的随机掩码中第i个随机掩码。
从上述可知,本发明实施例利用d个八位随机值掩码刷新明文序列内所有的元素,刷新后的所有元素的异或结果与明文相等,保证了每个元素与原明文X独立。即:
Figure BDA0002023162680000067
S3:基于轮密钥加、S盒替换、行位移操作以及列混淆操作对包含明文信息的随机掩码进行N次迭代处理得到加密密文。
本发明步骤S3的迭代处理过程如下:除第N次以及第N-1次之外的每次迭代处理过程均是依次执行轮密钥加、S盒替换、行位移操作以及列混淆操作,第N-1次迭代处理过程为依次执行轮密钥加、S盒替换、行位移操作,第N次迭代处理过程为执行轮密钥加操作,其中,第1次迭代处理中轮密钥加操作的输入数据是d+1份包含明文信息的随机掩码,每个操作的输入数据是前一个操作的输出数据,第N次迭代处理中轮密钥加操作处理后的d+1份输出数据异或后得到加密密文。
由于AES算法有轮密钥加、S盒替换、行移位、列混淆。本发明轮密钥加、行移位、列混淆与原AES密码算法相同,对其实现过程不进行详细描述;本发明对S盒替换进行了高阶掩码设计,其为非线性操作,新S盒替换算法需要满足d+1份数据进行S盒替换后输出异或结果等于未添加掩码的S盒替换结果。本发明的八位S盒替换主要由有限域GF(28)上的求逆运算及仿射运算两部分组成,掩码方案分别对这两个部分进行了重构,将原本查表操作变成了平方-乘运算。
譬如,步骤S2得到d+1份包含明文信息的随机掩码x0、x1...、xi、...、xd,随后对每一个随机掩码xi进行轮密钥加操作AddRoundKey(xi),得到Pi。然后再将轮密钥加操作的d+1份输出数据Pi作为第一次迭代过程中S盒替换的输入数据,S盒替换操作过程如下:
S3.1.1:将d+1份输入数据Pi分别以8位为单位进行分组,每份输入数据Pi分为m+1组数据Pi-j(0≤i≤d,0≤j≤m),并将每份输入数据Pi的m+1组数据Pi-j中同一组位置的数据分别构成一列数据PJ;本实施例中m=15;
PJ={Pi-j|0≤i≤d,j=J}
S3.1.2:对每一列数据PJ均进行求逆运算;
所述求逆运算过程为:首先获取d+1个中间变量gi以及8个循环常量eτ,循环常量的取值为0或者1;再基于d+1个中间变量以及8个循环常量按照如下规则循环执行8次规则如下:
a:每次循环过程分别计算每个中间变量gi的平方,并更新每个中间变量gi的值得到更新中间变量集合g,
Figure BDA0002023162680000071
g={gi|0≤i≤d};
b:若当前循环过程对应循环常量eτ等于1,则将当前循环更新的中间变量集合g与列数据PJ进行安全乘法计算,并更新中间变量集合g,g=g×PJ。对同一列数据PJ的n次循环结束后将中间变量集合g赋予列数据PJ
应当理解,每一次循环中都会更新中间变量集合,下一次循环是基于前一循环的中间变量进行的,且每一次循环中均根据循环常量来判断是否需要进行中间变量集合g与列数据PJ的安全乘法计算。本实施例中,中间变量集合g初始值中,g0=1,g1到gd都是0;8个循环常量eτ构成的循环常量集合e表示为:e={1,1,1,1,1,1,1,0}。
本发明中安全乘法的规则如下,假设:若乘数PJ与乘数g的安全乘法的结果为C,
Figure BDA0002023162680000081
安全乘法的计算规则如下:
首先,i从0到d取值,分别计算出每个元素Ci的值:Ci=Pi-J·gi
然后,i从0到d取值,i每次取值分别按照如下步骤迭代执行d-i次,其中,k从i+1至d依次取值,每个k值对应一次迭代,迭代过程如下:
A:根据随机掩码生成算法生成随机值r;
B:计算出当前i值下元素Ci的值:
Figure BDA0002023162680000082
C:计算出k值对应的Ck
Figure BDA0002023162680000083
其中,每执行一次迭代后,k值加1直至完成d-i次迭代,再i值加1,并执行对应迭代过程。
S3.1.3:对求逆运算后的每一列数据PJ进行仿射变换,其中,若d为偶数,将仿射变换后的第一列数据P0与十六进制63进行异或,利用异或结果更新第一列数据P0
Pi-J=Afine(Pi-J)
式中,Afine表示仿射变换。由于仿射变换Afine算法为现有算法,故对此不进行详细赘述。
执行完S3.1.3后,对于每一列原数据PJ都得到新的列数据PJ,再将其组合将得到新的d+1份数据Pi,然后再对其依次进行行移位操作ShiftRow(Pi)与列混淆操作MixColumn(Pi),列混淆操作的输入数据是行移位操作的输出数据。
按照上述S盒替换操作方法,本发明迭代多次后,得到密文D为:
Figure BDA0002023162680000084
通过本发明该方法,最终密文与未添加掩码算法的AES密文结果一致,整个掩码过程对输入输出透明,只在算法中间将敏感状态值进行了隐藏,以达到保护目的。如下表1的状态值异或表所示,明文在加密过程中由原来的128位,拆分成了4*128位包含了明文信息的随机掩码。表中第二列第一行为明文,第二列第二行为中间状态值,第三列为中间状态值异或之后的结果,即未添加掩码的AES算法的中间状态值。可以看到,每一轮的中间值都被随机分成了d+1份,且无法通过任意d份得到真正的中间状态值,有效地保护了密码算法运行过程中的每一个中间状态值。
表1状态值异或表
Figure BDA0002023162680000091
Figure BDA0002023162680000101
需要强调的是,本发明所述的实例是说明性的,而不是限定性的,因此本发明不限于具体实施方式中所述的实例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,不脱离本发明宗旨和范围的,不论是修改还是替换,同样属于本发明的保护范围。

Claims (4)

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进行;
Figure FDA0002245905380000021
Figure FDA0002245905380000022
Figure FDA0002245905380000023
式中,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,
Figure FDA0002245905380000024
r=zmod 256
式中,r表示随机值掩码,mod代表取余运算;
S1.1.3:根据得到第一随机值掩码的随机值x,y,z返回S1.1.1循环计算下一个随机值掩码直至得到满足要求个数的随机值掩码;
若乘数PJ与乘数g的安全乘法的结果为C,
Figure FDA0002245905380000026
安全乘法的计算规则如下:
首先,i从0到d取值,分别计算出每个元素Ci的值:Ci=Pi-J·gi
然后,i从0到d取值,i每次取值分别按照如下步骤迭代执行d-i次,其中,k从i+1至d依次取值,每个k值对应一次迭代,迭代过程如下:
A:根据随机掩码生成算法生成随机值r;
B:计算出当前i值下元素Ci的值:
Figure FDA0002245905380000027
C:计算出k值对应的Ck
Figure FDA0002245905380000028
其中,每执行一次迭代后,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份包含明文信息的随机掩码:
Figure FDA0002245905380000031
Figure FDA0002245905380000032
其中,r1、r2、rd分别表示第1个、第2个、第d个生成的随机值掩码;异或计算前,xi表示明文信息拆分后的d+1份中第i份信息;异或计算后,xi表示d+1份包含明文信息的随机掩码中第i个随机掩码。
CN201910285584.4A 2019-04-10 2019-04-10 一种基于d+1阶掩码的抗功耗攻击方法 Active CN109936437B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910285584.4A CN109936437B (zh) 2019-04-10 2019-04-10 一种基于d+1阶掩码的抗功耗攻击方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910285584.4A CN109936437B (zh) 2019-04-10 2019-04-10 一种基于d+1阶掩码的抗功耗攻击方法

Publications (2)

Publication Number Publication Date
CN109936437A CN109936437A (zh) 2019-06-25
CN109936437B true CN109936437B (zh) 2020-01-31

Family

ID=66989717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910285584.4A Active CN109936437B (zh) 2019-04-10 2019-04-10 一种基于d+1阶掩码的抗功耗攻击方法

Country Status (1)

Country Link
CN (1) CN109936437B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511292B (zh) * 2021-02-05 2021-05-04 浙江地芯引力科技有限公司 安全芯片的工作性能检测及适应性引导方法及装置
CN112883395A (zh) * 2021-02-25 2021-06-01 山东华翼微电子技术股份有限公司 一种增强抗攻击能力的高性能gfn掩码方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639312A (zh) * 2013-11-08 2015-05-20 国家电网公司 一种des算法抗能量攻击的方法及装置
CN106788974A (zh) * 2016-12-22 2017-05-31 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN108173642A (zh) * 2018-03-21 2018-06-15 电子科技大学 一种抗高阶差分功耗攻击的aes硬件实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10256973B2 (en) * 2016-09-30 2019-04-09 Intel Corporation Linear masking circuits for side-channel immunization of advanced encryption standard hardware

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639312A (zh) * 2013-11-08 2015-05-20 国家电网公司 一种des算法抗能量攻击的方法及装置
CN106788974A (zh) * 2016-12-22 2017-05-31 深圳国微技术有限公司 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN108173642A (zh) * 2018-03-21 2018-06-15 电子科技大学 一种抗高阶差分功耗攻击的aes硬件实现方法

Also Published As

Publication number Publication date
CN109936437A (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
CN106788974B (zh) 掩码s盒、分组密钥计算单元、装置及对应的构造方法
CN1989726B (zh) 用于执行加密计算的方法和装置
CN113940028B (zh) 实现白盒密码的方法和装置
JP5711681B2 (ja) 暗号処理装置
US20070140478A1 (en) Encryption apparatus and encryption method
KR20180002069A (ko) 부채널 분석에 대응한 보호 방법 및 장치
CN108964872B (zh) 一种基于aes的加密方法及装置
EP2316189B1 (en) Method for generating a cipher-based message authentication code
CN107147487B (zh) 对称密钥随机分组密码
Lee et al. A masked white-box cryptographic implementation for protecting against differential computation analysis
CN103905182B (zh) 基于动态改变中间数据存储位置的抗攻击方法及电路实现
CN109791517A (zh) 保护并行乘法运算免受外部监测攻击
CN107204841B (zh) 一种抵御差分功耗攻击的分组密码多s盒实现的方法
Duan et al. Differential power analysis attack and efficient countermeasures on PRESENT
CN109936437B (zh) 一种基于d+1阶掩码的抗功耗攻击方法
CN104967509B (zh) 一种轮输出为算术掩码的zuc序列密码算法掩码防护方法
CN112653546A (zh) 一种基于功耗分析的故障攻击检测方法
CN111931176B (zh) 防御侧信道攻击的方法、装置及可读存储介质
Luo et al. Cryptanalysis of a chaotic block cryptographic system against template attacks
CN115664634A (zh) 一种抗侧信道攻击的aes加密算法硬件实现方法及系统
Wei et al. A small first-order DPA resistant AES implementation with no fresh randomness
CN109150506B (zh) 一种彩虹签名的侧信道分析方法及装置
Guo et al. Differential power analysis on dynamic password token based on SM3 algorithm, and countermeasures
CN112543094B (zh) 一种基于多随机数的des掩码抗侧信道攻击实现方法
CN105025037B (zh) 抗cpa攻击的密文分组链接模式mac算法的实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant