对公钥加密算法RSA的错误注入攻击方法和装置制造方法及图纸

技术编号:14676695 阅读:55 留言:0更新日期:2017-02-19 02:20
本申请提出一种对公钥加密算法RSA的错误注入攻击方法和装置,该方法包括:获取RSA算法对明文的值进行加密运算得到的第一加密结果;对所述明文的值进行错误注入攻击,得到错误明文的值;使用所述RSA算法对所述错误明文的值进行加密,得到第二加密结果;根据所述明文的值、所述错误明文的值、所述第一加密结果、所述第二加密结果之间的运算关系,求解所述明文。该方法攻击范围的精度要求低,实现简单,且攻击过程的时间复杂度较低。

【技术实现步骤摘要】

本申请涉及时间同步
,尤其涉及一种对公钥加密算法RSA的错误注入攻击方法和装置
技术介绍
随着信息技术的迅猛发展,信息安全重要性是毋庸置疑的。虽然安全芯片中有复杂的加解密算法和密钥保护机制,然而近年来安全芯片易受到错误注入攻击,从而导致在加密算法执行的过程中产生瞬态的逻辑错误,攻击者通过分析正确的和错误的加密结果,最终引起密钥的泄露。安全芯片的错误注入攻击已被列为美国联邦信息处理标准“FIPS140-3”中重要的一类攻击方式。因此,对新的错误注入攻击方法的研究能够帮助设计者及早发现算法及硬件中存在的潜在风险,使得在设计阶段就能做出相应的防御措施,规避可能的风险。目前的研究中提出的对RSA(RSAalgorithm,公钥加密算法)的攻击方法主要包括这几类:对RSA的私钥进行一位或者两位的错误注入攻击,对RSA进行部分密钥攻击以及对CRT-RSA运算中的Sp或者Sq进行错误注入攻击。对于已有的几种错误注入攻击方法,第一种方法要求错误注入的精度很高,而且耗时很长才能逐位破解出全部密钥位,另外,实际使用中,设计者都对密钥位做了防护,所以直接攻击密钥也很难轻易实现。第二种方法是基于一部分已知的密钥位来破解出其余的密钥位的方法,该方法对已知的密钥位有严格的要求,破解的算法比较复杂。最后一种攻击方法的前提是算法必须基于CRT-RSA才有效,但由于CRT-RSA面积开销比较大,所以用的场合比较少。
技术实现思路
为解决现有技术中的上述问题,本申请的一个目的在于提出一种对公钥加密算法RSA的错误注入攻击方法,对明文的攻击范围要求宽松,攻击精度要求低,复杂度低。为达到上述目的,本申请实施例提出的对公钥加密算法RSA的错误注入攻击方法,包括:获取RSA算法对明文的值进行加密运算得到的第一加密结果;对所述明文的值进行错误注入攻击,得到错误明文的值;使用所述RSA算法对所述错误明文的值进行加密,得到第二加密结果;根据所述明文的值、所述错误明文的值、所述第一加密结果、所述第二加密结果之间的运算关系,求解所述明文。为达到上述目的,本申请实施例提出的对公钥加密算法RSA的错误注入攻击装置,包括:获取模块,用于获取RSA算法对明文的值进行加密运算得到的第一加密结果;攻击模块,用于对所述明文的值进行错误注入攻击,得到错误明文的值;加密模块,用于使用所述RSA算法对所述错误明文的值进行加密,得到第二加密结果;求解模块,用于根据所述明文的值、所述错误明文的值、所述第一加密结果、所述第二加密结果之间的运算关系,求解所述明文。由以上本申请实施例提供的技术方案可见,通过对RSA算法加密中的明文进行错误注入攻击,获取一个对正确明文的加密结果和一个队错误明文的加密结果,根据已知的RSA算法、公钥和注入的错误字段,即可通过现有的数学手段推导计算得到明文的值,进而破解RSA算法加密的明文,攻击范围的精度要求低,实现简单,且攻击过程的时间复杂度较低。本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请一实施例的对公钥加密算法RSA的错误注入攻击方法的流程示意图;图2是本申请另一实施例的对公钥加密算法RSA的错误注入攻击方法的流程示意图;图3是本申请一实施例的对公钥加密算法RSA的错误注入攻击装置的结构示意图;图4是本申请另一实施例的对公钥加密算法RSA的错误注入攻击装置的结构示意图。具体实施方式本申请实施例提供一种对公钥加密算法RSA的错误注入攻击方法和装置。需要理解的是,错误注入攻击指在密码芯片设备中通过在密码算法中引入错误,导致密码设备产生错误结果,对错误结果进行分析从而得到密钥。错误注入的攻击方法与攻击对象所采用的密码算法的算法实现方法和原理有关,攻击方法是从该算法实现中找到攻击点并提取出攻击方法,所以针对的密码算法不同,攻击的原理也不同。为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。图1是本申请一实施例提出的对公钥加密算法RSA的错误注入攻击方法的流程示意图,如图1所示,该方法包括:步骤101,获取RSA算法对明文的值进行加密运算得到的第一加密结果。步骤102,对所述明文的值进行错误注入攻击,得到错误明文的值。步骤103,使用所述RSA算法对所述错误明文的值进行加密,得到第二加密结果。步骤104,根据所述明文的值、所述错误明文的值、所述第一加密结果、所述第二加密结果之间的运算关系,求解所述明文。具体地,上述的明文为需要破解的字符串,在RSA运算的硬件实现过程中会将输入的明文转换为数值m,例如通过Unicode编码或者二进制编码等进行转换,然后对m进行加密运算。本专利技术的错误注入攻击方法的攻击目标是明文,对明文的攻击范围要求很宽松,不要求高精度的攻击。对明文的错误注入攻击可以是对实现算法的硬件芯片进行粒子级别的攻击,使其运算中的明文码值产生变化。本方法的原理是先对未知的明文进行一次正确的加密得到加密结果c,然后在对明文进行错误注入攻击的情况下,再使用原来的算法进行一次加密得到错误的加密结果c’。由于加密算法是已知的,加密结果也是可以知道的,因此,根据一次错误的加密结果和一次正确的加密结果就能计算得出明文的值,进而分析出明文的内容。根据本申请的一个实施例,在所述明文的值m中随机注入错误字段,得到所述错误明文的值m’=m+r,其中,r为错误字段的值。具体地,可利用激光、重粒子等常见的错误注入工具对明文进行错误注入攻击,实际是通过物理手段使特定位置的数字产生翻转或变化,得到错误明文的值,这一过程可以等效为随机生成一个值r,将r与m相加得到新的明文m’=m+r。本申请的实施例通过对RSA算法加密中的明文进行错误注入攻击,获取一个对正确明文的加密结果和一个队错误明文的加密结果,根据已知的RSA算法、公钥和注入的错误字段,即可通过现有的数学手段推导计算得到明文的值,进而破解RSA算法加密的明文,攻击范围的精度要求低,实现简单,且攻击过程的时间复杂度较低。图2是本申请另一实施例提出的对公钥加密算法RSA的错误注入攻击方法的流程示意图,如图2所示,该方法包括:步骤201,使用RSA算法对明文进行加密运算,得到第一加密结果。具体的,明文为需要破解的字符串,在RSA运算的硬件实现过程中会将输入的明文转换为数值m,例如通过Unicode编码或者二进制编码等进行转换,然后对m进行加密运算。设RSA算法中(e,N)为公钥对,(d,N)为私钥对,m为明文的值,c为密文,m’为被错误注入攻击后的明文的值,c'为错误的加密结果,输入明文进行加密运算,得到第一加密结果:c=me(本文档来自技高网
...
对公钥加密算法RSA的错误注入攻击方法和装置

【技术保护点】
一种对公钥加密算法RSA的错误注入攻击方法,其特征在于,包括:获取RSA算法对明文的值进行加密运算得到的第一加密结果;对所述明文的值进行错误注入攻击,得到错误明文的值;使用所述RSA算法对所述错误明文的值进行加密,得到第二加密结果;根据所述明文的值、所述错误明文的值、所述第一加密结果、所述第二加密结果之间的运算关系,求解所述明文。

【技术特征摘要】
1.一种对公钥加密算法RSA的错误注入攻击方法,其特征在于,包括:获取RSA算法对明文的值进行加密运算得到的第一加密结果;对所述明文的值进行错误注入攻击,得到错误明文的值;使用所述RSA算法对所述错误明文的值进行加密,得到第二加密结果;根据所述明文的值、所述错误明文的值、所述第一加密结果、所述第二加密结果之间的运算关系,求解所述明文。2.根据权利要求1所述的方法,其特征在于,所述对所述明文的值进行错误注入攻击,得到错误明文的值,包括:在所述明文的值m中随机注入错误字段,得到所述错误明文的值m’=m+r,其中,r为错误字段的值。3.根据权利要求2所述的方法,其特征在于,当所述错误字段的值r未知时,在所述求解所述明文之前,所述方法还包括求解所述错误字段的值r,具体包括:根据所述明文的值、所述错误明文的值、所述第一加密结果、所述第二加密结果之间的加密关系建立结式Resultant(me-c,(m+r)e-c');根据所述结式与模数N的模等关系式Resultant(me-c,(m+r)e-c')=0modN,求解所述错误字段的值r,其中,c为第一加密结果,c’为第二加密结果,(e,N)为所述RSA的公钥对,e为加密指数,N为模数。4.根据权利要求3所述的方法,其特征在于,所述错误注入攻击满足5.根据权利要求2-4任一项所述的方法,其特征在于,当所述错误字段已知时,所述根据所述明文的值、所述错误明文的值、所述第一加密结果、所述第二加密结果之间的运算关系,求解所述明文,具体包括:根据所述明文的值m、所述错误明文的值m’、所述错误字段的值r与所述第一加密结果c、所述第二加密结果c’之间的加密关系推导得到所述明文的值m关于所述错误字段的值r、所述第一加密结果c和所述第二加密结果c’的计算式;将所述错误字段的值r、所述第一加密结果c和所述第二加密结果c’代入所述计算式,求解所述明文的值m。6.根据权利要求3所述的方法,其特征在于,所述根据所述结式与模数N的模等式关系Resultant(me-c,(m+r)e...

【专利技术属性】
技术研发人员:邵翠萍李慧云唐烨
申请(专利权)人:深圳先进技术研究院
类型:发明
国别省市:广东;44

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

1