CN106685661A - 公钥验证的方法及装置 - Google Patents
公钥验证的方法及装置 Download PDFInfo
- Publication number
- CN106685661A CN106685661A CN201510750609.5A CN201510750609A CN106685661A CN 106685661 A CN106685661 A CN 106685661A CN 201510750609 A CN201510750609 A CN 201510750609A CN 106685661 A CN106685661 A CN 106685661A
- Authority
- CN
- China
- Prior art keywords
- value
- public key
- verified
- index
- random number
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
一种公钥验证的方法及装置。所述方法包括:获取私钥d、待验证的公钥e、随机数m和r,其中,1<m<N,N为模数;根据所述随机数r、私钥d以及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、私钥d以及待验证的公钥e的数学式;对mα进行运算获得第一值y;根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。应用所述方法可以提高应用公钥加密算法的设备的安全性。
Description
技术领域
本发明涉及数据安全的技术领域,具体涉及一种公钥验证的方法及装置。
背景技术
目前,攻击者一般可以通过采集密码系统、加密芯片等硬件设备在进行加密、解密或签名操作时所泄露的功耗等信息,利用密码学、概率、统计学原理,分析和破译密钥信息。
例如,在利用RSA公钥加密算法进行加密、解密或签名操作的硬件设备中,攻击者可以通过采集公钥验证过程中产生的功耗信息并进行分析,来破解该硬件设备的私钥。
发明内容
本发明解决的技术问题是如何提高应用公钥加密算法的设备的安全性。
为解决上述技术问题,本发明实施例提供一种公钥验证的方法,所述方法包括:
获取私钥d、待验证的公钥e、随机数m和r,其中,1<m<N,N为模数;
根据所述随机数r、私钥d以及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、私钥d以及待验证的公钥e的数学式;
对mα进行运算获得第一值y;
根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
可选地,所述根据所述随机数r、私钥d以及待验证的公钥e获得第一指数α,包括:
计算e*d-1的值,获得第二值β;
计算r*β+d的值,获得第三值γ;
计算γ*e的值,获得第一指数α。
可选地,所述第一指数α=r*d*e。
可选地,采用如下公式对mα进行运算获得第一值y:y=mα mod N。
可选地,所述第一指数α=e*d-r。
可选地,所述计算第一值y包括:
计算mα mod N的值,获得第四值y1;
计算mr mod N的值,获得第五值y2;
计算y1*y2mod N的值,获得所述第一值y。
本发明实施例还提供了一种公钥验证的装置,所述装置包括:
获取单元,适于获取私钥d、待验证的公钥e、随机数m和r,其中,1<m<N,N为模数;
第一计算单元,适于根据所述随机数r、私钥d以及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、私钥d以及待验证的公钥e的数学式;
第二计算单元,适于对mα进行运算获得第一值y;
判断单元,适于根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
可选地,所述第一计算单元包括:
第一计算子单元,适于计算e*d-1的值,获得第二值β;
第二计算子单元,适于计算r*β+d的值,获得第三值γ;
第三计算子单元,适于计算γ*e的值,获得第一指数α。
可选地,所述第一计算单元包括:第四计算子单元,适于r*d*e的值作为所述第一指数α。
可选地,所述第二计算单元包括:第一运算子单元,适于将mα mod N的值作为所述第一值y。
可选地,所述第一计算单元包括:第五计算子单元,适于将d*e-r的值作为所述第一指数α。
可选地,所述第二计算单元包括:
第二运算子单元,适于计算mα mod N的值,获得第四值y1;
第三运算子单元,适于计算mr mod N的值,获得第五值y2;
第四运算子单元,适于计算y1*y2mod N的值,获得所述第一值y。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
通过根据随机数r、私钥d及待验证的公钥e来获得第一指数α,进而可以使得在验证所述待验证的公钥e是否为正确公钥的过程中,模幂运算的指数为随机值。换言之,每次公钥验证的过程中模幂运算的指数都是变化的,因此可以消除公钥验证过程中产生的中间值与各种泄露信息之间的对应关系,防止攻击者通过获取所述对应关系来破解所述私钥d,提高应用公钥加密算法的设备的安全性。
附图说明
图1是本发明实施例中一种公钥验证的方法流程图;
图2是本发明实施例中一种公钥验证的装置结构示意图;
图3是本发明实施例中一种第一计算的单元的结构示意图;
图4是本发明实施例中一种第二计算的单元的结构示意图。
具体实施方式
目前,RSA等加密算法在实现时,往往需要用到公钥e。在有些情况下,公钥e并不是已知的,通常需要通过私钥d来进行验证。由于在公钥验证的过程中,模幂运算的指数e*d通常为固定值,导致公钥验证过程中产生的中间值与所泄露的功耗信息之间存在一定的对应关系,因此攻击者可以通过获取多次公钥验证过程中产生的中间值与所泄露的功耗信息之间的对应关系,破解私钥d。
针对上述问题,本发明实施例提供了一种公钥验证的方法,在所述方法中,模幂运算的指数α为包含所述随机数r、私钥d及待验证的公钥e的数学式,由此可以使得每次模幂运算的指数α都是变化的,也就可以消除公钥验证过程中产生的中间值与各种泄露信息之间的对应关系,防止攻击者通过获取所述对应关系来破解所述私钥d,提高应用公钥加密算法的设备的安全性。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细地说明。
如图1所示,本发明实施例提供了一种公钥验证的方法,所述方法可以包括如下步骤:
步骤11,获取私钥d、待验证的公钥e、随机数m和r,其中,1<m<N,N为模数。
步骤12,根据所述随机数r、私钥d及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、私钥d、待验证的公钥e及p的数学式。
步骤13,对mα进行运算获得第一值y。
步骤14,根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
在具体实施中,m为(1,N)区间内的随机数。所述私钥d为已知,待验证的公钥e为预先设定值,通过步骤11-14来验证待验证的公钥e是否为正确的公钥。
在本发明的一实施例中,所述第一指数α=r*d*e。相应地,第一值y=mαmod N,即y=mr*d*emod N。此时,可以通过验证y是否等于mr mod N,来验证所述待验证的公钥e是否为正确的公钥。
在本发明的另一实施例中,可以先计算e*d-1的值,获得第二值β,再计算r*β+d的值,获得第三值γ,最后将γ*e的值作为所述第一指数α,即所述第一指数α=d+(e*d-1)*r。相应地,第一值y=m d+(e*d-1)*r mod N。此时可以通过验证y是否等于m,来验证所述待验证的公钥e是否为正确的公钥。
在本发明的又一实施例中,所述第一指数α=e*d-r。相应地,根据所述第一指数α获得第一值y时,可以先计算mαmod N的值,获得第四值y1,再计算mr mod N的值,获得第五值y2,最后计算y1*y2mod N的值获得所述第一值y。也就是说,y1=m e*d-r mod N,y2=mr mod N,所述第一值y=y1*y2modN=m e*d-r mod N*mr mod N=m e*d mod N。此时可以通过验证y是否等于m,来验证所述待验证的公钥e是否为正确的公钥。
需要说明的是,在具体实施中,所述第一指数α可以存在其他数学式形式,只要所述数学式中包含所述随机数r、私钥d及待验证的公钥e,且可以通过对mα进行运算获得的第一值y来对待验证的公钥e进行验证即可。由于所述第一值y中带有随机数r,因此,在将所述第一值y作为随机数m的指数参与运算时,可以使得随机数m的指数随机化,也就可以使得每次模幂运算时的指数不同,从而可以达到防止攻击的目的。
需要说明的是,本发明实施例中所述公钥验证的方法,既可以适用于签名算法中,也可以适用于解密算法中。具体无论将所述公钥验证的方法应用与何种算法,均不构成对本发明的限制,且均在本发明的保护范围之内。
为了使本领域技术人员更好地理解和实现本发明,以下对上述公钥验证的方法对应的装置进行详细描述。
如图2所示,本发明实施例提供了公钥验证的装置,所述装置可以包括:获取单元21、第一计算单元22、第二计算单元23以及判断单元24。其中:
所述获取单元21适于获取私钥d、待验证的公钥e、随机数m和r,其中,1<m<N,N为模数。所述第一计算单元22适于根据所述随机数r、私钥d及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、私钥d及待验证的公钥e的数学式。所述第二计算单元23适于对mα进行运算获得第一值y。所述判断单元24适于根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
在本发明的一实施例中,如图3所示,所述第一计算单元22可以包括:第一计算子单元31,第二计算子单元32以及第三计算子单元33。其中,所述第一计算子单元31适于计算e*d-1的值,获得第二值β。所述第二计算子单元32适于计算r*β+d的值,获得第三值γ。所述第三计算子单元33适于计算γ*e的值,获得第一指数α
在本发明的另一实施例中,所述第一计算单元22可以包括第四计算子单元(未示出)。所述第四计算子单元适于计算r*d*e的值,获得所述第一指数α。
当α=r*d*e或α=γ*e时,所述第二计算单元32包括:第一运算子单元(未示出),适于将mα mod N的值作为所述第一值y。
在本发明的又一实施例中,所述第一计算单元22可以包括第五计算子单元(未示出)。所述第五计算子单元适于将d*e-r的值作为所述第一指数α。
此时,如图4所示,所述第二计算单元23包括:第二运算子单元41,第三运算子单元42以及第四运算子单元43。其中,所述第二运算子单元41适于计算mα mod N的值,获得第四值y1。所述第三运算子单元42,适于计算mr mod N的值,获得第五值y2。所述第四运算子单元43,适于计算y1*y2modN的值获得所述第一值y。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (12)
1.一种公钥验证的方法,其特征在于,包括:
获取私钥d、待验证的公钥e、随机数m和r,其中,1<m<N,N为模数;
根据所述随机数r、私钥d以及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、私钥d以及待验证的公钥e的数学式;
对mα进行运算获得第一值y;
根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
2.如权利要求1所述的公钥验证的方法,其特征在于,所述根据所述随机数r、私钥d以及待验证的公钥e获得第一指数α,包括:
计算e*d-1的值,获得第二值β;
计算r*β+d的值,获得第三值γ;
计算γ*e的值,获得第一指数α。
3.如权利要求1所述的公钥验证的方法,其特征在于,所述第一指数α=r*d*e。
4.如权利要求2或3所述的公钥验证的方法,其特征在于,采用如下公式对mα进行运算获得第一值y:y=mαmod N。
5.如权利要求1所述的公钥验证的方法,其特征在于,所述第一指数α=e*d-r。
6.如权利要求5所述的公钥验证的方法,其特征在于,所述计算第一值y包括:
计算mαmod N的值,获得第四值y1;
计算mr mod N的值,获得第五值y2;
计算y1*y2mod N的值,获得所述第一值y。
7.一种公钥验证的装置,其特征在于,包括:
获取单元,适于获取私钥d、待验证的公钥e、随机数m和r,其中,1<m<N,N为模数;
第一计算单元,适于根据所述随机数r、私钥d以及待验证的公钥e获得第一指数α,所述第一指数α为包含所述随机数r、私钥d以及待验证的公钥e的数学式;
第二计算单元,适于对mα进行运算获得第一值y;
判断单元,适于根据所述第一值y判断所述待验证的公钥e是否为正确的公钥。
8.如权利要求7所述的公钥验证的装置,其特征在于,所述第一计算单元包括:
第一计算子单元,适于计算e*d-1的值,获得第二值β;
第二计算子单元,适于计算r*β+d的值,获得第三值γ;
第三计算子单元,适于计算γ*e的值,获得第一指数α。
9.如权利要求7所述的公钥验证的装置,其特征在于,所述第一计算单元包括:第四计算子单元,适于r*d*e的值作为所述第一指数α。
10.如权利要求8或9所述的公钥验证的装置,其特征在于,所述第二计算单元包括:第一运算子单元,适于将mαmod N的值作为所述第一值y。
11.如权利要求7所述的公钥验证的装置,其特征在于,所述第一计算单元包括:第五计算子单元,适于将d*e-r的值作为所述第一指数α。
12.如权利要求11所述的公钥验证的装置,其特征在于,所述第二计算单元包括:
第二运算子单元,适于计算mαmod N的值,获得第四值y1;
第三运算子单元,适于计算mr mod N的值,获得第五值y2;
第四运算子单元,适于计算y1*y2mod N的值,获得所述第一值y。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510750609.5A CN106685661B (zh) | 2015-11-07 | 2015-11-07 | 公钥验证的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510750609.5A CN106685661B (zh) | 2015-11-07 | 2015-11-07 | 公钥验证的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106685661A true CN106685661A (zh) | 2017-05-17 |
CN106685661B CN106685661B (zh) | 2019-07-19 |
Family
ID=58858599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510750609.5A Active CN106685661B (zh) | 2015-11-07 | 2015-11-07 | 公钥验证的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106685661B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282930A (zh) * | 2020-02-19 | 2021-08-20 | 瑞昱半导体股份有限公司 | 具有固件验证机制的电脑系统及其固件验证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119196A (zh) * | 2006-08-03 | 2008-02-06 | 西安电子科技大学 | 一种双向认证方法及系统 |
CN103095459A (zh) * | 2013-01-17 | 2013-05-08 | 广东数字证书认证中心有限公司 | 公钥密码体制中模幂运算方法、设备和服务器 |
CN104660400A (zh) * | 2013-11-25 | 2015-05-27 | 上海复旦微电子集团股份有限公司 | 一种rsa模幂运算方法和装置 |
-
2015
- 2015-11-07 CN CN201510750609.5A patent/CN106685661B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119196A (zh) * | 2006-08-03 | 2008-02-06 | 西安电子科技大学 | 一种双向认证方法及系统 |
CN103095459A (zh) * | 2013-01-17 | 2013-05-08 | 广东数字证书认证中心有限公司 | 公钥密码体制中模幂运算方法、设备和服务器 |
CN104660400A (zh) * | 2013-11-25 | 2015-05-27 | 上海复旦微电子集团股份有限公司 | 一种rsa模幂运算方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282930A (zh) * | 2020-02-19 | 2021-08-20 | 瑞昱半导体股份有限公司 | 具有固件验证机制的电脑系统及其固件验证方法 |
CN113282930B (zh) * | 2020-02-19 | 2024-03-01 | 瑞昱半导体股份有限公司 | 具有固件验证机制的电脑系统及其固件验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106685661B (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103997402B (zh) | 一种加密芯片安全性能测试方法和装置 | |
Medwed et al. | Template attacks on ECDSA | |
US8472621B2 (en) | Protection of a prime number generation for an RSA algorithm | |
US10594471B2 (en) | Multiplicative blinding for cryptographic operations | |
CN106612180A (zh) | 实现会话标识同步的方法及装置 | |
EP3038286A1 (en) | Information processing method, information processing program, and information processing apparatus | |
Lashermes et al. | A DFA on AES based on the entropy of error distributions | |
US10628592B2 (en) | Methods for recovering secret data of a cryptographic device and for evaluating the security of such a device | |
US20150334096A1 (en) | Method and arrangement for secure communication between network units in a communication network | |
US20130279692A1 (en) | Protecting modular exponentiation in cryptographic operations | |
Kabin et al. | Horizontal address-bit DEMA against ECDSA | |
Abd El-Wahed et al. | Efficiency and security of some image encryption algorithms | |
CN109117674A (zh) | 一种客户端验证加密方法、系统、设备及计算机介质 | |
WO2018019233A1 (zh) | 一种运算方法和安全芯片 | |
KR101623493B1 (ko) | 금융 ic 카드 암호문 데이터 생성 절차에 적합한 부채널 분석 대응 방법 | |
TWI512610B (zh) | 利用模數的特殊形式之模組約化 | |
CN103326861B (zh) | 一种对数据进行rsa安全签名的方法、装置及安全芯片 | |
EP3200173B1 (en) | Method of protecting electronic circuit against eavesdropping by power analysis and electronic circuit using the same | |
KR20160114252A (ko) | 부채널 분석 연산 방법 | |
CN106685643A (zh) | Crt模式下公钥验证的方法及装置 | |
CN106685661A (zh) | 公钥验证的方法及装置 | |
CN114884714B (zh) | 任务处理方法、装置、设备及存储介质 | |
US8422683B2 (en) | Appraising systems with zero knowledge proofs | |
US9755829B2 (en) | Generation of cryptographic keys | |
CN104753664B (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 |