RSA私钥掩码运算方法、协处理器及RSA运算装置制造方法及图纸

技术编号:18119194 阅读:82 留言:0更新日期:2018-06-03 10:57
本发明专利技术提供了一种RSA私钥掩码运算方法、协处理器及RSA运算装置,其中的控制器在接收到主处理器发送的启动运算指令时,获取待解密内容m、随机数r、公钥e、私钥d以及RSA算法的取模参数n,以及将所述解密内容发送给所述主处理器;模加器计算e‑1,以及,计算d‑1;模幂器基于所述e‑1计算r

RSA private key mask operation method, coprocessor and RSA operation device

The invention provides a RSA private key mask operation method, a coprocessor, and a RSA operation device, in which the controller obtains the mode parameter n of the decrypted content m, random number r, public key e, private key D, and the RSA algorithm when receiving the start operation instructions sent by the main processor, so as to send the decryption content to the host. The module adder calculates e d 1, and calculates E 1; modulus exponent calculates R based on e

【技术实现步骤摘要】
RSA私钥掩码运算方法、协处理器及RSA运算装置
本专利技术涉及电子
,尤其是涉及一种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私钥掩码运算的协处理器,其特征在于,包括:控制器、模幂器、模乘器和模加器;所述控制器,用于在接收到主处理器发送的启动运算指令时,获取待解密内容m、随机数r、公钥e、私钥d以及RSA算法的模数n,以及将所述解密内容发送给所述主处理器;所述模加器,用于计算e‑1,以及,计算d‑1;所述模幂器,用于基于所述e‑1计算r

【技术特征摘要】
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运算装置,其特征在于,...

【专利技术属性】
技术研发人员:马帅何中林
申请(专利权)人:北京融通高科微电子科技有限公司
类型:发明
国别省市:北京,11

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

1