CN104660400A - 一种rsa模幂运算方法和装置 - Google Patents
一种rsa模幂运算方法和装置 Download PDFInfo
- Publication number
- CN104660400A CN104660400A CN201310608764.4A CN201310608764A CN104660400A CN 104660400 A CN104660400 A CN 104660400A CN 201310608764 A CN201310608764 A CN 201310608764A CN 104660400 A CN104660400 A CN 104660400A
- Authority
- CN
- China
- Prior art keywords
- value
- modular exponentiation
- private key
- rsa modular
- rsa
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种RSA模幂运算方法和装置,其中,所述方法包括:获取随机数r、公钥e和私钥d;计算第一值,所述第一值为公钥e和私钥d的乘积减去1后的值;计算第二值,所述第二值为所述随机数r和所述第一值的乘积;计算第三值,所述第三值为所述第二值和私钥d的和;将所述第三值作为RSA模幂运算的指数进行所述RSA模幂运算。所述方法和装置能够提高数据的安全性。
Description
技术领域
本发明涉及数据安全的技术领域,特别涉及一种RSA模幂运算方法和装置。
背景技术
在现有技术中,攻击者一般可以通过采集密码***、加密芯片等硬件设备在进行加密、解密或签名操作时产生的功耗等泄露信息,利用密码学、概率、统计学原理、分析和破译密钥信息。例如,在RSA公钥加密算法的模幂运算方法中,当密钥d直接作为模幂运算的指数进行运算时,攻击者便可能通过上述分析直接获取所述密钥d,并通过所述密钥d破译被加密的数据。
因此,需要提出一种新的RSA模幂运算方法和装置,以提高数据的安全性。
发明内容
本发明解决的问题是提出一种新的RSA模幂运算方法和装置,以提高数据的安全性。
本发明的实施例提供了一种RSA模幂运算方法,所述方法包括:获取随机数r、公钥e和私钥d;计算第一值,所述第一值为公钥e和私钥d的乘积减去1后的值;计算第二值,所述第二值为所述随机数r和所述第一值的乘积;计算第三值,所述第三值为所述第二值和私钥d的和;将所述第三值作为RSA模幂运算的指数进行所述RSA模幂运算。
本发明的实施例还提供了一种RSA模幂运算装置,所述装置包括:获取单元,用于获取随机数r、公钥e和私钥d;第一运算单元,用于计算第一值,所述第一值为公钥e和私钥d的乘积减去1后的值;第二运算单元,用于计算第二值,所述第二值为所述随机数r和所述第一值的乘积;第三运算单元,用于计算第三值,所述第三值为所述第二值和私钥d的和;模幂运算单元,用于将所述第三值作为RSA模幂运算的指数进行所述RSA模幂运算。
与现有技术相比,本发明的实施例具有以下优点:
在上述技术方案中,私钥d并没有直接作为RSA模幂运算的指数,而是通过加入了随机数r,将所述私钥d进行隐藏,从而消除了算法执行过程中的中间值和泄露信息之间的对应关系,也就是说攻击者很难直接获取私钥d,因此也就不容易对加密数据进行破解,故可以提高数据的安全性。
附图说明
图1是本发明实施例中RSA模幂运算方法的流程图;
图2是本发明实施例中RSA模幂运算装置的结构示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
图1是本发明实施例中RSA模幂运算方法的流程图。如图1所示,所述方法包括步骤S101至S105。
步骤S101,获取随机数r、公钥e和私钥d。
在本发明的实施例中,所述随机数r是可变随机数,也就是说,在每次RSA模幂运算过程中,所述随机数r可以发生变化。加入所述随机数r的目的是为了使后续进行RSA模幂运算的指数是一个随机化的结果,这消除了算法执行过程中的中间值(私钥d)和泄露信息(随机化后的指数相关的信息)之间的对应关系,从而使得攻击者很难直接获取私钥d,因此也就不容易对加密数据进行破解。
下面将通过步骤S102至S104来获取随机化后的RSA模幂运算的指数。
步骤S102,计算第一值,所述第一值为公钥e和私钥d的乘积减去1后的值。
通过步骤S102,获得的第一值为ed-1。
步骤S103,计算第二值,所述第二值为所述随机数r和所述第一值的乘积。
通过步骤S103,所述第二值为所述随机数r和所述第一值ed-1的乘积,即:所述第二值为r(ed-1)。
步骤S104,计算第三值,所述第三值为所述第二值和私钥d的和。
通过步骤S104,所述第三值为所述第二值r(ed-1)和私钥d的和,即:所述第三值为d+r(ed-1)。
步骤S105,将所述第三值作为RSA模幂运算的指数进行所述RSA模幂运算。
在本发明的实施例中,通过步骤S104,将第三值d+r(ed-1)作为RSA模幂运算的指数。那么,以所述第三值为指数的RSA模幂运算得到的值为:S=md+r(ed-1)mod N。
如前所述,一方面,以所述第三值为指数,所述指数中带有随机数r,这消除了算法执行过程中的中间值(私钥d)和泄露信息(随机化后的指数相关的信息)之间的对应关系,从而使得攻击者很难直接获取私钥d。
另一方面,根据RSA加解密算法的固有性质:med)mod N=m,可以进行如下推导:,
S=md+r(ed-1)mod N=(mdmredm-r)mod N=(mdmrm-1)mod N=mdmod N,
由上述推到可知,所述指数随机化后的RSA模幂运算结果和随机化前的RSA模幂运算结果仍然保持一致。
本发明的实施例还提供了一种RSA模幂运算装置。请参考图2,所述种RSA模幂运算装置200包括:
获取单元210,用于获取随机数r、公钥e和私钥d;
第一运算单元220,用于计算第一值,所述第一值为公钥e和私钥d的乘积减去1后的值;
第二运算单元230,用于计算第二值,所述第二值为所述随机数r和所述第一值的乘积;
第三运算单元240,用于计算第三值,所述第三值为所述第二值和私钥d的和;
模幂运算单元250,用于将所述第三值作为RSA模幂运算的指数进行所述RSA模幂运算。
在本发明的实施例中,所述第一运算单元220可以包括乘法器和减法器,所述第二运算单元230可以为乘法器,所述第三运算单元240可以为加法器,所述模幂运算单元250可以为模幂运算器。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (2)
1.一种RSA模幂运算方法,其特征在于,包括:
获取随机数r、公钥e和私钥d;
计算第一值,所述第一值为公钥e和私钥d的乘积减去1后的值;
计算第二值,所述第二值为所述随机数r和所述第一值的乘积;
计算第三值,所述第三值为所述第二值和私钥d的和;
将所述第三值作为RSA模幂运算的指数进行所述RSA模幂运算。
2.一种RSA模幂运算装置,其特征在于,包括:
获取单元,用于获取随机数r、公钥e和私钥d;
第一运算单元,用于计算第一值,所述第一值为公钥e和私钥d的乘积减
去1后的值;
第二运算单元,用于计算第二值,所述第二值为所述随机数r和所述第一
值的乘积;
第三运算单元,用于计算第三值,所述第三值为所述第二值和私钥d的和;
模幂运算单元,用于将所述第三值作为RSA模幂运算的指数进行所述RSA
模幂运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310608764.4A CN104660400A (zh) | 2013-11-25 | 2013-11-25 | 一种rsa模幂运算方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310608764.4A CN104660400A (zh) | 2013-11-25 | 2013-11-25 | 一种rsa模幂运算方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104660400A true CN104660400A (zh) | 2015-05-27 |
Family
ID=53251138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310608764.4A Pending CN104660400A (zh) | 2013-11-25 | 2013-11-25 | 一种rsa模幂运算方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104660400A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685643A (zh) * | 2015-11-07 | 2017-05-17 | 上海复旦微电子集团股份有限公司 | Crt模式下公钥验证的方法及装置 |
CN106685661A (zh) * | 2015-11-07 | 2017-05-17 | 上海复旦微电子集团股份有限公司 | 公钥验证的方法及装置 |
CN108599951A (zh) * | 2018-08-10 | 2018-09-28 | 北京奇虎科技有限公司 | 加密方法及装置 |
CN108933670A (zh) * | 2018-10-18 | 2018-12-04 | 北京云测信息技术有限公司 | 一种数字签名方法、装置、移动设备及存储介质 |
CN110492998A (zh) * | 2019-08-14 | 2019-11-22 | 郑州大学 | 加解密数据的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230269B1 (en) * | 1998-03-04 | 2001-05-08 | Microsoft Corporation | Distributed authentication system and method |
CN101133593A (zh) * | 2003-07-31 | 2008-02-27 | 格姆普拉斯公司 | 安全地执行rsa型密码术算法的方法及相应部件 |
CN102082665A (zh) * | 2009-11-30 | 2011-06-01 | ***通信集团公司 | 一种eap认证中的标识认证方法、***和设备 |
CN102739401A (zh) * | 2012-06-05 | 2012-10-17 | 北京工业大学 | 基于身份公钥密码体制的私钥安全管理方法 |
CN103401681A (zh) * | 2013-07-02 | 2013-11-20 | 北京华大信安科技有限公司 | 取模方法、取模装置及芯片 |
-
2013
- 2013-11-25 CN CN201310608764.4A patent/CN104660400A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230269B1 (en) * | 1998-03-04 | 2001-05-08 | Microsoft Corporation | Distributed authentication system and method |
CN101133593A (zh) * | 2003-07-31 | 2008-02-27 | 格姆普拉斯公司 | 安全地执行rsa型密码术算法的方法及相应部件 |
CN102082665A (zh) * | 2009-11-30 | 2011-06-01 | ***通信集团公司 | 一种eap认证中的标识认证方法、***和设备 |
CN102739401A (zh) * | 2012-06-05 | 2012-10-17 | 北京工业大学 | 基于身份公钥密码体制的私钥安全管理方法 |
CN103401681A (zh) * | 2013-07-02 | 2013-11-20 | 北京华大信安科技有限公司 | 取模方法、取模装置及芯片 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685643A (zh) * | 2015-11-07 | 2017-05-17 | 上海复旦微电子集团股份有限公司 | Crt模式下公钥验证的方法及装置 |
CN106685661A (zh) * | 2015-11-07 | 2017-05-17 | 上海复旦微电子集团股份有限公司 | 公钥验证的方法及装置 |
CN106685643B (zh) * | 2015-11-07 | 2019-07-19 | 上海复旦微电子集团股份有限公司 | Crt模式下公钥验证的方法及装置 |
CN106685661B (zh) * | 2015-11-07 | 2019-07-19 | 上海复旦微电子集团股份有限公司 | 公钥验证的方法及装置 |
CN108599951A (zh) * | 2018-08-10 | 2018-09-28 | 北京奇虎科技有限公司 | 加密方法及装置 |
CN108599951B (zh) * | 2018-08-10 | 2021-10-01 | 北京奇虎科技有限公司 | 加密方法、加密装置、计算设备及计算机存储介质 |
CN108933670A (zh) * | 2018-10-18 | 2018-12-04 | 北京云测信息技术有限公司 | 一种数字签名方法、装置、移动设备及存储介质 |
CN108933670B (zh) * | 2018-10-18 | 2021-02-26 | 北京云测信息技术有限公司 | 一种数字签名方法、装置、移动设备及存储介质 |
CN110492998A (zh) * | 2019-08-14 | 2019-11-22 | 郑州大学 | 加解密数据的方法 |
CN110492998B (zh) * | 2019-08-14 | 2022-10-25 | 郑州大学 | 加解密数据的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102546181B (zh) | 基于密钥池的云存储加解密方法 | |
CN103279916B (zh) | 基于双随机相位编码和干涉原理的图像加密方法 | |
US9152383B2 (en) | Method for encrypting a message through the computation of mathematical functions comprising modular multiplications | |
CN104660400A (zh) | 一种rsa模幂运算方法和装置 | |
CN102437912B (zh) | 一种基于混沌算法的n重rsa加密算法的数字版权保护方法 | |
CN107004084B (zh) | 用于加密操作的乘法掩码 | |
JP2013531436A5 (zh) | ||
JP2014002365A5 (zh) | ||
US20130279692A1 (en) | Protecting modular exponentiation in cryptographic operations | |
JP2012129993A (ja) | 暗号装置の保護方法及び保護システム | |
CN108111295A (zh) | 一种基于类模运算的同态加密算法 | |
WO2017052755A1 (en) | Secure data re-encryption | |
CN103024006A (zh) | 一种云计算环境下双线性对的安全外包的方法 | |
WO2016088453A1 (ja) | 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム | |
JP2014085674A5 (zh) | ||
CN104660399B (zh) | 一种rsa模幂运算方法和装置 | |
CN113225371A (zh) | 一种电力物联网终端控制指令加解密***及方法 | |
CN104683102A (zh) | 一种sm2签名计算方法和装置 | |
JP5742960B2 (ja) | 暗号装置と方法およびプログラム | |
CN103745427A (zh) | 基于迭代振幅-相位恢复算法的图像加密方法 | |
CN103580869A (zh) | 一种crt-rsa签名方法及装置 | |
JP2007334016A (ja) | データ暗号化装置及びデータ暗号化方法 | |
KR101440680B1 (ko) | 중국인 나머지 정리에 기반한 준동형 암복호화 방법 및 이를 이용한 장치 | |
CN103401681A (zh) | 取模方法、取模装置及芯片 | |
KR101517947B1 (ko) | 중간키를 이용한 전력분석공격 방어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150527 |