1.一种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值取值
16 16
为2 +1或者2 ‑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的值
CRT‑RSA算法存在dp≡(mod p‑1),edp‑1=k(p‑1), dp<p‑1,得:通过公式可知,步骤八可已知dp,而RSA公钥参数e为公开参数,而k值小于公钥参数e值,通过穷举k值,计算出私钥参数p值,然后计算出私钥参数q值,即:q=N/p;
步骤十、恢复私钥d值。
2.如权利要求1所述的CRT‑RSA选择明文联合攻击方法,其特征在于,步骤三,功耗曲线截取重组预处理中,具体包括:
1)首先提取 模幂功耗特征,由x1个模乘运构成,每个模乘则假设由l1个功耗点组成;第k组明文M和N‑M,r条功耗曲线,提取的模乘功耗特征矩阵:其中1≤k≤n,r为每个明文采集功耗曲线条数, 表示输入明文M的第i条曲线的第j个模乘的功耗,
下式子所示;
表示输入明文N‑M的第i条曲线的第j个模乘的功耗,下式子所示;
2)提取 模幂运算模乘与模乘之间的功耗特征矩阵
3.如权利要求1所述的CRT‑RSA选择明文联合攻击方法,其特征在于,步骤四,明文对模乘 功耗差值二次处理中,对步骤二模乘矩阵 和的差值二次处理,1≤k≤n,二次处理方法选择:差值构造的梯形求面积、差值求和、差值求方差、差值与某一特定模乘差值求欧式距离;
具体包括: 的行向量相加和 矩阵的行向量相加,然后对和做差分;
对差分的每个模乘功耗值进行二次处理,生成新的分类数据集S;
二处处理方法为:差值构造的梯形求面积、差值求和、差值求方差、差值与某一特定模乘差值求欧式距离;
步骤五具体包括:
对步骤四中数据集S进行分类处理,分类数目为2,一类为碰撞模乘,一类为非碰撞模乘;分类方法采用阈值分类或聚类分类,分类簇集Y为yi=1表示模乘功耗碰撞,yi=2表示模乘功耗非碰撞;
步骤六存取数功耗分类处理中,对步骤三中数据集 进行分类,分类数目为2,一类为存取功耗,一类为字节分段功耗。
4.如权利要求1所述的CRT‑RSA选择明文联合攻击方法,其特征在于,步骤九计算p和q的值中,根据步骤八获得的dp,知k∈[1,e),穷举k值,得到p值,若p值为模数N的因子,则恢复出p,求解q=N/p;
步骤十,恢复私钥d值中,对步骤九获得的p,q,已知e,N,然后根据RSA私钥计算公式恢复私钥d。
5.一种终端,其特征在于,所述终端至少搭载实现权利要求1~4任意一项所述CRT‑RSA选择明文联合攻击方法的控制器。
6.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1‑4任意一项所述的CRT‑RSA选择明文联合攻击方法。
7.一种实现如权利要求1所述的CRT‑RSA选择明文联合攻击方法的CRT‑RSA选择明文联合攻击系统,其特征在于,所述CRT‑RSA选择明文联合攻击系统包括:特定明文对计算模块,用于计算n组特定明文对(M,M′),根据CRT‑RSA公钥参数(e,N),
16 16
已知公钥N为1024比特或者2048比特,公钥参数e值取值为2 +1或者2 ‑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条功耗曲线;
功耗曲线截取重组预处理模块,对采集的n组明文对(M,M′),总共2*n*r功耗曲线进行滤波,对齐处理,并进行模乘,以及模乘与模乘之间功耗进行截取出来,构造新的模乘功耗曲线矩阵;
明文对模乘功耗差值二次处理模块,明文对模乘 功耗差值二次处理;
模乘功耗分类处理模块,用于采用阈值分类或聚类分类,分类簇集Y为yi=1表示模乘功耗碰撞,yi=2表示模乘功耗非碰撞;
存取数功耗分类处理模块,用于采用阈值分类,聚类分类;分类簇集G为gi=1表示存取功耗,gi=2表示字节分段功耗;
幂指数字节汉明重量计算模块,利用分类簇集G,统计每字节幂指数产生的模乘个数,即幂指数每字节汉明重量:
HW=[hw1,hw2,…,hwv‑1,hwv];
分段幂指数攻击推断模块,根据分类簇集Y,汉明重量矩阵HW,根据每字节的汉明重量,以及模乘分类Y,采用碰撞攻击幂指数攻击算法,恢复出dp;
计算p和q的值模块,用于对CRT‑RSA算法存在dp≡d(mod p‑1),edp‑1=k(p‑1), dp<p‑1,得:
恢复私钥d值模块,用于对获得的p,q,已知e,N,然后根据RSA私钥计算公式恢复私钥d。
8.一种CRT‑RSA选择明文联合攻击平台,其特征在于,所述CRT‑RSA选择明文联合攻击平台至少搭载权利要求7所述的CRT‑RSA选择明文联合攻击系统。