CN107508678A - 基于机器学习的rsa掩码防御算法的侧信道攻击方法 - Google Patents

基于机器学习的rsa掩码防御算法的侧信道攻击方法 Download PDF

Info

Publication number
CN107508678A
CN107508678A CN201710951181.XA CN201710951181A CN107508678A CN 107508678 A CN107508678 A CN 107508678A CN 201710951181 A CN201710951181 A CN 201710951181A CN 107508678 A CN107508678 A CN 107508678A
Authority
CN
China
Prior art keywords
mrow
modular multiplication
rsa
msubsup
machine learning
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.)
Granted
Application number
CN201710951181.XA
Other languages
English (en)
Other versions
CN107508678B (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.)
Chengdu University of Information Technology
Original Assignee
Chengdu University of Information Technology
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 Chengdu University of Information Technology filed Critical Chengdu University of Information Technology
Priority to CN201710951181.XA priority Critical patent/CN107508678B/zh
Publication of CN107508678A publication Critical patent/CN107508678A/zh
Application granted granted Critical
Publication of CN107508678B publication Critical patent/CN107508678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

本发明属于信息安全领域,公开了一种基于机器学习的RSA掩码防御算法的侧信道攻击方法,采集RSA双重掩码算法N条功耗曲线,进行滤波,对齐处理,并进行模乘截取;然后对截取的各模乘与某一个特定模乘根据泊松相关系数公式求各模乘相关系数;对每个模乘求的相关系数与某一定的模乘相关系数,求欧式距离;对欧式距离,采用机器学习聚类分析方法,进行聚类,分成多类;每各模乘所属类对应猜测密钥值。本发明考虑双重掩码的噪声影响,无法采用一阶或高阶侧信道攻击方法,并且攻击过程中分类方法采用人工观察设定阈值方式;利用模乘之间功耗的相关性特征差异,评估功耗点有效度,本发明能够有效分析幂指数。

Description

基于机器学习的RSA掩码防御算法的侧信道攻击方法
技术领域
本发明属于信息安全领域,尤其涉及一种基于机器学习的RSA掩码防御算法的侧信道攻击方法。
背景技术
公钥密码算法不仅可以实现信息的加解密功能,还可以用于数字签名、密钥管理、消息认证、身份认证等密码技术,如今已经成为保障信息安全的关键技术。而RSA算法则是使用最广泛的公钥密码算法。自从差分功耗分析(Differential Power Analysis,DPA)攻击技术的问世,引起人们对侧信道攻击(Side Channel Attack,SCA)技术的极大关注。为了防止密码硬件设备中的RSA算法遭受SPA和DPA攻击,算法1给出了一种双重掩码的RSA防御方法,RSA算法中没有直接计算md mod N,通过采用随机数r,用于对消息m进行掩码,并采用t和s对指数d进行重编码。其中k为整数,t=k*Φ(N)+d-(2n-1),s=Φ(N)-d,t和s对指数d进行重编码,其中Φ(N)为N的欧拉函数。RSA双重掩码防御算法为:
攻击算法1提出的双重掩码防御算法,由于掩码造成的噪声影响,仅仅通过常规侧信道攻击是无法有效攻击的。因此目前,研究者提出二阶相关功耗分析方法,在一阶相关功耗算法基础上,对功耗曲线的相关系数进行二次处理,对模乘操作的每个功耗点的相关系数计算方差,然后通过人工观测,设定方差选取阈值,挑选方差偏差大的功耗点作为有效攻击点,去除掉方差小的功耗点;然后有效攻击点的相关系数相加,通过测定阈值分类,区分不同指数。
综上所述,现有技术存在的问题是:
在真实环境下,现有双重掩码RSA算法由于噪声的增大,通过相关系数计算方差,通过人工方差阈值很难对模乘功耗有效点正确分类造成,而有效功耗点选取的不正确,会造成有效信息损失,从而影响攻击效率和攻击准确率;并且人工观察设定阈值发,严重依赖于攻击者的经验,攻击准确率会出现波动;
并从查阅文献来看,目前没有针对RSA掩码防御算法的聚类相关分析方法,就更没有针对算法1中双重掩码RSA算法的聚类相关分析方法。
发明内容
针对现有技术存在的问题,本发明提供了一种基于机器学习的RSA掩码防御算法的侧信道攻击方法。本发明攻击过程中模乘之间功耗相关性有点选取采用的数据集是相关系数方差的欧氏距离,而不是用方差作为数据集,使得模乘有效点和噪声区分更清晰,有助于提高分类的准确性;本发明攻击过程对各种曲线中间进行分类,在有效功耗点选取和相关性系数分类中采用机器学习的分类方法,降低噪声影响,从而可以高效分类,提高算法通用性。
本发明利用信号处理各种滤波方法对功耗曲线进行滤波、对齐预处理;然后分析RSA掩码防护算法的幂指数功耗泄露点,截取泄漏点的模乘截取;采用模乘之间数据依赖性强的有效点,相关系数方差的欧氏距离存在差异较大理论,通过聚类方法进行分类,确定模乘有效点功耗点集,进行降噪;然后对有效点功耗相关系数和再次采用聚类分类方法,分析和猜测密钥值,实现一种基于机器学习的RSA掩码防御算法的侧信道攻击方法,所述基于机器学习的RSA掩码防御算法的侧信道攻击方法,包括:
步骤一,采集RSA双重掩码算法N条功耗曲线,进行滤波,对齐处理,并进行模乘截取;
步骤二,然后对截取的各模乘与某一个特定模乘根据泊松相关系数公式求各模乘相关系数;
步骤三,对每个模乘求的相关系数与某一定的模乘相关系数的方差,对方差求欧式距离;
步骤四,对欧式距离,采用机器学习聚类分析方法,进行聚类,分成多类;
步骤五,选择聚类中心点最大值分类作为各模乘相关系数选择位置,将各模乘对应选择位置相关系数相加,求和;
步骤六,对各模乘相关系数和,采用机器学习聚类分析方法,进行聚类,分成多类;
步骤七,每各模乘所属类对应猜测密钥值。
进一步,所述步骤一具体包括:
首先输入相同幂底数和幂指数,采集RSA双重掩码算法智能卡密码芯片功耗,进行滤波、对齐,然后截取C=C*T[tisi](mod N)的功耗曲线,组成如下分块矩阵:
(1)式中,每个分块矩阵Mi,j代表第i条功耗曲线第j个模乘;n代表曲线中模乘的数量;r代表曲线条数;而每个分块矩阵Mi,j=[mi,j*p,mi,j*p+1,mi,j*p+2,...,mi,j*p+p-1],其中p代表每个模乘功耗的点数;矩阵Z中的列向量mj*p+k=[m0,j*p+k,mi,j*p+1,mi,j*p+2,...,mi,j*p+p-1],其中0≤j<n-1,0≤k<p;
进一步,所述步骤二具体包括:
由矩阵Z,计算模乘与第s模乘之间功耗相关系数,得到模乘之间相关系数矩阵Cs
(2)式中,代表第i模乘与固定第s模乘中,第j个功耗点之间的相关系数,其中0≤i<n-1,0≤j<p,0≤s<n-1;即相关系数计算公式(3):
计算Cs每列向量的方差,vi代表矩阵Cs的每列的方差值,得到方差向量值Vs:
Vs=(v0,v1,v2,...,vp-2,vp-1) (4)。
进一步,所述步骤三具体包括:
计算方差向量与向量均值的欧式距离,得到欧式距离向量:
Ds=(d0,d1,d2,...,dp-2,dp-1) (5)。
进一步,所述步骤四中,采样k均值聚类方法,将方差欧式距离Ds进行聚类,聚类数目为δ,选择聚类中心点最大的簇的集合,作为功耗有效点选择集具体包括:
输入:数据集Ds,聚类数目为δ;
输出:聚类中心点最大的簇的集合
A)初始化,随机指定δ个聚类中心点μ1、μ2、…、μδ
B)距离值di计算到各聚类中心μj距离D(di,μj),j=1,…,δ,判断di与μj之间距离的函数D(di,μj)=min{D(di,wj),j=1,...,δ},则i值为di在数据集Ds中原编号;
C)重新计算各簇中心点,对每个簇计算djt为每个簇中的数据值,t为距离值在新簇中的新编号,Nj为第j个簇中变量的个数;
D)计算偏差
E)收敛判断,如果J值收敛,则转步骤F);否则转步骤B);
F)对每个簇计算计算出μmax=max{μj,j=1,…,δ},则μmax聚类中心所属的簇为选择集
进一步,所述步骤五中根据选取相关系数Cs中每行对应位置相加,相关系数和组成集合cofs=(σ0,σ1,...,σn-2),则
进一步,所述步骤六中采用类似步骤四,k均值聚类方法,将cofs再次进行聚类,聚类数目为2,输出聚类中心点最大的簇的集合cofvalid,则簇中位置编号对应的模乘与固定模乘s的依赖关系强,即判断为与模乘s的操作数一致。
进一步,所述步骤七包括:返回步骤二,依次将n-1个模乘分成4类,每类猜测为T[00]、T[01]、T[10]、T[11],重组编码出t和s 16种取值,然后推算出正确的幂指数d值。
本发明的另一目的在于提供一种基于机器学习的RSA掩码防御算法的侧信道攻击系统。
本发明的优点及积极效果为:
本发明基于机器学习的RSA双重掩码侧信道攻击方法。考虑双重掩码的噪声影响,无法采用一阶或高阶侧信道攻击方法,并且攻击过程中分类方法采用人工观察设定阈值方式。利用模乘之间功耗的相关性特征差异,评估功耗点有效度,提出了一种基于聚类侧信道攻击方法,能够有效分析幂指数。实验结果表明攻击1024比特长度的RSA双重掩码算法,通过400条功耗曲线,幂指数分析准确率达到100%,相比一阶侧信道攻击方法,准确率提高了一半左右;与现有的人工阈值设定的高阶侧信道攻击方法相比,聚类分析与侧信道的结合,避免了攻击准确率严重依赖于攻击者的经验,算法通用性更高;并且400条功耗曲线条件下,准确率也提高了约10%左右。
附图说明
图1是本发明实施例提供的基于机器学习的RSA掩码防御算法的侧信道攻击方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有双重掩码RSA算法仅仅通过常规侧信道攻击,由于掩码造成的噪声影响,没法有效分类,从而影响攻击效率。
本发明攻击过程对各种曲线中间进行分类,采用机器学习的分类方法,降低噪声影响,从而可以高效分类。
下面结合附图及具体实施例对本发明的应用原理作详细描述。
本发明实施例提供的基于机器学习的RSA掩码防御算法的侧信道攻击方法利用信号处理各种滤波方法对功耗曲线进行滤波、对齐预处理;然后分析RSA掩码防护算法的幂指数功耗泄露点,截取泄漏点的模乘截取;采用模乘之间数据依赖性强的有效点,相关系数方差的欧氏距离存在差异较大理论,通过聚类方法进行分类,确定模乘有效点功耗点集,进行降噪;然后对有效点功耗相关系数和再次采用聚类分类方法,分析和猜测密钥值,实现一种基于机器学习的RSA掩码防御算法的侧信道攻击方法。
如图1所示,本发明实施例提供的基于机器学习的RSA掩码防御算法的侧信道攻击方法,包括:
S101:采集RSA双重掩码算法N条功耗曲线,进行滤波,对齐处理,并进行模乘截取;
S102:然后对截取的各模乘与某一个特定模乘根据泊松相关系数公式求各模乘相关系数;
S103:对每个模乘求的相关系数与某一定的模乘相关系数的方差,对方差求欧式距离;
S104:对欧式距离,采用机器学习聚类分析方法,进行聚类,分成多类;
S105:选择聚类中心点最大值分类作为各模乘相关系数选择位置,将各模乘对应选择位置相关系数相加,求和;
S106:对各模乘相关系数和,采用机器学习聚类分析方法,进行聚类,分成多类;
S107:每各模乘所属类对应猜测密钥值。
下面结合具体分析对本发明作进一步描述。
本发明实施例提供的基于机器学习的RSA掩码防御算法的侧信道攻击方法,包括:
1)首先输入相同幂底数和幂指数,采集RSA双重掩码算法智能卡密码芯片功耗,进行滤波、对齐,然后截取算法1中4.2步C=C*T[tisi](mod N)的功耗曲线,组成如下分块矩阵:
(1)式中,每个分块矩阵Mi,j代表第i条功耗曲线第j个模乘;n代表曲线中模乘的数量;r代表曲线条数。而每个分块矩阵Mi,j=[mi,j*p,mi,j*p+1,mi,j*p+2,...,mi,j*p+p-1],其中p代表每个模乘功耗的点数。矩阵Z中的列向量mj*p+k=[m0,j*p+k,mi,j*p+1,mi,j*p+2,...,mi,j*p+p-1],其中0≤j<n-1,0≤k<p。
2)由矩阵Z,计算模乘与第s模乘之间功耗相关系数,得到模乘之间相关系数矩阵Cs
(2)式中,代表第i模乘与固定第s模乘中,第j个功耗点之间的相关系数,其中0≤i<n-1,0≤j<p,0≤s<n-1。即相关系数计算公式(3):
3)计算Cs每列向量的方差,vi代表矩阵Cs的每列的方差值,得到方差向量值Vs:
Vs=(v0,v1,v2,...,vp-2,vp-1) (4)
4)计算方差向量与向量均值的欧式距离,得到欧式距离向量:
Ds=(d0,d1,d2,...,dp-2,dp-1) (5)
5)采样k均值聚类方法,将方差欧式距离Ds进行聚类,聚类数目为δ,选择聚类中心点最大的簇的集合,作为功耗有效点选择集
输入:数据集Ds,聚类数目为δ。
输出:聚类中心点最大的簇的集合
A)初始化,随机指定δ个聚类中心点μ1、μ2、…、μg
B)距离值di计算到各聚类中心μj距离D(di,μj),j=1,…,δ,判断di与μj之间距离的函数D(di,μj)=min{D(di,wj),j=1,...,δ},则i值为di在数据集Ds中原编号。
C)重新计算各簇中心点,对每个簇计算djt为每个簇中的数据值,t为距离值在新簇中的新编号,Nj为第j个簇中变量的个数。
D)计算偏差
E)收敛判断,如果J值收敛,则转步骤F);否则转步骤B)。
F)对每个簇计算计算出μmax=max{μj,j=1,…,δ},则μmax聚类中心所属的簇为选择集
6)根据选取相关系数Cs中每行对应位置相加,相关系数和组成集合cofs=(σ0,σ1,...,σn-2),则
7)、采用类似第5步,k均值聚类方法,将cofs再次进行聚类,聚类数目为2,输出聚类中心点最大的簇的集合cofvalid,则簇中位置编号对应的模乘与固定模乘s的依赖关系强,即判断为与模乘s的操作数一致。
8)、返回步骤2,依次将n-1个模乘分成4类,每类可猜测为T[00]、T[01]、T[10]、T[11],重组编码出t和s 16种取值,然后推算出正确的幂指数d值。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于机器学习的RSA掩码防御算法的侧信道攻击方法,其特征在于,所述基于机器学习的RSA掩码防御算法的侧信道攻击方法利用滤波方法对功耗曲线进行滤波、对齐预处理;然后分析RSA掩码防护算法的幂指数功耗泄露点,截取泄漏点的模乘截取;采用模乘之间数据依赖性强的有效点,相关系数方差的欧氏距离存在差异,通过聚类方法进行分类,确定模乘有效点功耗点集,进行降噪;然后对有效点功耗相关系数和再次采用聚类分类方法,分析和猜测密钥值,实现基于机器学习的RSA掩码防御算法的侧信道攻击。
2.如权利要求1所述的基于机器学习的RSA掩码防御算法的侧信道攻击方法,其特征在于,所述的基于机器学习的RSA掩码防御算法的侧信道攻击方法具体包括:
步骤一,采集RSA双重掩码算法N条功耗曲线,进行滤波,对齐处理,并进行模乘截取;
步骤二,然后对截取的各模乘与某一个特定模乘根据泊松相关系数公式求各模乘相关系数;
步骤三,对每个模乘求的相关系数与某一定的模乘相关系数的方差,对方差求欧式距离;
步骤四,对欧式距离,采用机器学习聚类分析方法,进行聚类,分成多类;
步骤五,选择聚类中心点最大值分类作为各模乘相关系数选择位置,将各模乘对应选择位置相关系数相加,求和;
步骤六,对各模乘相关系数和,采用机器学习聚类分析方法,进行聚类,分成多类;
步骤七,每各模乘所属类对应猜测密钥值。
3.如权利要求2所述的基于机器学习的RSA掩码防御算法的侧信道攻击方法,其特征在于,所述步骤一具体包括:
首先输入相同幂底数和幂指数,采集RSA双重掩码算法智能卡密码芯片功耗,进行滤波、对齐,然后截取C=C*T[tisi](mod N)的功耗曲线,组成如下分块矩阵:
(1)式中,每个分块矩阵Mi,j代表第i条功耗曲线第j个模乘;n代表曲线中模乘的数量;r代表曲线条数;而每个分块矩阵Mi,j=[mi,j*p,mi,j*p+1,mi,j*p+2,...,mi,j*p+1-1],其中p代表每个模乘功耗的点数;矩阵Z中的列向量mj*p+k=[m0,j*p+k,mi,j*p+1,mi,j*p+2,...,mi,j*p+p-1],其中0≤j<n-1,0≤k<p。
4.如权利要求2所述的基于机器学习的RSA掩码防御算法的侧信道攻击方法,其特征在于,所述步骤二具体包括:
由矩阵Z,计算模乘与第s模乘之间功耗相关系数,得到模乘之间相关系数矩阵Cs
(2)式中,代表第i模乘与固定第s模乘中,第j个功耗点之间的相关系数,其中0≤i<n-1,0≤j<p,0≤s<n-1;即相关系数计算公式(3):
<mrow> <msubsup> <mi>c</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>s</mi> </msubsup> <mo>=</mo> <mi>&amp;rho;</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>m</mi> <mrow> <mi>s</mi> <mo>*</mo> <mi>p</mi> <mo>+</mo> <mi>j</mi> </mrow> </msub> <mo>,</mo> <msub> <mi>m</mi> <mrow> <mi>i</mi> <mo>*</mo> <mi>p</mi> <mo>+</mo> <mi>j</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>t</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>r</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <mrow> <msub> <mi>m</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>s</mi> <mo>*</mo> <mi>p</mi> <mo>+</mo> <mi>j</mi> </mrow> </msub> <msub> <mi>m</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>i</mi> <mo>*</mo> <mi>p</mi> <mo>+</mo> <mi>j</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mfrac> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>t</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>r</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <msub> <mi>m</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>s</mi> <mo>*</mo> <mi>p</mi> <mo>+</mo> <mi>j</mi> </mrow> </msub> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>t</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>r</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <msub> <mi>m</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>i</mi> <mo>*</mo> <mi>p</mi> <mo>+</mo> <mi>j</mi> </mrow> </msub> </mrow> <mi>r</mi> </mfrac> </mrow> <mrow> <msqrt> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>t</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>r</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <msubsup> <mi>m</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>s</mi> <mo>*</mo> <mi>p</mi> <mo>+</mo> <mi>j</mi> </mrow> <mn>2</mn> </msubsup> <mo>-</mo> <mfrac> <msup> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>t</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>r</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <msub> <mi>m</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>s</mi> <mo>*</mo> <mi>p</mi> <mo>+</mo> <mi>j</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mi>r</mi> </mfrac> </mrow> <mo>)</mo> </mrow> </msqrt> <msqrt> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>t</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>r</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <msubsup> <mi>m</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>i</mi> <mo>*</mo> <mi>p</mi> <mo>+</mo> <mi>j</mi> </mrow> <mn>2</mn> </msubsup> <mo>-</mo> <mfrac> <msup> <mrow> <mo>(</mo> <mrow> <msubsup> <mi>&amp;Sigma;</mi> <mrow> <mi>t</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>r</mi> <mo>-</mo> <mn>1</mn> </mrow> </msubsup> <msub> <mi>m</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>i</mi> <mo>*</mo> <mi>p</mi> <mo>+</mo> <mi>j</mi> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mi>r</mi> </mfrac> </mrow> <mo>)</mo> </mrow> </msqrt> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>
计算Cs每列向量的方差,vi代表矩阵Cs的每列的方差值,得到方差向量值V3:
Vs=(v0,v1,v2,...,vp-2,vp-1) (4)。
5.如权利要求2所述的基于机器学习的RSA掩码防御算法的侧信道攻击方法,其特征在于,所述步骤三具体包括:
计算方差向量与向量均值的欧式距离,得到欧式距离向量:
Ds=(d0,d1,d2,...,dp-2,dp-1) (5)。
6.如权利要求2所述的基于机器学习的RSA掩码防御算法的侧信道攻击方法,其特征在于,所述步骤四中,采样k均值聚类方法,将方差欧式距离Ds进行聚类,聚类数目为δ,选择聚类中心点最大的簇的集合,作为功耗有效点选择集具体包括:
输入:数据集Ds,聚类数目为δ;
输出:聚类中心点最大的簇的集合
A)初始化,随机指定δ个聚类中心点μ1、μ2、…、μδ
B)距离值di计算到各聚类中心μj距离D(di,μj),j=1,…,δ,判断di与μj之间距离的函数D(di,μj)=min{D(di,wj),j=1,...,δ},则i值为di在数据集Ds中原编号;
C)重新计算各簇中心点,对每个簇计算djt为每个簇中的数据值,t为距离值在新簇中的新编号,Nj为第j个簇中变量的个数;
D)计算偏差
E)收敛判断,如果J值收敛,则转步骤F);否则转步骤B);
F)对每个簇计算计算出μmax=max{μj,j=1,…,δ},则μmax聚类中心所属的簇为选择集
7.如权利要求2所述的基于机器学习的RSA掩码防御算法的侧信道攻击方法,其特征在于,所述步骤五中根据选取相关系数Cs中每行对应位置相加,相关系数和组成集合cofs=(σ0,σ1,...,σn-2),则
8.如权利要求2所述的基于机器学习的RSA掩码防御算法的侧信道攻击方法,其特征在于,所述步骤六中采用类似步骤四,k均值聚类方法,将cofs再次进行聚类,聚类数目为2,输出聚类中心点最大的簇的集合cofvalid,则簇中位置编号对应的模乘与固定模乘s的依赖关系强,即判断为与模乘s的操作数一致。
9.如权利要求2所述的基于机器学习的RSA掩码防御算法的侧信道攻击方法,其特征在于,所述步骤七包括:返回步骤二,依次将n-1个模乘分成4类,每类猜测为T[00]、T[01]、T[10]、T[11],重组编码出t和s的16种取值,然后推算出正确的幂指数d值。
10.一种如权利要求1所述基于机器学习的RSA掩码防御算法的侧信道攻击方法的基于机器学习的RSA掩码防御算法的侧信道攻击系统。
CN201710951181.XA 2017-10-13 2017-10-13 基于机器学习的rsa掩码防御算法的侧信道攻击方法 Active CN107508678B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710951181.XA CN107508678B (zh) 2017-10-13 2017-10-13 基于机器学习的rsa掩码防御算法的侧信道攻击方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710951181.XA CN107508678B (zh) 2017-10-13 2017-10-13 基于机器学习的rsa掩码防御算法的侧信道攻击方法

Publications (2)

Publication Number Publication Date
CN107508678A true CN107508678A (zh) 2017-12-22
CN107508678B CN107508678B (zh) 2020-08-04

Family

ID=60701630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710951181.XA Active CN107508678B (zh) 2017-10-13 2017-10-13 基于机器学习的rsa掩码防御算法的侧信道攻击方法

Country Status (1)

Country Link
CN (1) CN107508678B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418675A (zh) * 2018-06-15 2018-08-17 上海观源信息科技有限公司 用于旁路攻击的优化曲线对齐方法
CN108847923A (zh) * 2018-06-27 2018-11-20 上海交通大学 基于低通滤波的旁路攻击曲线预处理方法
CN109347613A (zh) * 2018-09-18 2019-02-15 上海观源信息科技有限公司 用于旁路攻击的gpu加速方法
CN109993195A (zh) * 2017-12-31 2019-07-09 国民技术股份有限公司 一种侧信息处理方法及装置、终端及计算机可读存储介质
CN109995502A (zh) * 2017-12-31 2019-07-09 国民技术股份有限公司 一种侧信道分析方法及装置、终端及计算机可读存储介质
CN111082921A (zh) * 2019-12-30 2020-04-28 北京智慧云测科技有限公司 密码芯片通过一阶泄露模型改进二阶功耗分析的方法
CN111565189A (zh) * 2020-04-30 2020-08-21 衡阳师范学院 基于深度学习的侧信道分析方法
CN112564884A (zh) * 2020-11-25 2021-03-26 重庆邮电大学 一种针对密码算法的混合去噪功耗分析方法及终端
CN112564885A (zh) * 2020-11-26 2021-03-26 南京农业大学 基于掩码变量最大概率密度函数分布的侧信道攻击方法
CN113051628A (zh) * 2021-03-22 2021-06-29 北京计算机技术及应用研究所 基于残差学习的芯片侧信道攻击降噪预处理方法
CN115021892A (zh) * 2022-07-22 2022-09-06 紫光同芯微电子有限公司 一种侧信道冗余数据移除方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4243334A1 (en) * 2022-03-11 2023-09-13 Thales Dis France SAS A method for protecting modular exponential algorithms against deep-learning side-channel attack (dl-sca)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103138917A (zh) * 2013-01-25 2013-06-05 国家密码管理局商用密码检测中心 以s盒输入为基础的汉明距离模型在sm4密码算法侧信道能量分析的应用
CN103532973A (zh) * 2013-10-25 2014-01-22 东南大学 面向des算法电路的差分功耗攻击测试方法
CN103530474A (zh) * 2013-10-25 2014-01-22 东南大学 面向aes算法电路的差分功耗攻击测试方法
CN104202145A (zh) * 2014-09-04 2014-12-10 成都信息工程学院 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法
US20150033338A1 (en) * 2013-07-26 2015-01-29 Michael Neve de Mevergnies Hardening data transmissions against power side channel analysis
CN104811297A (zh) * 2015-04-23 2015-07-29 成都信息工程学院 针对RSA之M-ary实现模乘余数输入侧信道攻击
US20160127124A1 (en) * 2014-11-05 2016-05-05 Georgia Tech Research Corporation Systems and methods for measuring side-channel signals for instruction-level events
US20160140340A1 (en) * 2014-11-19 2016-05-19 The Mitre Corporation Side-channel leakage evaluator and analysis kit
CN106452789A (zh) * 2016-11-02 2017-02-22 北京宏思电子技术有限责任公司 一种多方位防侧信道攻击的签名方法
CN106709509A (zh) * 2016-11-30 2017-05-24 哈尔滨工业大学 一种基于时间序列特殊点的卫星遥测数据聚类方法
CN106936561A (zh) * 2015-12-29 2017-07-07 航天信息股份有限公司 一种侧信道攻击防护能力评估方法和系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103138917A (zh) * 2013-01-25 2013-06-05 国家密码管理局商用密码检测中心 以s盒输入为基础的汉明距离模型在sm4密码算法侧信道能量分析的应用
US20150033338A1 (en) * 2013-07-26 2015-01-29 Michael Neve de Mevergnies Hardening data transmissions against power side channel analysis
CN103532973A (zh) * 2013-10-25 2014-01-22 东南大学 面向des算法电路的差分功耗攻击测试方法
CN103530474A (zh) * 2013-10-25 2014-01-22 东南大学 面向aes算法电路的差分功耗攻击测试方法
CN104202145A (zh) * 2014-09-04 2014-12-10 成都信息工程学院 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法
US20160127124A1 (en) * 2014-11-05 2016-05-05 Georgia Tech Research Corporation Systems and methods for measuring side-channel signals for instruction-level events
US20160140340A1 (en) * 2014-11-19 2016-05-19 The Mitre Corporation Side-channel leakage evaluator and analysis kit
CN104811297A (zh) * 2015-04-23 2015-07-29 成都信息工程学院 针对RSA之M-ary实现模乘余数输入侧信道攻击
CN106936561A (zh) * 2015-12-29 2017-07-07 航天信息股份有限公司 一种侧信道攻击防护能力评估方法和系统
CN106452789A (zh) * 2016-11-02 2017-02-22 北京宏思电子技术有限责任公司 一种多方位防侧信道攻击的签名方法
CN106709509A (zh) * 2016-11-30 2017-05-24 哈尔滨工业大学 一种基于时间序列特殊点的卫星遥测数据聚类方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
ANDREY BOGDANOV,ILYA KIZHVATOV: "Beyond the Limits of DPA: Combined Side-Channel Collision Attacks", 《IEEE TRANSACTIONS ON COMPUTERS》 *
WEIWEI SHAN ; SHUAI ZHANG ; YUKUN HE: "Machine learning based side-channel-attack countermeasure with hamming-distance redistribution and its application on advanced encryption standard", 《ELECTRONICS LETTERS》 *
WUNAN WAN ; WEI YANG ; JUN CHEN: "An optimized cross correlation power attack of message blinding exponentiation algorithms", 《CHINA COMMUNICATIONS》 *
万武南,陈 俊: "针对双重掩码模幂算法的二阶互相关功耗分析攻击", 《成都信息工程大学学报》 *
李子木: "一种改进的 CRT-RSA 防御侧信道攻击算法", 《无线电通信技术》 *
蔡琛,陈运,万武南,陈 俊: "基于主成分分析的 AES 算法相关功耗分析攻击", 《网络与信息安全》 *
陈艾东: "模幂算法功耗分析攻击的研究", 《中国博士学位论文全文数据库》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109993195A (zh) * 2017-12-31 2019-07-09 国民技术股份有限公司 一种侧信息处理方法及装置、终端及计算机可读存储介质
CN109995502A (zh) * 2017-12-31 2019-07-09 国民技术股份有限公司 一种侧信道分析方法及装置、终端及计算机可读存储介质
CN109993195B (zh) * 2017-12-31 2024-04-12 国民技术股份有限公司 一种侧信息处理方法及装置、终端及计算机可读存储介质
CN108418675B (zh) * 2018-06-15 2021-05-11 上海观源信息科技有限公司 用于旁路攻击的优化曲线对齐方法
CN108418675A (zh) * 2018-06-15 2018-08-17 上海观源信息科技有限公司 用于旁路攻击的优化曲线对齐方法
CN108847923A (zh) * 2018-06-27 2018-11-20 上海交通大学 基于低通滤波的旁路攻击曲线预处理方法
CN109347613A (zh) * 2018-09-18 2019-02-15 上海观源信息科技有限公司 用于旁路攻击的gpu加速方法
CN109347613B (zh) * 2018-09-18 2023-08-01 上海观源信息科技有限公司 用于旁路攻击的gpu加速方法
CN111082921B (zh) * 2019-12-30 2023-06-02 北京智慧云测科技有限公司 密码芯片通过一阶泄露模型改进二阶功耗分析的方法
CN111082921A (zh) * 2019-12-30 2020-04-28 北京智慧云测科技有限公司 密码芯片通过一阶泄露模型改进二阶功耗分析的方法
CN111565189B (zh) * 2020-04-30 2022-06-14 衡阳师范学院 基于深度学习的侧信道分析方法
CN111565189A (zh) * 2020-04-30 2020-08-21 衡阳师范学院 基于深度学习的侧信道分析方法
CN112564884B (zh) * 2020-11-25 2022-08-30 重庆邮电大学 一种针对密码算法的混合去噪功耗分析方法及终端
CN112564884A (zh) * 2020-11-25 2021-03-26 重庆邮电大学 一种针对密码算法的混合去噪功耗分析方法及终端
CN112564885A (zh) * 2020-11-26 2021-03-26 南京农业大学 基于掩码变量最大概率密度函数分布的侧信道攻击方法
CN112564885B (zh) * 2020-11-26 2022-07-12 南京农业大学 基于掩码变量最大概率密度函数分布的侧信道测试分析方法
CN113051628A (zh) * 2021-03-22 2021-06-29 北京计算机技术及应用研究所 基于残差学习的芯片侧信道攻击降噪预处理方法
CN113051628B (zh) * 2021-03-22 2023-11-03 北京计算机技术及应用研究所 基于残差学习的芯片侧信道攻击降噪预处理方法
CN115021892A (zh) * 2022-07-22 2022-09-06 紫光同芯微电子有限公司 一种侧信道冗余数据移除方法及装置
CN115021892B (zh) * 2022-07-22 2024-09-27 紫光同芯微电子有限公司 一种侧信道冗余数据移除方法及装置

Also Published As

Publication number Publication date
CN107508678B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN107508678A (zh) 基于机器学习的rsa掩码防御算法的侧信道攻击方法
Zhang et al. Data perturbation with state-dependent noise for participatory sensing
Nagaraja The impact of unlinkability on adversarial community detection: Effects and countermeasures
CN108604981B (zh) 用于估计秘密值的方法和设备
CN107871087A (zh) 分布式环境下高维数据发布的个性化差分隐私保护方法
CN104868990B (zh) 一种针对sm4密码算法轮输出的模板攻击方法
CN109417466B (zh) 机密密钥估算方法与装置
Dabosville et al. A new second-order side channel attack based on linear regression
CN110460425A (zh) 一种面向侧信道密码能量泄漏信号的攻击方法及系统
CN104836666A (zh) 一种针对sm2解密算法的能量分析攻击的方法
CN105635135A (zh) 一种基于属性集及关系谓词的加密系统及访问控制方法
CN112260818A (zh) 侧信道曲线的增强方法、侧信道攻击方法及装置
CN111934852A (zh) 一种基于神经网络的aes密码芯片电磁攻击方法及系统
CN104796250A (zh) 针对RSA密码算法M-ary实现的侧信道攻击方法
Wang et al. Feature mining for encrypted malicious traffic detection with deep learning and other machine learning algorithms
CN111817842A (zh) 一种针对rsa-crt运算的能量分析攻击测试装置和方法
CN104811297B (zh) 针对RSA之M-ary实现模乘余数输入侧信道攻击
Taouil et al. Power side channel attacks: Where are we standing?
Zahid et al. Biometric authentication security system using human DNA
Wang et al. Single-Trace Side-Channel Attacks on CRYSTALS-Dilithium: Myth or Reality?
CN105897401B (zh) 基于比特的通用差分功耗分析方法及系统
Zhang On the exact relationship between the success rate of template attack and different parameters
Saeedi et al. Side-channel information characterisation based on cascade-forward back-propagation neural network
Zhang et al. Template attack vs. stochastic model: An empirical study on the performances of profiling attacks in real scenarios
Ming et al. Revealing the weakness of addition chain based masked SBox implementations

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