CN106685643A - Crt模式下公钥验证的方法及装置 - Google Patents
Crt模式下公钥验证的方法及装置 Download PDFInfo
- Publication number
- CN106685643A CN106685643A CN201510750668.2A CN201510750668A CN106685643A CN 106685643 A CN106685643 A CN 106685643A CN 201510750668 A CN201510750668 A CN 201510750668A CN 106685643 A CN106685643 A CN 106685643A
- Authority
- CN
- China
- Prior art keywords
- value
- public key
- index
- verified
- private key
- 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.)
- Granted
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
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
一种CRT模式下公钥验证的方法及装置。所述方法包括:获取第一私钥s1、第二私钥s2、待验证的公钥e、随机数m和r,其中,1<m<s1,s2=d mod(s1-1),d为普通模式下的私钥;根据所述随机数r、第二私钥s2及待验证的公钥e获得第一指数α;对mα进行运算获得第一值y;根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。应用所述方法可以提高应用公钥加密算法的设备的安全性。
Description
技术领域
本发明涉及数据安全技术领域,具体涉及一种CRT模式下公钥验证的方法及装置。
背景技术
目前,攻击者能够通过采集密码系统、加密芯片等硬件设备在进行加密、解密或签名操作时所泄露的功耗等信息,利用密码学、概率、统计学原理,分析和破译密钥信息。
例如,在利用RSA公钥加密算法进行加密、解密或签名操作的硬件设备中,攻击者可以通过采集公钥验证过程中产生的功耗信息并进行分析,来破解该硬件设备的私钥。
发明内容
本发明解决的技术问题是如何提高应用公钥加密算法的设备的安全性。
为解决上述技术问题,本发明实施例提供一种CRT模式下公钥验证的方法,所述方法包括:
获取第一私钥s1、第二私钥s2、待验证的公钥e、随机数m和r,其中,1<m<s1,s2=d mod(s1-1),d为普通模幂模式下的私钥;
根据所述随机数r、第二私钥s2及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、第二私钥s2及待验证的公钥e的数学式;
对mα进行运算获得第一值y;
根据所述第一值y判断所述待验证的公钥e是否为正确的公钥
可选地,所述根据所述随机数r、第二私钥s2及待验证的公钥e生成第一指数α,包括:
计算(s1-1)*r的值,获得第二值β;
计算s2+β的值,获得第三值γ;
计算γ*e的值,获得第一指数α。
可选地,所述第一指数α=r*e*s2。
可选地,所述第一指数α=e*s2-r。
可选地,所述对mα进行运算获得第一值y包括:
计算mα mod s1的值,获得第四值y1;
计算mr mod s1的值,获得第五值y2;
计算y1*y2mod s1的值,获得所述第一值y。
本发明实施例还提供了一种CRT模式下公钥验证的装置。所述装置包括:
获取单元,适于获取第一私钥s1、第二私钥s2、待验证的公钥e、随机数m和r,其中,1<m<s1,s2=d mod(s1-1),d为普通模式下的私钥;
第一计算单元,适于根据所述随机数r、第二私钥s2及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、第二私钥s2及待验证的公钥e的数学式;
第二计算单元,适于对mα进行运算获得第一值y;
判断单元,适于根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
可选地,所述第一计算单元包括:
第一计算子单元,适于计算(s1-1)*r的值,获得第二值β;
第二计算子单元,适于计算s2+β的值,获得第三值γ;
第三计算子单元,适于计算γ*e的值,获得第一指数α。
可选地,所述第一计算单元包括:第四计算子单元,适于计算r*e*s2的值,获得所述第一指数α。
可选地,所述第一计算单元包括:第五计算子单元,适于将e*s2-r的值作为所述第一指数α。
可选地,所述第二计算单元包括:
第一运算子单元,适于计算mα mod s1的值,获得第四值y1;
第二运算子单元,适于计算mr mod s1的值,获得第五值y2;
第三运算子单元,适于计算y1*y2mod s1的值,获得所述第一值y。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
通过根据随机数r、第二私钥s2及待验证的公钥e来获得第一指数α,进而可以使得在验证所述待验证的公钥e是否为正确公钥的过程中,模幂运算的指数为随机值。换言之,每次公钥验证的过程中模幂运算的指数都是变化的,因此可以消除公钥验证过程中产生的中间值与各种泄露信息之间的对应关系,防止攻击者通过获取所述对应关系来破解第一私钥s1或第二私钥s2,提高应用公钥加密算法的设备的安全性。
附图说明
图1是本发明实施例中一种公钥验证的方法流程图;
图2是本发明实施例中一种公钥验证的装置结构示意图;
图3是本发明实施例中一种第一计算单元的结构示意图;
图4是本发明实施例中一种第二计算单元的结构示意图。
具体实施方式
目前,RSA等加密算法在实现时,往往需要用到公钥e。在有些情况下,公钥e并不是已知的,通常需要通过私钥dp或dq来进行验证。由于在公钥验证的过程中,模幂运算的指数e*dp或e*dq通常为固定值,导致公钥验证过程中产生的中间值与所泄露的功耗信息之间存在一定的对应关系,因此攻击者可以通过获取多次公钥验证过程中产生的中间值与所泄露的功耗信息之间的对应关系,破解私钥dp或dq。
针对上述问题,本发明实施例提供了一种公钥验证的方法,在所述方法中,模幂运算的指数α为包含所述随机数r、第二私钥s2、待验证的公钥e的数学式,由此可以使得每次模幂运算的指数α都是变化的,也就可以消除公钥验证过程中产生的中间值与各种泄露信息之间的对应关系,防止攻击者通过获取所述对应关系来破解所述第二私钥s2,提高应用公钥加密算法的设备的安全性。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细地说明。
如图1所示,本发明实施例提供了一种CRT模式下公钥验证的方法,所述方法可以包括如下步骤:
步骤11,获取第一私钥s1、第二私钥s2、待验证的公钥e、随机数m和r,其中,1<m<s1,s2=d mod(s1-1),d为普通模式下的私钥。
步骤12,根据所述随机数r、第二私钥s2及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、第二私钥s2及待验证的公钥e的数学式。
步骤13,对mα进行运算获得第一值y。
步骤14,根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
在具体实施中,RSA算法通常包括两种模式,一种为普通模式,另一种为CRT模式,每种模式对应不同的运算过程。在普通模式下,d为私钥,N为模数,通过判断me*d mod N是否等于m,来验证所述待验证的公钥e是否为正确的公钥。在CRT模式下,可以包括多个私钥,所述多个私钥与普通模式的各参数之间存在一定关联。具体地,CRT模式下的私钥包括:私钥p,私钥dp,私钥q以及私钥dp等,其中,p*q=N,dp=d mod(p-1),dp=d mod(q-1)。
当在CRT模式中应用本发明实施例中的公钥验证方法时,所述第一私钥s1可以为p,也可以为q。当所述第一私钥s1为p时,对应地,所述第二私钥s2为dp。当所述第一私钥s1为q时,对应地,所述第二私钥s2为dq。可以理解的是,无论所述第一私钥s1及第二私钥s2具体为何值,只要满足s2=dmod(s1-1)即可。
在具体实施中,m为(1,s1)区间内的随机数。所述待验证的公钥e为预先设定值,通过步骤11-14来验证待验证的公钥e是否为正确的公钥。
在本发明的一实施例中,所述第一指数α=r*e*s2。相应地,第一值y=mα mod s1,即y=mr*e*s2mod s1。此时,可以通过验证y是否等于mr mod s1,来验证所述待验证的公钥e是否为正确的公钥。
在本发明的另一实施例中,可以先计算(s1-1)*r的值,获得第二值β,再计算s2+β的值,获得第三值γ,最后将γ*e的值作为所述第一指数α,即所述第一指数α=s2+(s1-1)*r。相应地,第一值y=ms2+(s1-1)*r mod s1。此时可以通过验证y是否等于m,来验证所述待验证的公钥e是否为正确的公钥。
在本发明的又一实施例中,所述第一指数α=e*s2-r。相应地,根据所述第一指数α获得第一值y时,可以先计算mα mod s1的值,获得第四值y1,再计算mr mod s1的值,获得第五值y2,最后计算y1*y2mod s1的值获得所述第一值y。也就是说,y1=me*s2-r mod s1,y2=mr mod s1,所述第一值y=y1*y2mod s1=me*s2 mod s1。此时可以通过验证y是否等于m,来验证所述待验证的公钥e是否为正确的公钥。
需要说明的是,在具体实施中,所述第一指数α可以存在其他数学式形式,只要所述数学式中包含所述随机数r、第二私钥s2及待验证的公钥e,且可以通过对mα进行运算获得的第一值y=me*s2 mod s1即可。由于所述第一值y中带有随机数r,因此,在将所述第一值y作为随机数m的指数参与运算时,可以使得随机数m的指数随机化,也就可以使得每次模幂运算时的指数不同,从而可以达到防止攻击的目的。
需要说明的是,本发明实施例中所述公钥验证的方法,既可以适用于签名算法中,也可以适用于解密算法中。具体无论将所述公钥验证的方法应用与何种算法,均不构成对本发明保护范围的限制,且均在本发明的保护范围之内。
为了使本领域技术人员更好地理解和实现本发明,以下对上述公钥验证的方法对应的装置进行详细描述。
如图2所示,本发明实施例提供了CRT模式下公钥验证的装置,所述装置可以包括:获取单元21、第一计算单元22、第二计算单元23以及判断单元24。其中:
所述获取单元21适于获取第一私钥s1、第二私钥s2、待验证的公钥e、随机数m和r,其中,1<m<s1,s2=d mod(s1-1),d为普通模式下的私钥。所述第一计算单元22适于根据所述随机数r、第二私钥s2及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、第二私钥s2及待验证的公钥e的数学式。所述第二计算单元23适于对mα进行运算获得第一值y。所述判断单元24适于根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
在本发明的一实施例中,如图3所示,所述第一计算单元22可以包括:第一计算子单元31,第二计算子单元32以及第三计算子单元33。其中,所述第一计算子单元31适于计算(s1-1)*r的值,获得第二值β。所述第二计算子单元32适于计算s2+β的值,获得第三值γ。所述第三计算子单元33适于计算γ*e的值,获得第一指数α
在本发明的另一实施例中,所述第一计算单元22可以包括第四计算子单元(未示出)。所述第四计算子单元适于计算r*e*s2的值,获得所述第一指数α。
当α=r*e*s2或α=γ*e时,所述第二计算单元32将mα mod s1的值作为所述第一值y。
在本发明的又一实施例中,所述第一计算单元22可以包括第五计算子单元(未示出)。所述第五计算子单元适于将r*d*p-r的值作为所述第一指数α。
此时,如图4所示,所述第二计算单元23包括:第一运算子单元41,第二运算子单元42以及第三运算子单元43。其中,所述第一运算子单元41适于计算mα mod s1的值,获得第四值y1。所述第二运算子单元42,适于计算mr mod s1的值,获得第五值y2。所述第三运算子单元43,适于计算y1*y2的值获得所述第一值y。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (10)
1.一种CRT模式下公钥验证的方法,其特征在于,包括:
获取第一私钥s1、第二私钥s2、待验证的公钥e、随机数m和r,其中,1<m<s1,s2=d mod(s1-1),d为普通模式下的私钥;
根据所述随机数r、第二私钥s2及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、第二私钥s2及待验证的公钥e的数学式;
对mα进行运算获得第一值y;
根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
2.如权利要求1所述的CRT模式下公钥验证的方法,其特征在于,所述根据所述随机数r、第二私钥s2及待验证的公钥e生成第一指数α,包括:
计算(s1-1)*r的值,获得第二值β;
计算s2+β的值,获得第三值γ;
计算γ*e的值,获得第一指数α。
3.如权利要求1所述的CRT模式下公钥验证的方法,其特征在于,所述第一指数α=r*e*s2。
4.如权利要求1所述的CRT模式下公钥验证的方法,其特征在于,所述第一指数α=e*s2-r。
5.如权利要求4所述的CRT模式下公钥验证的方法,其特征在于,所述对mα进行运算获得第一值y包括:
计算mα mod s1的值,获得第四值y1;
计算mr mod s1的值,获得第五值y2;
计算y1*y2 mod s1的值,获得所述第一值y。
6.一种CRT模式下公钥验证的装置,其特征在于,包括:
获取单元,适于获取第一私钥s1、第二私钥s2、待验证的公钥e、随机数m和r,其中,1<m<s1,s2=d mod(s1-1),d为普通模式下的私钥;
第一计算单元,适于根据所述随机数r、第二私钥s2及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、第二私钥s2及待验证的公钥e的数学式;
第二计算单元,适于对mα进行运算获得第一值y;
判断单元,适于根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
7.如权利要求6所述的CRT模式下公钥验证的装置,其特征在于,所述第一计算单元包括:
第一计算子单元,适于计算(s1-1)*r的值,获得第二值β;
第二计算子单元,适于计算s2+β的值,获得第三值γ;
第三计算子单元,适于计算γ*e的值,获得第一指数α。
8.如权利要求6所述的CRT模式下公钥验证的装置,其特征在于,所述第一计算单元包括:第四计算子单元,适于计算r*e*s2的值,获得所述第一指数α。
9.如权利要求6所述的CRT模式下公钥验证的装置,其特征在于,所述第一计算单元包括:第五计算子单元,适于将e*s2-r的值作为所述第一指数α。
10.如权利要求9所述的CRT模式下公钥验证的装置,其特征在于,所述第二计算单元包括:
第一运算子单元,适于计算mα mod s1的值,获得第四值y1;
第二运算子单元,适于计算mr mod s1的值,获得第五值y2;
第三运算子单元,适于计算y1*y2 mod s1的值,获得所述第一值y。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510750668.2A CN106685643B (zh) | 2015-11-07 | 2015-11-07 | Crt模式下公钥验证的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510750668.2A CN106685643B (zh) | 2015-11-07 | 2015-11-07 | Crt模式下公钥验证的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106685643A true CN106685643A (zh) | 2017-05-17 |
CN106685643B CN106685643B (zh) | 2019-07-19 |
Family
ID=58858572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510750668.2A Active CN106685643B (zh) | 2015-11-07 | 2015-11-07 | Crt模式下公钥验证的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106685643B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379185A (zh) * | 2018-10-22 | 2019-02-22 | 飞天诚信科技股份有限公司 | 一种安全的rsa运算实现方法及装置 |
CN112738135A (zh) * | 2021-01-29 | 2021-04-30 | 李晓坤 | 一种基于数字证书的无感知认证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119196A (zh) * | 2006-08-03 | 2008-02-06 | 西安电子科技大学 | 一种双向认证方法及系统 |
CN101523800A (zh) * | 2006-10-10 | 2009-09-02 | 高通股份有限公司 | 用于双向认证的方法和装置 |
CN104660400A (zh) * | 2013-11-25 | 2015-05-27 | 上海复旦微电子集团股份有限公司 | 一种rsa模幂运算方法和装置 |
-
2015
- 2015-11-07 CN CN201510750668.2A patent/CN106685643B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119196A (zh) * | 2006-08-03 | 2008-02-06 | 西安电子科技大学 | 一种双向认证方法及系统 |
CN101523800A (zh) * | 2006-10-10 | 2009-09-02 | 高通股份有限公司 | 用于双向认证的方法和装置 |
CN104660400A (zh) * | 2013-11-25 | 2015-05-27 | 上海复旦微电子集团股份有限公司 | 一种rsa模幂运算方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379185A (zh) * | 2018-10-22 | 2019-02-22 | 飞天诚信科技股份有限公司 | 一种安全的rsa运算实现方法及装置 |
CN109379185B (zh) * | 2018-10-22 | 2021-04-27 | 飞天诚信科技股份有限公司 | 一种安全的rsa运算实现方法及装置 |
CN112738135A (zh) * | 2021-01-29 | 2021-04-30 | 李晓坤 | 一种基于数字证书的无感知认证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106685643B (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Medwed et al. | Template attacks on ECDSA | |
US8472621B2 (en) | Protection of a prime number generation for an RSA algorithm | |
CN104052606B (zh) | 数字签名、签名认证装置以及数字签名方法 | |
US10594471B2 (en) | Multiplicative blinding for cryptographic operations | |
US8983064B2 (en) | Strengthened public key protocol | |
US20150334096A1 (en) | Method and arrangement for secure communication between network units in a communication network | |
US20130279692A1 (en) | Protecting modular exponentiation in cryptographic operations | |
CN103262464B (zh) | 加密方法 | |
CN105991292A (zh) | 用于操作安全椭圆曲线密码系统的系统和方法 | |
WO2016083864A1 (en) | Methods for recovering secret data of a cryptographic device and for evaluating the security of such a device | |
CN109214195A (zh) | 一种抗差分功耗攻击的sm2椭圆曲线签名验签硬件系统及方法 | |
Abd El-Wahed et al. | Efficiency and security of some image encryption algorithms | |
CN106464501A (zh) | 认证装置及方法 | |
JP2010164904A (ja) | 楕円曲線演算処理装置、楕円曲線演算処理プログラム及び方法 | |
CN106972924A (zh) | 加密、解密、电子签章、验证签章的方法及装置 | |
CN114239031A (zh) | 一种用户隐私数据的处理方法及处理装置 | |
TWI512610B (zh) | 利用模數的特殊形式之模組約化 | |
CN106357378B (zh) | 用于sm2签名的密钥检测方法及其系统 | |
CN106685643A (zh) | Crt模式下公钥验证的方法及装置 | |
US9780946B2 (en) | Elliptic curve encryption method comprising an error detection | |
CN108769038A (zh) | 基于区块链的数据处理方法及装置 | |
US7454625B2 (en) | Method and apparatus for protecting a calculation in a cryptographic algorithm | |
CN106712964A (zh) | 一种基于Java卡的应用验证方法及验证系统 | |
Aminudin et al. | A practical analysis of the fermat factorization and pollard rho method for factoring integers | |
CN106685661A (zh) | 公钥验证的方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |