公钥验证的方法及装置与流程

文档序号:11929742阅读:550来源:国知局
公钥验证的方法及装置与流程

本发明涉及数据安全的技术领域,具体涉及一种公钥验证的方法及装置。



背景技术:

目前,攻击者一般可以通过采集密码系统、加密芯片等硬件设备在进行加密、解密或签名操作时所泄露的功耗等信息,利用密码学、概率、统计学原理,分析和破译密钥信息。

例如,在利用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*y2mod N=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*y2mod N的值获得所述第一值y。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。

虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1