一种CRT-RSA选择明文联合攻击新方法及系统技术方案

技术编号:19486284 阅读:18 留言:0更新日期:2018-11-17 11:26
本发明专利技术属于信息安全领域,公开了一种CRT‑RSA选择明文联合攻击新方法及系统,攻击过程中以CRT‑RSA算法的dp和dq为攻击目标,再推导私钥参数p,q;明文碰撞攻击过程中,选择多组明文对,进行叠加出来,并对模乘功耗差值做二次处理作为碰撞分类集;攻击过程中,结合CRT‑RSA模幂运算过程中存取数功耗幂指数汉明重量信息泄露,进行模乘功耗分段,实施分段选择明文碰撞攻击。本发明专利技术结合CRT‑RSA模幂运算过程中其他信息泄露(如存取数功耗幂指数汉明重量信息泄露)问题,进行模乘功耗分段,实施分段选择明文碰撞攻击,可以避免局部碰撞攻击出错,从而提高攻击准确率,最终推导私钥参数p,q,恢复私钥d值。

【技术实现步骤摘要】
一种CRT-RSA选择明文联合攻击新方法及系统
本专利技术属于信息安全领域,尤其涉及一种CRT-RSA选择明文联合攻击新方法及系统。
技术介绍
目前,业内常用的现有技术是这样的:大多数智能卡使用RSA密码算法实现数字签名认证功能,但RSA加密速度最快的情况也比DES慢100倍,无论软件还是硬件实现,速度一直是RSA的缺陷。自1982年,两位比利时学者(Quisquate&Couvreur)基于中国剩余定理(ChineseRemainderTheoremCRT)提出了一种RSA的变型算法,通过CRT的引入,可以用来减小求模的运算量,缩小算法所需存储表的空间,同时还减小了算法中乘法的运算执行速度,因此CRT-RSA被广泛应用于智能卡和嵌入式设备。在标准RSA密码算法中,RSA模数N是两个大素数p和q的乘积,N=pq,通常p和q的比特位要求相等,一般为512比特或者1024比特,且满足公钥指数e和d满足:其中为N的欧拉函数,即CRT-RSA密码体制是RSA的一个变形,即解密时解密指数d用私钥CRT指数dp和dq代替,需要预先计算dp、dq和qivn,如算法1。算法中第3步引入中国剩余定理的操作,虽然CRT-RSA需要两次模幂操作,但参与指数运算的dp和dq是传统非CRT-RSA算法中私钥d的长度的一半,并且两模乘可以并行运算,所以CRT-RSA大约比普通RSA的快4倍。自从差分功耗分析(DifferentialPowerAnalysis,DPA)攻击技术的问世,引起人们对侧信道攻击(SideChannelAttack,SCA)技术的极大关注。研究者提出了针对RSA-CRT算法的侧信道攻击方法。而选择明文侧信道攻击一直是RSA算法常用的侧信道攻击方法,通过选定特定的明文对,通过功耗差分值寻找碰撞,而获取幂指数。综上所述,现有技术存在的问题是:(1)目前针对CRT-RSA算法的侧信道攻击方法,集中在直接对素数p,q相关功耗信息泄露进行攻击,已经有针对这些侧信道攻击方法相应的防御方法,因此目前根据信息泄露直接攻击对素数p,q是无法有效攻击。另外选择明文侧信道攻击中,采用明文对功耗之间差分作为碰撞分类数据集,进行分类。但是在真实环境下,由于噪声和对齐等干扰,没法有效选寻找功耗碰撞问题,从而影响攻击效率。虽然采用机器学习方法可以一定程度提高分类结果,但是碰撞分类关键是分类数据集的选取,是进行高效分类的基础。并从查阅文献来看,目前没有针对CRT-RSA通过间接攻击密钥参数dp和dq,再推导出素数p,q的侧信道攻击方法,并且也没有多点信息泄露相结合,以明文对功耗差值的二次处理作为分类数据集的选择明文侧信道攻击方法。基于以上问题考虑,本专利技术提出一种CRT-RSA选择明文联合攻击方法。解决上述技术问题的难度和意义:(1)针对CRT-RSA密码算法,本专利技术创新提出以CRT-RSA算法的dp和dq为攻击目标的选择明文碰撞攻击,并对模乘功耗差值做二次处理作为碰撞分类集,而不是直接使用差值作为碰撞分类集,降低噪声影响,提高模乘碰撞分类的准确性;(2)结合CRT-RSA模幂运算过程中其他信息泄露(如存取数功耗幂指数汉明重量信息泄露)问题,进行模乘功耗分段,实施分段选择明文碰撞攻击,可以避免局部碰撞攻击出错,从而提高攻击准确率。(3)本专利技术提出的联合攻击方案,只需要6组明文对M和N-M独立运行的CRT-RSA密码系统,取得12条功耗波形数据下,获得准确的1024比特密钥信息。在实现简单的基础上,攻击效应远远高于现有其他方案。(4)从原理分析不难看出,本专利技术提出的攻击方案,不仅仅试用于基于蒙哥马利二元模幂算法的CRT-RSA系统,也试用于目前大部分二元模幂算法的RSA系统。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种CRT-RSA选择明文联合攻击新方法及系统。本专利技术是这样实现的,一种CRT-RSA选择明文联合攻击新方法,包括:攻击过程中以CRT-RSA算法的dp和dq为攻击目标,再推导私钥参数p,q;明文碰撞攻击过程中,选择多组明文对,进行叠加出来,并对模乘功耗差值做二次处理作为碰撞分类集;攻击过程中,结合CRT-RSA模幂运算过程中存取数功耗幂指数汉明重量信息泄露,进行模乘功耗分段,实施分段选择明文碰撞攻击。进一步,所述CRT-RSA选择明文联合攻击新方法具体包括:步骤一,计算n组特定明文对(M,M′):根据CRT-RSA公钥参数(e,N),已知公钥N为1024比特或者2048比特,公钥参数e值取值为216+1或者216-1;随机生成n条1024比特或者2048比特的明文Mi且满足M′i<N,然后计算M′i=N-Mi,其中1≤i≤n;步骤二,功耗采集:CRT-RSA算法e,p,q,dp,dq,qinv,N,密钥参数不变,输入每条明文,采集r条功耗曲线,采集2nr条功耗曲线,其中e和N是RSA算法公钥参数,p,q,dp,dq,qinv,为CRT-RSA的私钥参数;p和q是512比特或者1024比特大素数;步骤三,功耗曲线截取重组预处理:对采集的n组明文对(M,M′),总共2*n*r功耗曲线进行滤波,对齐处理,并进行模乘,以及模乘与模乘之间功耗进行截取出来,构造新的模乘功耗曲线矩阵;步骤四,明文对模乘功耗差值二次处理;步骤五,模乘功耗分类处理:分类方法采用阈值分类或聚类分类,分类簇集Y为yi=1表示模乘功耗碰撞,yi=2表示模乘功耗非碰撞;步骤六,存取数功耗分类处理:分类方法采用阈值分类,聚类分类。分类簇集G为gi=1表示存取功耗,gi=2表示字节分段功耗;步骤七,幂指数字节汉明重量计算:利用步骤六的分类簇集G,统计每字节幂指数产生的模乘个数,即幂指数每字节汉明重量:步骤八,分段幂指数攻击,推断dp:根据步骤五的分类簇集Y,步骤七汉明重量矩阵HW,根据每字节的汉明重量,以及模乘分类Y,采用碰撞攻击幂指数攻击算法,恢复出dp;步骤九,计算p和q的值RSA-CRT算法存在dp≡d(modp-1),edp-1=k(p-1),dp<p-1,得:通过公式可知,步骤八可已知dp,而RSA公钥参数e为公开参数,而k值小于公钥参数e值,通过穷举k值,计算出私钥参数p值,然后计算出私钥参数q值,即:q=N/p;步骤十、恢复私钥d值。进一步,步骤三,功耗曲线截取重组预处理中,具体包括:1)首先提取模幂功耗特征,由x1个模乘运构成,每个模乘则假设由l1个功耗点组成;第k组明文M和N-M,r条功耗曲线,提取的模乘功耗特征矩阵:其中1≤k≤n,r为每个明文采集功耗曲线条数,表示输入明文M的第i条曲线的第j个模乘的功耗,下式子所示;表示输入明文N-M的第i条曲线的第j个模乘的功耗,下式子所示;2)提取模幂运算模乘与模乘之间的功耗特征矩阵进一步,步骤四,明文对模乘功耗差值二次处理中,对步骤二模乘矩阵和的差值二次处理,1≤k≤n,二次处理方法选择:差值构造的梯形求面积、差值求和、差值求方差、差值与某一特定模乘差值求欧式距离;具体包括:的行向量相加和矩阵的行向量相加,然后对和做差分;对差分的每个模乘功耗值进行二次处理,生成新的分类数据集s;二处处理方法为:差值构造的梯形求面积、差值求和、差值求方差、差值与某一特定模乘差值求欧式距离;步骤五具体包括:本文档来自技高网
...

【技术保护点】
1.一种CRT‑RSA选择明文联合攻击新方法,其特征在于,所述CRT‑RSA选择明文联合攻击新方法包括:攻击过程中以CRT‑RSA算法的dp和dq为攻击目标,再推导私钥参数p,q;明文碰撞攻击过程中,选择多组明文对,进行叠加出来,并对模乘功耗差值做二次处理作为碰撞分类集;攻击过程中,结合CRT‑RSA模幂运算过程中存取数功耗幂指数汉明重量信息泄露,进行模乘功耗分段,实施分段选择明文碰撞攻击。

【技术特征摘要】
1.一种CRT-RSA选择明文联合攻击新方法,其特征在于,所述CRT-RSA选择明文联合攻击新方法包括:攻击过程中以CRT-RSA算法的dp和dq为攻击目标,再推导私钥参数p,q;明文碰撞攻击过程中,选择多组明文对,进行叠加出来,并对模乘功耗差值做二次处理作为碰撞分类集;攻击过程中,结合CRT-RSA模幂运算过程中存取数功耗幂指数汉明重量信息泄露,进行模乘功耗分段,实施分段选择明文碰撞攻击。2.如权利要求1所述的CRT-RSA选择明文联合攻击新方法,其特征在于,所述CRT-RSA选择明文联合攻击新方法具体包括:步骤一,计算n组特定明文对(M,M′):根据CRT-RSA公钥参数(e,N),已知公钥N为1024比特或者2048比特,公钥参数e值取值为216+1或者216-1;随机生成n条1024比特或者2048比特的明文Mi且满足M′i<N,然后计算M′i=N-Mi,其中1≤i≤n;步骤二,功耗采集:CRT-RSA算法e,p,q,dp,dq,qinv,N,密钥参数不变,输入每条明文,采集r条功耗曲线,采集2nr条功耗曲线,其中e和N是RSA算法公钥参数,p,q,dp,dq,qinv,为CRT-RSA的私钥参数;p和q是512比特或者1024比特大素数;步骤三,功耗曲线截取重组预处理:对采集的n组明文对(M,M′),总共2*n*r功耗曲线进行滤波,对齐处理,并进行模乘,以及模乘与模乘之间功耗进行截取出来,构造新的模乘功耗曲线矩阵;步骤四,明文对模乘功耗差值二次处理;步骤五,模乘功耗分类处理:分类方法采用阈值分类或聚类分类,分类簇集Y为yi=1表示模乘功耗碰撞,yi=2表示模乘功耗非碰撞;步骤六,存取数功耗分类处理:分类方法采用阈值分类,聚类分类。分类簇集G为gi=1表示存取功耗,gi=2表示字节分段功耗;步骤七,幂指数字节汉明重量计算:利用步骤六的分类簇集G,统计每字节幂指数产生的模乘个数,即幂指数每字节汉明重量:HW=[hw1,hw2,…,hwv-1,hwv];步骤八,分段幂指数攻击,推断dp:根据步骤五的分类簇集Y,步骤七汉明重量矩阵HW,根据每字节的汉明重量,以及模乘分类Y,采用碰撞攻击幂指数攻击算法,恢复出dp;步骤九,计算p和q的值RSA-CRT算法存在dp≡d(modp-1),edp-1=k(p-1),dp<p-1,得:通过公式可知,步骤八可已知dp,而RSA公钥参数e为公开参数,而k值小于公钥参数e值,通过穷举k值,计算出私钥参数p值,然后计算出私钥参数q值,即:q=N/p;步骤十、恢复私钥d值。3.如权利要求2所述的CRT-RSA选择明文联合攻击新方法,其特征在于,步骤三,功耗曲线截取重组预处理中,具体包括:1)首先提取模幂功耗特征,由x1个模乘运构成,每个模乘则假设由l1个功耗点组成;第k组明文M和N-M,r条功耗曲线,提取的模乘功耗特征矩阵:其中1≤k≤n,r为每个明文采集功耗曲线条数,表示输入明文M的第i条曲线的第j个模乘的功耗,下式子所示;表示输入明文N-M的第i条曲线的第j个模乘的功耗,下式子所示;2)提取模幂运算模乘与模乘之间的功耗特征矩阵4.如权利要求2所述的CRT-RSA选择明文联合攻击新方法,其特征在于,步骤四,明文对模乘功耗差值二次处理中,对步骤二模乘矩阵和的差值二次处理,1≤k≤n,二次处理方法选择:差值构造的梯形求面积、差值求和、差值求方差、差值与某一特定模乘差值求欧式距...

【专利技术属性】
技术研发人员:万武南陈俊
申请(专利权)人:成都信息工程大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1