CN108111309A - Rsa私钥掩码运算方法、协处理器及rsa运算装置 - Google Patents
Rsa私钥掩码运算方法、协处理器及rsa运算装置 Download PDFInfo
- Publication number
- CN108111309A CN108111309A CN201810170661.7A CN201810170661A CN108111309A CN 108111309 A CN108111309 A CN 108111309A CN 201810170661 A CN201810170661 A CN 201810170661A CN 108111309 A CN108111309 A CN 108111309A
- Authority
- CN
- China
- Prior art keywords
- modn
- mould
- calculates
- rsa
- coprocessor
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public 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/302—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种RSA私钥掩码运算方法、协处理器及RSA运算装置,其中的控制器在接收到主处理器发送的启动运算指令时,获取待解密内容m、随机数r、公钥e、私钥d以及RSA算法的取模参数n,以及将所述解密内容发送给所述主处理器;模加器计算e‑1,以及,计算d‑1;模幂器基于所述e‑1计算re‑1modn,基于所述mremodn和所述d‑1计算模乘器基于所述re‑ 1modn计算mre‑1modn,基于所述mre‑1modn和r计算mre‑1·rmodn,得到mremodn,以及,基于所述和所述mre‑1modn计算得到mdmodn,将所述mdmodn的解密内容发送给所述控制器,达到降低掩底代价、在抵抗侧信道攻击和故障攻击等方面具有较强的安全性的技术效果。
Description
技术领域
本发明涉及电子技术领域,尤其是涉及一种RSA私钥掩码运算方法、协处理器及RSA运算装置。
背景技术
RSA算法作为最有影响力的公钥密码算法,广泛应用于移动通信、网络传输、电子商务等领域。其中RSA私钥运算使用最为频繁,未经防护的RSA运算可能会受到SPA(简单能量分析)、DPA(差分能量分析)、CPA(相关性能量分析)等攻击。
目前常用的防护手段有掩码(包括掩底、掩指和掩模等)、均衡模乘和模平方等。常用的掩码方法需要一对互逆的随机数,这就需要处理器进行模逆运算,而模逆运算需要消耗大量的时间和资源。
发明内容
有鉴于此,本发明的目的在于提供一种RSA私钥掩码运算方法、协处理器及RSA运算装置,以缓解现有技术中RSA掩码方法中存在的模逆运算需要消耗大量的时间和资源的技术问题。
第一方面,本发明实施例提供了一种用于RSA私钥掩码运算的协处理器,包括:控制器、模幂器、模乘器和模加器;
所述控制器,用于在接收到主处理器发送的启动运算指令时,获取待解密内容m、随机数r、公钥e、私钥d以及RSA算法的模数n,以及将所述解密内容发送给所述主处理器;
所述模加器,用于计算e-1,以及,计算d-1;
所述模幂器,用于基于所述e-1计算re-1modn,基于所述mremodn和所述d-1计算(mre)d-1modn;
所述模乘器,用于基于所述re-1modn和m计算mre-1modn,基于所述mre-1modn和r计算mre-1·rmodn,得到mremodn,以及,基于所述(mre)d-1modn和所述mre-1modn计算(mre)d-1·mre -1modn,得到解密内容mdmodn,将所述解密内容mdmodn发送给所述控制器。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述模幂器基于所述mremodn和所述d-1,通过蒙哥马利阶梯算法计算(mre)d-1modn。
第二方面,本发明实施例提供了一种用于RSA私钥掩码运算的协处理器,包括:控制器、模幂器、模乘器和模加器;
所述控制器,用于在接收到主处理器发送的启动运算指令时,获取待解密内容m的模p值mp、随机数r、公钥ep、私钥dp以及素数p,其中p为RSA算法大素数对中的任一个,mp=mmodp, 以及将所述解密内容发送给所述主处理器;
所述模加器,用于计算ep-1,以及,计算dp-1;
所述模幂器,用于基于所述ep-1计算modp,基于所述modp和所述dp-1计算modp;
所述模乘器,用于基于所述modp和mp计算modp,基于所述modp和r计算得到modp,以及,基于所述modp和所述modp计算得到modp,将解密内容的模p值modp发送给所述控制器。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述模幂器基于所述modp和所述dp-1,通过蒙哥马利阶梯算法计算modp。
第三方面,本发明实施例提供了一种RSA运算装置,包括:主处理器和如第一方面任一所述的用于RSA私钥掩码运算的协处理器;
所述主处理器,用于通过AHB总线向所述协处理器发送启动运算指令,并接收所述解密内容。
第四方面,本发明实施例提供了一种RSA运算装置,包括:主处理器和如第二方面任一所述的用于RSA私钥掩码运算的协处理器;
所述主处理器,用于通过AHB总线向所述协处理器发送启动运算指令,并接收所述解密内容。
第五方面,本发明实施例提供了一种RSA私钥掩码运算方法,应用于用于RSA私钥掩码运算的协处理器中的控制器,所述协处理器还包括:模幂器、模乘器和模加器,所述方法包括:
在接收到主处理器发送的启动运算指令时,获取待解密内容m、随机数r、公钥e、私钥d以及RSA算法的取模参数n;
控制所述模加器计算e-1;
控制所述模幂器基于所述e-1计算re-1modn;
控制所述模乘器基于所述re-1modn和m计算mre-1modn;
控制所述模乘器基于所述mre-1modn和r计算mre-1·rmodn,得到mremodn;
控制所述模加器计算d-1;
控制所述模幂器基于所述mremodn和所述d-1计算(mre)d-1modn;
控制所述模乘器基于所述(mre)d-1modn和所述mre-1modn计算(mre)d-1·mre-1modn,得到mdmodn;
将所述mdmodn的解密内容发送给所述主处理器。
结合第五方面,本发明实施例提供了第五方面的第一种可能的实施方式,其中,所述模幂器基于所述mremodn和所述d-1,通过蒙哥马利阶梯算法计算(mre)d-1modn。
第六方面,本发明实施例提供了一种RSA私钥掩码运算方法,应用于用于RSA私钥掩码运算的协处理器中的控制器,所述协处理器还包括:模幂器、模乘器和模加器,所述方法包括:
在接收到主处理器发送的启动运算指令时,获取待解密内容m的模p值mp、随机数r、公钥ep、私钥dp以及素数p,其中p为RSA算法大素数对中的任一个,mp=mmodp,
控制所述模加器计算ep-1;
控制所述模幂器基于所述ep-1计算modp;
控制所述模乘器基于所述modp和mp计算modp;
控制所述模乘器基于所述modp和r计算得到modp;
控制所述模加器计算dp-1;
控制所述模幂器基于所述modp和所述dp-1计算modp;
控制所述模乘器基于所述modp和所述modp计算得到modp;
将解密内容的模p值modp的发送给所述主处理器
结合第六方面,本发明实施例提供了第六方面的第一种可能的实施方式,其中,所述模幂器基于所述modp和所述dp-1,通过蒙哥马利阶梯算法计算modp。
本发明实施例带来了以下有益效果:本发明实施例可以在实现RSA协处理器的过程中,通过巧妙地运用欧拉定理和指数减一操作,避免了掩底后的求逆操作,从而使掩底代价大大降低。该协处理器利用了将md转化为(mre)d-1·mre-1。由于通常公钥e的位长较小,所以计算re代价很小。该处理器结合蒙哥马利阶梯算法和掩指方法可构成一个完整的安全模幂算法。该算法在抵抗侧信道攻击和故障攻击等方面具有较强的安全性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种用于RSA私钥掩码运算的协处理器的结构示意图;
图2为本发明实施例提供的一种操作分解流程图;
图3为本发明实施例提供的一种RSA运算装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前常用的防护手段有掩码(包括掩底、掩指和掩模等)、均衡模乘和模平方等。常用的掩码方法需要一对互逆的随机数,这就需要处理器进行模逆运算,而模逆运算需要消耗大量的时间和资源,基于此,本发明实施例提供的一种RSA私钥掩码运算方法、协处理器及RSA运算装置,可以在实现RSA协处理器的过程中,通过巧妙地运用欧拉定理和指数减一操作,避免了掩底后的求逆操作,从而使掩底代价大大降低。该协处理器利用了将md转化为(mre)d-1·mre-1。由于通常公钥e的位长较小,所以计算re代价很小。该处理器结合蒙哥马利阶梯算法和掩指方法可构成一个完整的安全模幂算法。该算法在抵抗侧信道攻击和故障攻击等方面具有较强的安全性。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种用于RSA私钥掩码运算的协处理器进行详细介绍,在本发明实施例中,协处理器是指一种为减轻***微处理器负担的专用处理器。
公钥密码:公钥密码学的概念是由Whitfield Diffie和Martin Hellman提出的,另外,Ralph Merkle也独立提出了此概念。公钥密码采用数学函数作为基本工具,创造性地使用了两个不同的密钥(公开密钥和私密密钥,简称公钥和私钥,从私钥无法推出公钥),从而对保密性、密钥分配和管理以及签名认证等都具有深刻的意义。
RSA:RSA是一种公钥加密算法,以它的三个发明人Ron Rivest、Adi Shamir和Leonard Adleman的名字首字母命名。RSA作为迄今为止理论上最完善的公钥密码体制,得到了广泛的应用。它的理论基础是两个大素数乘积的因式分解的困难性,从一个公钥和密文中恢复出明文的困难性等价于分解两个大素数的乘积。RSA的主要运算是模幂运算。
模幂:mdmodn,即同一个数的多次模乘运算,m是模幂的底数,d是模幂的指数,n是模幂的模数。
私钥运算:RSA运算的解密运算和签名的验证运算是私钥运算,进行这两种运算时,私钥是模幂的指数。
欧拉定理:设n为大于1的整数,a∈Z且a与n互素,则
RSA-CRT:使用中国剩余定理对RSA私钥运算进行分解的一种方法,可将模n的模幂转化成一个模p的模幂和一个模q的模幂。
掩码:通过多种方式对关键数据进行掩盖。
掩指:对指数进行掩码,由欧拉定理可知所以以这种方式用随机数k对指数d进行掩码并不改变运算结果。
掩底:对底数进行掩码,为保证结果的正确性,往往需要在模幂结束后去掉掩码。
掩模:对模数进行掩码,为保证结果的正确性,需要在模幂结束后将模幂结果再取模。
蒙哥马利阶梯:RSA模幂运算的一种展开算法,整个过程需要两个大数暂存空间T0(初值为1)和T1初值为m,每处理指数的一位,T0和T1就更新为新值,当处理的指数位为0时,T0更新为T0 2modn,T1更新为T0·T1modn,当处理的指数位为1时,T0更新为T1·T0modn,T1更新为T1 2modn。
模逆:对于整数p和a(a∈[1,p-1]),若存在整数i∈[1,p-1],使得i·a≡1modp,则i为a的模逆,记作i≡a-1modp,当p为素数时,i一定存在且唯一。
侧信道攻击:密码分析者利用密码***运行过程中产生的执行时间、功率消耗、电磁辐射、故障输出等旁路信息泄露结合密码算法的输入、输出和设计细节进行的密码分析称为侧信道攻击。
故障攻击:通过对密码设备进行故障注入进行的攻击。
在实际应用中,RSA算法有两种模式:非CRT模式和CRT模式,在本发明实施例中,将针对非CRT模式的情况进行说明。
如图1所示,用于RSA私钥掩码运算的协处理器10包括:控制器11、模幂器12、模乘器13和模加器14;
所述控制器22,用于在接收到主处理器发送的启动运算指令时,获取待解密内容m、随机数r、公钥e、私钥d以及RSA算法的模数n,以及将所述解密内容发送给所述主处理器;
所述模加器14,用于计算e-1,以及,计算d-1;
所述模幂器12,用于基于所述e-1计算re-1modn,基于所述mremodn和所述d-1计算(mre)d-1modn;
所述模乘器13,用于基于所述re-1modn和m计算mre-1modn,基于所述mre-1modn和r计算mre-1·rmodn,得到mremodn,以及,基于所述(mre)d-1modn和所述mre-1modn计算(mre)d-1·mre-1modn,得到解密内容mdmodn,将所述解密内容mdmodn发送给所述控制器。
也即用于RSA私钥掩码运算的协处理器的输入:待解密内容m(待解密内容m可以指解密中的密文或签名中的消息)、随机数r、公钥e、私钥d以及RSA算法的取模参数n;
输出:s=mdmodn(解密内容s可以指解密出的明文或签名值)。
在本发明实施例中,所述模幂器基于所述mremodn和所述d-1,通过蒙哥马利阶梯算法计算(mre)d-1modn。
图2是本发明的操作分解流程图,按照箭头的方向将mdmodn进行分解后再合并,最后得到(mre)d-1·mre-1modn。
本发明在实现RSA协处理器的过程中,通过巧妙地运用欧拉定理和指数减一操作,避免了掩底后的求逆操作,从而使掩底代价大大降低。该协处理器利用了将md转化为(mre)d-1·mre-1。由于通常公钥e的位长较小,所以计算re代价很小。该处理器结合蒙哥马利阶梯算法和掩指方法可构成一个完整的安全模幂算法。该算法在抵抗侧信道攻击和故障攻击等方面具有较强的安全性。
在实际应用中,在本发明的又一实施例中,本协处理器结合了蒙哥马利阶梯算法和掩指算法,具体按以下步骤进行:
输入:待解密内容m、随机数r、公钥e、私钥d以及RSA算法的模数n;
输出:s=mdmodn;
步骤1、取t位随机数r,其中t为n的位长;
步骤2、取w位随机数k,w可根据所需安全强度选择16、32或64等;
步骤3、即掩指;
步骤4,模加器计算e-1;
步骤5、模幂器基于所述e-1计算re-1modn;
1)、i←t-1,其中t为e-1的位长;
2)、当(e-1)i=0时,重复执行:i←i-1;
3)、若i=0,则返回r,否则执行:i←i-1
4)、T←r2modn;
若(e-1)i=1,则T←T·rmodn;
5)、当i≠0时,重复执行:i←i-1;T←T2modn
若(e-1)i=1,则T←T·rmodn;
6)、返回T。
步骤6、模乘器基于所述re-1modn和m计算m·re-1modn,得到mre-1modn;
步骤7、模乘器基于所述mre-1modn和r计算mre-1·rmodn,得到mremodn;
步骤8、模加器计算d'-1;
步骤9、控制所述模幂器基于所述mremodn和所述d'-1计算(mre)d'-1modn;
1)、i←t',其中t'为d'-1的位长;
2)、T0←1,T1←mre;
3)、当i≠0时,重复执行4)
4)、
i←i-1;
5)、返回T0。
步骤10、由欧拉定理可知md'modn=mdmodn=s,所以模乘器基于所述(mre)d'-1modn和所述mre-1modn计算(mre)d'-1·mre-1modn,得到md'modn(由欧拉定理可知red'-1≡red-1≡1modn),将所述mdmodn的解密内容发送给所述主处理器。
在进行RSA-CRT运算时,基于前述实施例,在本发明的又一实施例中,还提供一种用于RSA私钥掩码运算的协处理器,包括:控制器、模幂器、模乘器和模加器;
所述控制器,用于在接收到主处理器发送的启动运算指令时,获取待解密内容m的模p值mp、随机数r、公钥ep、私钥dp以及素数p,其中p为RSA算法大素数对中的任一个,mp=mmodp, 以及将所述解密内容发送给所述主处理器;
所述模加器,用于计算ep-1,以及,计算dp-1;
所述模幂器,用于基于所述ep-1计算modp,基于所述modp和所述dp-1计算modp;
所述模乘器,用于基于所述modp和mp计算modp,基于所述modp和r计算得到modp,以及,基于所述modp和所述modp计算得到modp,将解密内容s的模p值modp发送给所述控制器。
也即用于RSA私钥掩码运算的协处理器的输入:待解密内容m的模p值mp(待解密内容m可以指解密中的密文或签名中的消息)、随机数r、公钥ep、私钥dp以及素数p;
输出:(解密内容s可以指解密出的明文或签名值)。
在本发明实施例中,所述模幂器基于所述modp和所述dp-1,通过蒙哥马利阶梯算法计算modp。
在实际应用中,在本发明的又一实施例中,结合蒙哥马利阶梯算法和掩指算法,具体可以按以下步骤进行:
输入:待解密内容m的模p值mp、随机数r、公钥ep、私钥dp以及素数p;
输出:
步骤1、取t位随机数r,其中t为p的位长;
步骤2、取w位随机数k,w可根据所需安全强度选择16、32或64等;
步骤3、即掩指;
步骤4,模加器计算ep-1;
步骤5、模幂器基于所述ep-1计算modp;
1)、i←t-1,其中t为ep-1的位长;
2)、当(ep-1)i=0时,重复执行:i←i-1;
3)、若i=0,则返回r,否则执行:i←i-1
4)、T←r2modp;
若(ep-1)i=1,则T←T·rmodp;
5)、当i≠0时,重复执行:i←i-1;T←T2modp;
若(ep-1)i=1,则T←T·rmodp;
6)、返回T。
步骤6、模乘器基于所述modp和mp计算得到
步骤7、模乘器基于所述modp和r计算得到modp;
步骤8、模加器计算dp'-1;
步骤9、模乘器基于所述modp和所述dp'-1计算modp;
1)、i←t',其中t'为dp'-1的位长;
2)、T0←1,
3)、当i≠0时,重复执行4);
4)、
i←i-1;
5)、返回T0。
步骤10、由欧拉定理可知所以模乘器基于所述modp和所述modp计算得到modp,将解密内容的模p值modp发送给所述主处理器。
本算法对RSA-CRT适用性的原理说明:
由于
由于所以,
如图3所示,在本发明的又一实施例中,还提供一种RSA运算装置,包括:主处理器20和如前述实施例所述的用于RSA私钥掩码运算的协处理器10;
所述主处理器20,用于通过AHB总线向所述协处理器10发送启动运算指令,并接收所述解密内容。
在本发明的又一实施例中,还提供一种RSA运算装置,包括:主处理器和如前述实施例所述的用于RSA私钥掩码运算的协处理器;
所述主处理器,用于通过AHB总线向所述协处理器发送启动运算指令,并接收所述解密内容。
在本发明的又一实施例中,还提供一种RSA私钥掩码运算方法,应用于用于RSA私钥掩码运算的协处理器中的控制器,所述协处理器还包括:模幂器、模乘器和模加器,所述方法包括:
在接收到主处理器发送的启动运算指令时,获取待解密内容m、随机数r、公钥e、私钥d以及RSA算法的取模参数n;
控制所述模加器计算e-1;
控制所述模幂器基于所述e-1计算re-1modn;
控制所述模乘器基于所述re-1modn计算mre-1modn;
控制所述模乘器基于所述mre-1modn和r计算mre-1·rmodn,得到mremodn;
控制所述模加器计算d-1;
控制所述模幂器基于所述mremodn和所述d-1计算(mre)d-1modn;所述模幂器基于所述mremodn和所述d-1,通过蒙哥马利阶梯算法计算(mre)d-1modn。
控制所述模乘器基于所述(mre)d-1modn和所述mre-1modn计算(mre)d-1·mre-1modn,得到mdmodn;
将所述mdmodn的解密内容发送给所述主处理器。
在本发明的又一实施例中,还提供一种RSA私钥掩码运算方法,应用于用于RSA私钥掩码运算的协处理器中的控制器,所述协处理器还包括:模幂器、模乘器和模加器,所述方法包括:
在接收到主处理器发送的启动运算指令时,获取待解密内容m的模p值mp、随机数r、公钥ep、私钥dp以及素数p,其中p为RSA算法大素数对中的任一个,mp=mmodp,
控制所述模加器计算ep-1;
控制所述模幂器基于所述ep-1计算modp;
控制所述模乘器基于所述modp计算modp;
控制所述模乘器基于所述modp和r计算得到modp;
控制所述模加器计算dp-1;
控制所述模幂器基于所述modp和所述dp-1计算modp;所述模幂器基于所述modp和所述dp-1,通过蒙哥马利阶梯算法计算modp。
控制所述模乘器基于所述modp和所述modp计算得到modp;
将解密内容的模p值modp发送给所述主处理器。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种用于RSA私钥掩码运算的协处理器,其特征在于,包括:控制器、模幂器、模乘器和模加器;
所述控制器,用于在接收到主处理器发送的启动运算指令时,获取待解密内容m、随机数r、公钥e、私钥d以及RSA算法的模数n,以及将所述解密内容发送给所述主处理器;
所述模加器,用于计算e-1,以及,计算d-1;
所述模幂器,用于基于所述e-1计算re-1modn,基于所述mremodn和所述d-1计算(mre)d- 1modn;
所述模乘器,用于基于所述re-1modn和m计算mre-1modn,基于所述mre-1modn和r计算mre -1·rmodn,得到mremodn,以及,基于所述(mre)d-1modn和所述mre-1modn计算(mre)d-1·mre- 1modn,得到解密内容mdmodn,将所述解密内容mdmodn发送给所述控制器。
2.根据权利要求1所述的用于RSA私钥掩码运算的协处理器,其特征在于,所述模幂器基于所述mremodn和所述d-1,通过蒙哥马利阶梯算法计算(mre)d-1modn。
3.一种用于RSA私钥掩码运算的协处理器,其特征在于,包括:控制器、模幂器、模乘器和模加器;
所述控制器,用于在接收到主处理器发送的启动运算指令时,获取待解密内容m的模p值mp、随机数r、公钥ep、私钥dp以及素数p,其中p为RSA算法大素数对中的任一个,mp=mmodp, 以及将所述解密内容发送给所述主处理器;
所述模加器,用于计算ep-1,以及,计算dp-1;
所述模幂器,用于基于所述ep-1计算基于所述和所述dp-1计算
所述模乘器,用于基于所述和mp计算基于所述和r计算得到以及,基于所述和所述计算得到将解密内容的模p值发送给所述控制器。
4.根据权利要求3所述的用于RSA私钥掩码运算的协处理器,其特征在于,所述模幂器基于所述和所述dp-1,通过蒙哥马利阶梯算法计算
5.一种RSA运算装置,其特征在于,包括:主处理器和如权利要求1至2任一所述的用于RSA私钥掩码运算的协处理器;
所述主处理器,用于通过AHB总线向所述协处理器发送启动运算指令,并接收所述解密内容。
6.一种RSA运算装置,其特征在于,包括:主处理器和如权利要求3至4任一所述的用于RSA私钥掩码运算的协处理器;
所述主处理器,用于通过AHB总线向所述协处理器发送启动运算指令,并接收所述解密内容。
7.一种RSA私钥掩码运算方法,其特征在于,应用于用于RSA私钥掩码运算的协处理器中的控制器,所述协处理器还包括:模幂器、模乘器和模加器,所述方法包括:
在接收到主处理器发送的启动运算指令时,获取待解密内容m、随机数r、公钥e、私钥d以及RSA算法的取模参数n;
控制所述模加器计算e-1;
控制所述模幂器基于所述e-1计算re-1modn;
控制所述模乘器基于所述re-1modn和m计算mre-1modn;
控制所述模乘器基于所述mre-1modn和r计算mre-1·rmodn,得到mremodn;
控制所述模加器计算d-1;
控制所述模幂器基于所述mremodn和所述d-1计算(mre)d-1modn;
控制所述模乘器基于所述(mre)d-1modn和所述mre-1modn计算(mre)d-1·mre-1modn,得到mdmodn;
将所述mdmodn的解密内容发送给所述主处理器。
8.根据权利要求7所述的RSA私钥掩码运算方法,其特征在于,所述模幂器基于所述mremodn和所述d-1,通过蒙哥马利阶梯算法计算(mre)d-1modn。
9.一种RSA私钥掩码运算方法,其特征在于,应用于用于RSA私钥掩码运算的协处理器中的控制器,所述协处理器还包括:模幂器、模乘器和模加器,所述方法包括:
在接收到主处理器发送的启动运算指令时,获取待解密内容m的模p值mp、随机数r、公钥ep、私钥dp以及素数p,其中p为RSA算法大素数对中的任一个,mp=mmodp,
控制所述模加器计算ep-1;
控制所述模幂器基于所述ep-1计算
控制所述模乘器基于所述和mp计算
控制所述模乘器基于所述和r计算得到
控制所述模加器计算dp-1;
控制所述模幂器基于所述和所述dp-1计算
控制所述模乘器基于所述和所述计算得到
将解密内容的模p值的发送给所述主处理器。
10.根据权利要求9所述的RSA私钥掩码运算方法,其特征在于,所述模幂器基于所述和所述dp-1,通过蒙哥马利阶梯算法计算
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810170661.7A CN108111309A (zh) | 2018-02-28 | 2018-02-28 | Rsa私钥掩码运算方法、协处理器及rsa运算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810170661.7A CN108111309A (zh) | 2018-02-28 | 2018-02-28 | Rsa私钥掩码运算方法、协处理器及rsa运算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108111309A true CN108111309A (zh) | 2018-06-01 |
Family
ID=62205838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810170661.7A Pending CN108111309A (zh) | 2018-02-28 | 2018-02-28 | Rsa私钥掩码运算方法、协处理器及rsa运算装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108111309A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039640A (zh) * | 2018-08-03 | 2018-12-18 | 广东工业大学 | 一种基于rsa密码算法的加解密硬件***及方法 |
CN109379185A (zh) * | 2018-10-22 | 2019-02-22 | 飞天诚信科技股份有限公司 | 一种安全的rsa运算实现方法及装置 |
CN110048840A (zh) * | 2019-04-28 | 2019-07-23 | 苏州国芯科技股份有限公司 | 一种基于rsa算法的信息处理方法、***及相关组件 |
EP3929726A1 (fr) * | 2020-06-26 | 2021-12-29 | IDEMIA France | Procede de traitement cryptographique,dispositif electronique et programme d'ordinateur associes |
WO2023141934A1 (en) * | 2022-01-28 | 2023-08-03 | Nvidia Corporation | Efficient masking of secure data in ladder-type cryptographic computations |
US11954487B2 (en) | 2022-01-28 | 2024-04-09 | Nvidia Corporation | Techniques, devices, and instruction set architecture for efficient modular division and inversion |
US12003633B2 (en) | 2022-01-28 | 2024-06-04 | Nvidia Corporation | Techniques, devices, and instruction set architecture for balanced and secure ladder computations |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131424A1 (en) * | 2008-08-06 | 2011-06-02 | Gemalto Sa | Zero divisors protecting exponentiation |
CN102468956A (zh) * | 2010-11-11 | 2012-05-23 | 上海华虹集成电路有限责任公司 | 适用于rsa模幂计算的方法 |
CN104660399A (zh) * | 2013-11-25 | 2015-05-27 | 上海复旦微电子集团股份有限公司 | 一种rsa模幂运算方法和装置 |
-
2018
- 2018-02-28 CN CN201810170661.7A patent/CN108111309A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131424A1 (en) * | 2008-08-06 | 2011-06-02 | Gemalto Sa | Zero divisors protecting exponentiation |
CN102468956A (zh) * | 2010-11-11 | 2012-05-23 | 上海华虹集成电路有限责任公司 | 适用于rsa模幂计算的方法 |
CN104660399A (zh) * | 2013-11-25 | 2015-05-27 | 上海复旦微电子集团股份有限公司 | 一种rsa模幂运算方法和装置 |
Non-Patent Citations (5)
Title |
---|
JAECHEOL HA ; CHULHYUN JUN ; JEAHOON PARK ; SANGJAE MOON ; CKANG: "A New CRT-RSA Scheme Resistant to Power Analysis and Fault Attacks", 《2008 THIRD INTERNATIONAL CONFERENCE ON CONVERGENCE AND HYBRID INFORMATION TECHNOLOGY》 * |
李增局;史汝辉: "基于DPA对Gauss形式CRT-RSA的选择明文攻击", 《密码学报》 * |
李起瑞: "智能卡芯片的抗功耗攻击研究", 《中国优秀硕士学位论文全文数据库》 * |
杨义先: "移动通信***的安全基础", 《无线通信安全技术》 * |
蒋惠萍; 毛志刚: "抗侧沟道泄漏信息攻击的安全RSA-CRT算法研究", 《哈尔滨工业大学学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039640A (zh) * | 2018-08-03 | 2018-12-18 | 广东工业大学 | 一种基于rsa密码算法的加解密硬件***及方法 |
CN109379185A (zh) * | 2018-10-22 | 2019-02-22 | 飞天诚信科技股份有限公司 | 一种安全的rsa运算实现方法及装置 |
CN109379185B (zh) * | 2018-10-22 | 2021-04-27 | 飞天诚信科技股份有限公司 | 一种安全的rsa运算实现方法及装置 |
CN110048840A (zh) * | 2019-04-28 | 2019-07-23 | 苏州国芯科技股份有限公司 | 一种基于rsa算法的信息处理方法、***及相关组件 |
CN110048840B (zh) * | 2019-04-28 | 2021-10-15 | 苏州国芯科技股份有限公司 | 一种基于rsa算法的信息处理方法、***及相关组件 |
EP3929726A1 (fr) * | 2020-06-26 | 2021-12-29 | IDEMIA France | Procede de traitement cryptographique,dispositif electronique et programme d'ordinateur associes |
FR3112003A1 (fr) * | 2020-06-26 | 2021-12-31 | Idemia France | Procede de traitement cryptographique, dispositif electronique et programme d'ordinateur associes |
US11973866B2 (en) | 2020-06-26 | 2024-04-30 | Idemia France | Cryptographic processing method, related electronic device and computer program |
WO2023141934A1 (en) * | 2022-01-28 | 2023-08-03 | Nvidia Corporation | Efficient masking of secure data in ladder-type cryptographic computations |
US11954487B2 (en) | 2022-01-28 | 2024-04-09 | Nvidia Corporation | Techniques, devices, and instruction set architecture for efficient modular division and inversion |
US11985221B2 (en) | 2022-01-28 | 2024-05-14 | Nvidia Corporation | Efficient masking of secure data in ladder-type cryptographic computations |
US12003633B2 (en) | 2022-01-28 | 2024-06-04 | Nvidia Corporation | Techniques, devices, and instruction set architecture for balanced and secure ladder computations |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108111309A (zh) | Rsa私钥掩码运算方法、协处理器及rsa运算装置 | |
EP3059894B1 (en) | Modular multiplication using look-up tables | |
Zhou et al. | Research and implementation of RSA algorithm for encryption and decryption | |
CN103081398B (zh) | 用于保护密码资产免受白盒攻击的***和方法 | |
US9503259B2 (en) | System and method for generating and protecting cryptographic keys | |
TW200844847A (en) | Chinese remainder theorem-based computation method for cryptosystems | |
Nagaraj et al. | Data encryption and authetication using public key approach | |
TW201810989A (zh) | 用以保護密碼指數的方法及系統 | |
CN103067164A (zh) | 使用rsa公开密钥加密算法的电子部件中的防攻击方法 | |
US8014520B2 (en) | Exponentiation ladder for cryptography | |
Hwang et al. | A Lightweight Certificate-Based Aggregate Signature Scheme Providing Key Insulation. | |
Rui et al. | A k-RSA algorithm | |
JP4626148B2 (ja) | 復号または署名作成におけるべき乗剰余算の計算方法 | |
CN1985458B (zh) | 增强的自然蒙哥马利指数掩蔽和恢复的方法和装置 | |
Reddy | RM-RSA algorithm | |
EP3166013B1 (en) | Modular exponentiation using randomized addition chains | |
Khatoon et al. | Performance Evaluation of RSA Algorithm in Cloud Computing Security | |
Kamal et al. | Cryptanalysis of Alvarez et al. key exchange scheme | |
Kayode et al. | Efficient RSA cryptosystem decryption based on Chinese remainder theorem and strong prime | |
KR101112570B1 (ko) | 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체 | |
KR101341810B1 (ko) | Crt-rsa를 이용하여 전력 분석 공격과 오류 주입 공격으로부터 정보를 보호하는 방법 | |
JP5529691B2 (ja) | 鍵交換システム、鍵交換方法及び鍵交換プログラム | |
CN104125061A (zh) | 使用rsa加密算法的电子部件中的防攻击方法 | |
Ezziri et al. | A zero-knowledge identification scheme based on the discrete logarithm problem and elliptic curves | |
Green et al. | Strength in Numbers: Threshold ECDSA to Protect Keys in the Cloud |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180601 |
|
RJ01 | Rejection of invention patent application after publication |