CN103326861A - 一种对数据进行rsa安全签名的方法、装置及安全芯片 - Google Patents
一种对数据进行rsa安全签名的方法、装置及安全芯片 Download PDFInfo
- Publication number
- CN103326861A CN103326861A CN2013102183905A CN201310218390A CN103326861A CN 103326861 A CN103326861 A CN 103326861A CN 2013102183905 A CN2013102183905 A CN 2013102183905A CN 201310218390 A CN201310218390 A CN 201310218390A CN 103326861 A CN103326861 A CN 103326861A
- Authority
- CN
- China
- Prior art keywords
- random number
- inverse element
- original random
- signature
- original
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明实施例公开了一种对数据进行RSA安全签名的方法、装置及安全芯片,该方法包括:预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元;n为1或2;存储所述RSA私钥、所述n个原始随机数及其逆元;当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。本发明实施例能够缩短对数据进行RSA安全签名的运算时间,提高对数据进行RSA安全签名的运算性能。
Description
技术领域
本发明涉及数据处理技术,尤其涉及一种对数据进行RSA安全签名的方法、装置及安全芯片。
背景技术
RSA公钥加密算法是一种主流的公钥密码算法,广泛应用于信息认证和加密领域。基于RSA公钥密码算法实现的对数据进行签名的RSA安全签名方法,在应用于智能卡芯片、USB Key芯片等安全芯片中时,需要能够抵御多种对于所述安全芯片的攻击行为,这些攻击行为的目的是获取上述芯片中的RSA私钥或RSA私钥的部分信息。
上述对于安全芯片的攻击行为主要可以分为两类:
第一类是侧信道攻击(Side Channel Attacks,SCA),SCA通过观测和分析密码运算过程中的功耗、时序、电磁辐射等侧信道信息来获取RSA私钥或RSA私钥的部分信息,SCA包括简单功耗分析/攻击(Simple Power Analysis/Attack,SPA)、差分功耗分析/攻击(Differential Power Analysis/Attack,DPA)、(Electromagnetic Analysis/Attack,EMA)、时序分析/攻击(Timing Analysis/Attack,TA)等;SCA不主动干扰安全芯片的运行,属于被动攻击。
第二类是错误分析/攻击(Fault Analysis/Attacks,FA),FA引入错误干扰密码运算过程,通过观测和分析密码运算设备对错误的反应和可能返回的隐含错误的结果来获取密钥或密钥的部分信息;FA主动干扰安全芯片的运行,属于主动攻击。
现有技术中,RSA私钥主要都是在模幂运算阶段泄露的。例如,假设RSA的私钥为d、p和q,其中p和q为两个大素数,则对应的RSA公钥为e和N=p*q。RSA私钥d参与的关键运算是md mod N,如果采用中国剩余定理(CRT)计算md mod N,则在RSA安全签名处理中需要计算mdp mod p和mdqmod q,其中dp=d mod(p-1)、dq=d mod(q-1)。不管是SCA还是FA,都是在模幂运算md mod N、mdp mod p和mdq mod q过程中获取RSA私钥或RSA私钥的部分信息的。因此,现有技术中一般在模幂运算中加入防御措施以保证RSA安全签名方法的安全性,其中常用的一种防御措施是在进行模幂运算时使用采用随机数对底数或运算结果存储单元的初始值进行随机化的安全模幂算法进行RSA安全签名过程中的模幂运算。
但是,发明人发现采用上述安全模幂算法实现的RSA安全签名方法对数据进行RSA安全签名时,运算时间长,运算性能差。
发明内容
本发明实施例中提供了一种对数据进行RSA安全签名的方法、装置及安全芯片,能够缩短对数据进行RSA安全签名的运算时间,提高对数据进行RSA安全签名的运算性能。
本发明实施例提供一种对数据进行RSA安全签名的方法,其特征在于,包括:
预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元;n为1或2;
存储所述RSA私钥、所述n个原始随机数及其逆元;
当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。
其中,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;
根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名包括:
产生一个第一小随机数,所述第一小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算所述原始随机数的第一小随机数次幂,得到签名所需随机数;计算所述原始随机数的逆元的第一小随机数次幂,得到所述签名所需随机数的逆元;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;
根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名包括:
计算所述原始随机数的m1次幂,得到签名所需随机数;计算所述原始随机数的逆元的m1次幂,得到所述签名所需随机数的逆元;m1为大于1的自然数;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;
所述根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名包括:
产生第二小随机数和第三小随机数,所述第二小随机数和第三小随机数均是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算第一原始随机数的第二小随机数次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的第二小随机数次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的第三小随机数次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的第三小随机数次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;
所述根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名包括:
计算第一原始随机数的m2次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的m2次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的m3次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的m3次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
还包括:更新存储的所述n个原始随机数及其逆元。
所述更新存储的所述n个原始随机数及其逆元包括:
重新产生n个原始随机数,并计算重新产生的n个原始随机数中每个随机数的逆元;
将存储的所述n个原始随机数及其逆元替换为重新产生的所述n个原始随机数及其逆元。
所述更新存储的所述n个原始随机数及其逆元包括:
产生第四小随机数,所述第四小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
对于每个原始随机数及其逆元,计算该原始随机数的第四小随机数次幂作为新的原始随机数,计算该原始随机数的逆元的第四小随机数次幂作为所述新的原始随机数的逆元;
使用计算得到的所述新的原始随机数及其逆元替换存储的所述n个原始随机数及其逆元。
存储所述RSA私钥、所述n个随机数及其逆元包括:将所述RSA私钥、所述n个随机数及其逆元存储在非易失性存储器中。
本发明实施例还提供一种对数据进行RSA安全签名的装置,包括:
预处理单元,用于预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元;n为1或2;
存储单元,用于存储所述RSA私钥、所述n个原始随机数及其逆元;
签名单元,用于当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。
其中,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;
所述签名单元具体用于:
产生一个第一小随机数,所述第一小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算所述原始随机数的第一小随机数次幂,得到签名所需随机数;计算所述原始随机数的逆元的第一小随机数次幂,得到所述签名所需随机数的逆元;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;所述签名单元具体用于:
计算所述原始随机数的m1次幂,得到签名所需随机数;计算所述原始随机数的逆元的m1次幂,得到所述签名所需随机数的逆元;m1为大于1的自然数;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;所述签名单元具体用于:
产生第二小随机数和第三小随机数,所述第二小随机数和第三小随机数均是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算第一原始随机数的第二小随机数次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的第二小随机数次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的第三小随机数次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的第三小随机数次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;所述签名单元具体用于:
计算第一原始随机数的m2次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的m2次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的m3次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的m3次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
还包括:
更新单元,用于更新所述存储单元存储的所述n个原始随机数及其逆元。
所述更新单元具体用于:
重新产生n个原始随机数,并计算重新产生的n个原始随机数中每个随机数的逆元;
将存储的所述n个原始随机数及其逆元替换为重新产生的所述n个原始随机数及其逆元。
所述更新单元具体用于:
产生第四小随机数,所述第四小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
对于每个原始随机数及其逆元,计算该原始随机数的第四小随机数次幂作为新的原始随机数,计算该原始随机数的逆元的第四小随机数次幂作为所述新的原始随机数的逆元;
使用计算得到的所述新的原始随机数及其逆元替换存储的所述n个原始随机数及其逆元。
所述存储单元通过非易失性存储器实现。
本发明实施例还提供一种安全芯片,包括上述任一种对数据进行RSA安全签名的装置。
本实施例中,预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元;n为1或2;存储所述RSA私钥、所述n个原始随机数及其逆元;当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。由于本发明实施例中将产生原始随机数、计算原始随机数逆元的过程预先完成,在对所述数据进行RSA安全签名的过程中,无需产生用于随机化底数或运算结果存储单元的初始值的随机数,也无需计算随机数的逆元,从而缩短了对数据进行RSA安全签名的运算时间,提高了对数据进行RSA安全签名的运算性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明实施例的应用环境示例图;
图1为本发明对数据进行RSA安全签名的方法第一实施例示意图;
图2为本发明对数据进行RSA安全签名的方法第二实施例示意图;
图3为本发明对数据进行RSA安全签名的装置第一实施例示意图;
图4为本发明对数据进行RSA安全签名的装置第二实施例示意图。
具体实施方式
现有技术中,采用随机数对底数或运算结果存储单元的初始值进行随机化的安全模幂算法一般需要在计算中使用随机数r及其逆元r-1mod M,而逆元r-1mod M的计算时间与RSA安全签名方法未使用上述安全模幂算法时模幂运算的运算时间相当,大幅降低了RSA安全签名方法的运算性能,增加了RSA安全签名方法的运算时间,降低了此类RSA安全签名方法的实用性。
为此,本发明实施例提供一种对数据进行RSA安全签名的方法及装置,能够提高RSA安全签名的运算性能,减少RSA安全签名运算时间。
需要说明的是,本发明实施例中出现了多种随机数的名称,如原始随机数、小随机数、第一小随机数~第四小随机数、签名所需随机数、签名所需第一随机数、签名所需第二随机数等,这些都是随机数,仅是产生的时机或者用途不同,通过不同的名称以便对产生时机或用途不同的随机数进行区分。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好的说明本发明所述方法、装置及安全芯片的实现,首先对本发明所述方法、装置及安全芯片的应用环境举例说明,参见图1A,其中,安全芯片110设置于数据发送设备120中,当数据发送设备120需要进行数据的发送时,由安全芯片110对需要发送的数据进行RSA安全签名,之后,由数据发送设备120将进行了RSA安全签名的数据发送至数据接收设备130。
参见图1,为本发明对数据进行RSA安全签名的方法第一实施例示意图,该方法一般应用于不同的安全芯片中,该方法包括:
步骤101:预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元;n为1或2;
步骤102:存储所述RSA私钥、所述n个原始随机数及其逆元;
步骤103:当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。
所述预先是指在步骤103中对数据进行RSA安全签名之前。
本实施例中,预先产生n个原始随机数,计算每个所述原始随机数的逆元,将所述n个原始随机数及其逆元与RSA私钥一起存储,之后,当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。由于本发明实施例中将产生原始随机数、计算原始随机数逆元的过程预先完成,在对所述数据进行RSA安全签名的过程中,无需产生用于随机化底数或运算结果存储单元的初始值的随机数,也无需计算随机数的逆元,从而缩短了对数据进行RSA安全签名的运算时间,提高了对数据进行RSA安全签名的运算性能。
参见图2,为本发明对数据进行RSA安全签名的方法第二实施例示意图,以该方法应用于安全芯片为例;该方法包括:
步骤201:安全芯片预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元。
其中,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1,也即安全芯片仅产生一个原始随机数;当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2,也即安全芯片产生2个原始随机数,以下本发明实施例中将产生的2个原始随机数分别称为第一原始随机数和第二原始随机数。其中,所述第一原始随机数与第二原始随机数可以相同或不同,这里不限定,但是最好第一原始随机数与第二原始随机数不同。
步骤202:安全芯片将所述RSA私钥、所述n个原始随机数及其逆元存储在非易失性存储器中。
步骤203:当安全芯片需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。
其中,本步骤中对所述数据进行RSA安全签名时,可以直接使用所述n个原始随机数及其逆元作为RSA安全签名所需的随机数及其逆元,进行RSA签名中的模幂运算,实现对所述数据的RSA安全签名;或者,
为了能够保证RSA安全签名中所使用的随机数的随机性,也可以对所述n个原始随机数及其逆元进行运算处理后,将运算处理得到的随机数及其逆元作为RSA安全签名所需的随机数及其逆元,对所述数据进行RSA安全签名,此时,
在第一种可能的实现方式中,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;所述根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名可以包括:
产生一个第一小随机数,所述第一小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算所述原始随机数的第一小随机数次幂,得到签名所需随机数;计算所述原始随机数的逆元的第一小随机数次幂,得到所述签名所需随机数的逆元;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
在该种实现方式中,将原始随机数及其逆元的第一小随机数次幂作为新的随机数和逆元参与RSA安全签名中的模幂运算,以增加随机数的随机性。
假设RSA的私钥为d、p和q,其中p和q为两个大素数,则对应的RSA公钥为e和N=p*q。那么,假设原始随机数为r,原始随机数的逆元为r-1,产生的第一小随机数为t,则,计算得到的签名所需随机数为rt,签名所需随机数的逆元为(r-1)t。原始随机数和原始随机数的逆元所使用的模为N。
在第二种可能的实现方式中,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;所述根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名可以包括:
计算所述原始随机数的m1次幂,得到签名所需随机数;计算所述原始随机数的逆元的m1次幂,得到所述签名所需随机数的逆元;m1为大于1的自然数;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
在该种实现方式中,将原始随机数及其逆元的m1次幂作为新的随机数和逆元参与RSA安全签名中的模幂运算,以增加随机数的随机性。而且,相对于第一种可能的实现方式,该种实现方式中无需产生第一小随机数,从而进一步缩短了对数据进行RSA安全签名的运算时间。
假设RSA的私钥为d、p和q,其中p和q为两个大素数,则对应的RSA公钥为e和N=p*q,那么,假设原始随机数为r,原始随机数的逆元为r-1,则,计算得到的签名所需随机数为rm1,签名所需随机数的逆元为(r-1)m1。原始随机数和原始随机数的逆元所使用的模为N。
在第三种可能的实现方式中,当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;所述根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名可以包括:
产生第二小随机数和第三小随机数,所述第二小随机数和第三小随机数均是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算第一原始随机数的第二小随机数次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的第二小随机数次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的第三小随机数次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的第三小随机数次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
其中,所述第二小随机数和第三小随机数可以相同或不同,这里并不限定,但是,第二小随机数和第三小随机数最好不同。
在该种实现方式中,将第一原始随机数及其逆元的第二小随机数次幂、第二原始随机数及其逆元的第三小随机数次幂作为新的随机数和逆元参与RSA安全签名中的模幂运算,以增加随机数的随机性。
假设RSA的私钥为d、p和q,其中p和q为两个大素数,则对应的RSA公钥为e和N=p*q,那么,假设第一原始随机数为r1,第二原始随机数为r2,第一原始随机数的逆元为r1 -1,第二原始随机数的逆元为r2 -1,第二小随机数为t1,第三小随机数为t2,则,计算得到的签名所需随机数分别为r1 t1、r2 t2,签名所需随机数的逆元分别为(r1 -1)t1、(r2 -1)t2。第一原始随机数及其逆元的模为p,第二原始随机数及其逆元的模为q。
在第四种可能的实现方式中,当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;所述根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名可以包括:
计算第一原始随机数的m2次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的m2次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的m3次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的m3次幂,得到所述签名所需第二随机数的逆元;m2、m3可以为大于1的自然数;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
在该种实现方式中,将第一原始随机数及其逆元的m2次幂、第二原始随机数及其逆元的m3次幂作为新的随机数和逆元参与RSA安全签名中的模幂运算,以增加随机数的随机性。而且,相对于第三种可能的实现方式,该种实现方式中无需产生第二小随机数和第三小随机数,从而进一步缩短了对数据进行RSA安全签名的运算时间。
假设RSA的私钥为d、p和q,其中p和q为两个大素数,则对应的RSA公钥为e和N=p*q,那么,假设第一原始随机数为r1,第二原始随机数为r2,第一原始随机数的逆元为r1 -1,第二原始随机数的逆元为r2 -1,则,计算得到的签名所需随机数分别为r1 m2、r2 m3,签名所需随机数的逆元分别为(r1 -1)m2、(r2 -1)m3。第一原始随机数及其逆元的模为p,第二原始随机数及其逆元的模为q。
步骤204:安全芯片更新存储的所述n个原始随机数及其逆元。
其中,所述安全芯片更新存储的所述n个原始随机数及其逆元的时机包括但不限于以下实现方式:安全芯片对数据进行一次RSA安全签名后更新、安全芯片对数据进行预设次数次RSA安全签名后更新、按照预设周期定时更新、或者不定时更新等。
其中,所述预设次数以及所述预设周期的具体数值可以在实际应用中自主设定,本发明实施例并不限制。
在第一种可能的实现方式中,所述更新存储的所述n个原始随机数及其逆元可以包括:
重新产生n个原始随机数,并计算重新产生的n个原始随机数中每个随机数的逆元;
将存储的所述n个原始随机数及其逆元替换为重新产生的所述n个原始随机数及其逆元。
在第二种可能的实现方式中,所述更新存储的所述n个原始随机数及其逆元可以包括:
产生第四小随机数,所述第四小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
对于每个原始随机数及其逆元,计算该原始随机数的第四小随机数次幂作为新的原始随机数,计算该原始随机数的逆元的第四小随机数次幂作为所述新的原始随机数的逆元;
使用计算得到的所述新的原始随机数及其逆元替换存储的所述n个原始随机数及其逆元。
其中,以上本发明实施例中所述的第一小随机数~第四小随机数,其比特数一般需要小于所述n个原始随机数中每个原始随机数的比特数的随机数;最好上述小随机数的比特数远远小于所述n个原始随机数中每个原始随机数的比特数的随机数,以便在保证所述随机数的随机性的同时,降低安全芯片的数据处理量,提高安全芯片对数据进行RSA安全签名的运算时间。例如,现有技术中RSA安全签名中所需使用的随机数及其逆元的比特数一般可以达到1000比特(bit)以上,那么所述小随机数的比特数可以为8bit、16bit、32bit、64bit等。
其中,如果步骤203通过上述第一种可能的实现方式实现,则每次执行步骤203产生的所述第一小随机数可以与上一次执行步骤203产生的所述第一小随机数相同或不同,但最好不同。同样的,如果步骤203通过上述第三种可能的实现方式实现,则每次执行步骤203产生的所述第二小随机数可以与上一次执行步骤203产生的所述第二小随机数相同或不同,但最好不同;每次执行步骤203产生的所述第三小随机数可以与上一次执行步骤203产生的所述第三小随机数相同或不同,但最好不同。
其中,一旦存储了所述n个原始随机数及其逆元,一般需要在第一次执行步骤203之前对各个原始随机数的逆元进行验证,以保证所存储的n个原始随机数的逆元的准确性,进而保证RSA安全签名的准确性。
对于本发明实施例中的步骤201~步骤204:
步骤201和步骤202为准备步骤,一般可以在安全芯片确定RSA私钥的同时,产生所述n个原始随机数并计算其逆元,进而存储所述RSA私钥和n个原始随机数及其逆元。一般的,一旦步骤201和步骤202预先执行完毕后,无需每次执行步骤203之前都执行所述步骤201和步骤202。而每次安全芯片所在的数据发送设备向外发送数据时,安全芯片都需要执行步骤203对所需发送的数据进行RSA安全签名,因此,步骤203可以在实际应用中多次执行。
步骤204与步骤203之间的执行顺序与步骤204中安全芯片更新所述n个原始随机数及其逆元的时机有关,例如,如果更新所述n个原始随机数及其逆元的时机为安全芯片对数据进行一次RSA安全签名后更新,则每次执行步骤203之后都需要执行步骤204;如果更新所述n个原始随机数及其逆元的时机为安全芯片对数据进行预设次数次RSA安全签名后更新,则安全芯片每执行步骤203所述预设次数次后执行一次步骤204;而如果更新所述n个原始随机数及其逆元的时机为所述定时或不定时更新时,步骤204的执行依照时间确定,与步骤203之间将没有必然的执行顺序关系。
本实施例中,预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元;n为1或2;存储所述RSA私钥、所述n个原始随机数及其逆元;当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。由于本发明实施例中将产生原始随机数、计算原始随机数逆元的过程预先完成,在对所述数据进行RSA安全签名的过程中,无需产生用于随机化底数或运算结果存储单元的初始值的随机数,也无需计算随机数的逆元,从而缩短了对数据进行RSA安全签名的运算时间,提高了对数据进行RSA安全签名的运算性能。
并且,安全芯片更新存储的所述n个原始随机数及其逆元,保证了RSA安全签名中所使用随机数的随机性。
与上述方法相对应的,本发明实施例还提供一种对数据进行RSA安全签名的装置,参见图3,该装置300包括:
预处理单元310,用于预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元;n为1或2;
存储单元320,用于存储所述RSA私钥、所述n个原始随机数及其逆元;
签名单元330,用于当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。
在第一种可能的实现方式中,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;所述签名单元330具体可以用于:
产生一个第一小随机数,所述第一小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算所述原始随机数的第一小随机数次幂,得到签名所需随机数;计算所述原始随机数的逆元的第一小随机数次幂,得到所述签名所需随机数的逆元;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
在第二种可能的实现方式中,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;所述签名单元330具体可以用于:
计算所述原始随机数的m1次幂,得到签名所需随机数;计算所述原始随机数的逆元的m1次幂,得到所述签名所需随机数的逆元;m1为大于1的自然数;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
在第三种可能的实现方式中,当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;所述签名单元330具体可以用于:
产生第二小随机数和第三小随机数,所述第二小随机数和第三小随机数均是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算第一原始随机数的第二小随机数次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的第二小随机数次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的第三小随机数次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的第三小随机数次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
在第四种可能的实现方式中,当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;所述签名单元330具体可以用于:
计算第一原始随机数的m2次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的m2次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的m3次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的m3次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
优选地,参见图4所示,该装置300还可以包括:
更新单元340,用于更新所述存储单元320存储的所述n个原始随机数及其逆元。
在第一种可能的实现方式中,所述更新单元340具体可以用于:
重新产生n个原始随机数,并计算重新产生的n个原始随机数中每个随机数的逆元;
将存储的所述n个原始随机数及其逆元替换为重新产生的所述n个原始随机数及其逆元。
在第二种可能的实现方式中,所述更新单元340具体可以用于:
产生第四小随机数,所述第四小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
对于每个原始随机数及其逆元,计算该原始随机数的第四小随机数次幂作为新的原始随机数,计算该原始随机数的逆元的第四小随机数次幂作为所述新的原始随机数的逆元;
使用计算得到的所述新的原始随机数及其逆元替换存储的所述n个原始随机数及其逆元。
优选地,所述存储单元可以通过非易失性存储器实现。
本实施例中,预先产生n个原始随机数,计算每个所述原始随机数的逆元,将所述n个原始随机数及其逆元与RSA私钥一起存储,之后,当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。由于本发明实施例中将产生原始随机数、计算原始随机数逆元的过程预先完成,从而在对所述数据进行RSA安全签名的过程中,无需产生用于随机化底数或运算结果存储单元的初始值的随机数,也无需计算随机数的逆元,从而缩短了对数据进行RSA安全签名的运算时间,提高了对数据进行RSA安全签名的运算性能。
另外,本发明实施例还提供一种安全芯片,所述安全芯片包括图3和图4所示的装置。详细描述参见图3和图4,这里不赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种对数据进行RSA安全签名的方法,其特征在于,包括:
预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元;n为1或2;
存储所述RSA私钥、所述n个原始随机数及其逆元;
当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。
2.根据权利要求1所述的方法,其特征在于,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;
根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名包括:
产生一个第一小随机数,所述第一小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算所述原始随机数的第一小随机数次幂,得到签名所需随机数;计算所述原始随机数的逆元的第一小随机数次幂,得到所述签名所需随机数的逆元;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
3.根据权利要求1所述的方法,其特征在于,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;
根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名包括:
计算所述原始随机数的m1次幂,得到签名所需随机数;计算所述原始随机数的逆元的m1次幂,得到所述签名所需随机数的逆元;m1为大于1的自然数;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
4.根据权利要求1所述的方法,其特征在于,当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;
所述根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名包括:
产生第二小随机数和第三小随机数,所述第二小随机数和第三小随机数均是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算第一原始随机数的第二小随机数次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的第二小随机数次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的第三小随机数次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的第三小随机数次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
5.根据权利要求1所述的方法,其特征在于,当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;
所述根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名包括:
计算第一原始随机数的m2次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的m2次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的m3次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的m3次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
6.根据权利要求1至5任一项所述的方法,其特征在于,还包括:更新存储的所述n个原始随机数及其逆元。
7.根据权利要求6所述的方法,其特征在于,所述更新存储的所述n个原始随机数及其逆元包括:
重新产生n个原始随机数,并计算重新产生的n个原始随机数中每个随机数的逆元;
将存储的所述n个原始随机数及其逆元替换为重新产生的所述n个原始随机数及其逆元。
8.根据权利要求6所述的方法,其特征在于,所述更新存储的所述n个原始随机数及其逆元包括:
产生第四小随机数,所述第四小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
对于每个原始随机数及其逆元,计算该原始随机数的第四小随机数次幂作为新的原始随机数,计算该原始随机数的逆元的第四小随机数次幂作为所述新的原始随机数的逆元;
使用计算得到的所述新的原始随机数及其逆元替换存储的所述n个原始随机数及其逆元。
9.根据权利要求1至4任一项所述的方法,其特征在于,存储所述RSA私钥、所述n个随机数及其逆元包括:将所述RSA私钥、所述n个随机数及其逆元存储在非易失性存储器中。
10.一种对数据进行RSA安全签名的装置,其特征在于,包括:
预处理单元,用于预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元;n为1或2;
存储单元,用于存储所述RSA私钥、所述n个原始随机数及其逆元;
签名单元,用于当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。
11.根据权利要求10所述的装置,其特征在于,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;所述签名单元具体用于:
产生一个第一小随机数,所述第一小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算所述原始随机数的第一小随机数次幂,得到签名所需随机数;计算所述原始随机数的逆元的第一小随机数次幂,得到所述签名所需随机数的逆元;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
12.根据权利要求10所述的装置,其特征在于,当所述RSA安全签名是不采用CRT的RSA安全签名时,所述n的取值为1;所述签名单元具体用于:
计算所述原始随机数的m1次幂,得到签名所需随机数;计算所述原始随机数的逆元的m1次幂,得到所述签名所需随机数的逆元;m1为大于1的自然数;
根据所述RSA私钥、所述签名所需随机数及其逆元对所述数据进行RSA安全签名。
13.根据权利要求10所述的装置,其特征在于,当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;所述签名单元具体用于:
产生第二小随机数和第三小随机数,所述第二小随机数和第三小随机数均是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
计算第一原始随机数的第二小随机数次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的第二小随机数次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的第三小随机数次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的第三小随机数次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
14.根据权利要求10所述的装置,其特征在于,当所述RSA安全签名是采用CRT的RSA安全签名时,所述n的取值为2;所述2个原始随机数分别为第一原始随机数和第二原始随机数;所述签名单元具体用于:
计算第一原始随机数的m2次幂,得到签名所需第一随机数;计算第一原始随机数的逆元的m2次幂,得到所述签名所需第一随机数的逆元;计算第二原始随机数的m3次幂,得到签名所需第二随机数;计算第二原始随机数的逆元的m3次幂,得到所述签名所需第二随机数的逆元;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
15.根据权利要求10至14任一项所述的装置,其特征在于,还包括:
更新单元,用于更新所述存储单元存储的所述n个原始随机数及其逆元。
16.根据权利要求15所述的装置,其特征在于,所述更新单元具体用于:
重新产生n个原始随机数,并计算重新产生的n个原始随机数中每个随机数的逆元;
将存储的所述n个原始随机数及其逆元替换为重新产生的所述n个原始随机数及其逆元。
17.根据权利要求10所述的装置,其特征在于,所述更新单元具体用于:
产生第四小随机数,所述第四小随机数是比特数小于所述n个原始随机数中每个原始随机数的比特数的随机数;
对于每个原始随机数及其逆元,计算该原始随机数的第四小随机数次幂作为新的原始随机数,计算该原始随机数的逆元的第四小随机数次幂作为所述新的原始随机数的逆元;
使用计算得到的所述新的原始随机数及其逆元替换存储的所述n个原始随机数及其逆元。
18.根据权利要求10至17任一项所述的装置,其特征在于,所述存储单元通过非易失性存储器实现。
19.一种安全芯片,其特征在于,包括权利要求10至18任一项所述的对数据进行RSA安全签名的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310218390.5A CN103326861B (zh) | 2013-06-04 | 2013-06-04 | 一种对数据进行rsa安全签名的方法、装置及安全芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310218390.5A CN103326861B (zh) | 2013-06-04 | 2013-06-04 | 一种对数据进行rsa安全签名的方法、装置及安全芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103326861A true CN103326861A (zh) | 2013-09-25 |
CN103326861B CN103326861B (zh) | 2016-12-28 |
Family
ID=49195407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310218390.5A Active CN103326861B (zh) | 2013-06-04 | 2013-06-04 | 一种对数据进行rsa安全签名的方法、装置及安全芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103326861B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490885A (zh) * | 2013-10-14 | 2014-01-01 | 北京华大信安科技有限公司 | 采用中国剩余定理的rsa的计算方法及计算装置 |
CN103580869A (zh) * | 2013-11-06 | 2014-02-12 | 北京华大信安科技有限公司 | 一种crt-rsa签名方法及装置 |
CN103580858A (zh) * | 2013-11-06 | 2014-02-12 | 北京华大信安科技有限公司 | Rsa算法私钥元素获取方法及获取装置 |
CN105515754A (zh) * | 2016-01-06 | 2016-04-20 | 飞天诚信科技股份有限公司 | 一种rsa-crt签名方法及装置 |
CN111931176A (zh) * | 2020-09-29 | 2020-11-13 | 网御安全技术(深圳)有限公司 | 防御侧信道攻击的方法、装置及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101107809A (zh) * | 2005-01-24 | 2008-01-16 | 松下电器产业株式会社 | 签名生成装置、密钥生成装置和签名生成方法 |
US20080301459A1 (en) * | 2007-03-07 | 2008-12-04 | Nevine Maurice Nassif Ebeid | Power Analysis Countermeasure for the ECMQV Key Agreement Algorithm |
CN102307096A (zh) * | 2011-08-26 | 2012-01-04 | 武汉理工大学 | 一种基于伪rsa密钥的新近公开密钥加密算法的应用实现方法 |
CN102468956A (zh) * | 2010-11-11 | 2012-05-23 | 上海华虹集成电路有限责任公司 | 适用于rsa模幂计算的方法 |
-
2013
- 2013-06-04 CN CN201310218390.5A patent/CN103326861B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101107809A (zh) * | 2005-01-24 | 2008-01-16 | 松下电器产业株式会社 | 签名生成装置、密钥生成装置和签名生成方法 |
US20080301459A1 (en) * | 2007-03-07 | 2008-12-04 | Nevine Maurice Nassif Ebeid | Power Analysis Countermeasure for the ECMQV Key Agreement Algorithm |
CN102468956A (zh) * | 2010-11-11 | 2012-05-23 | 上海华虹集成电路有限责任公司 | 适用于rsa模幂计算的方法 |
CN102307096A (zh) * | 2011-08-26 | 2012-01-04 | 武汉理工大学 | 一种基于伪rsa密钥的新近公开密钥加密算法的应用实现方法 |
Non-Patent Citations (3)
Title |
---|
武亚宁: "RSA公钥算法的新探讨及改进", 《信息安全与技术》 * |
陈燕: "一种改进的快速RSA密钥生成算法", 《重庆邮电大学学报》 * |
陈艳波: "RSA密码算法的改进与实现", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103490885A (zh) * | 2013-10-14 | 2014-01-01 | 北京华大信安科技有限公司 | 采用中国剩余定理的rsa的计算方法及计算装置 |
CN103490885B (zh) * | 2013-10-14 | 2017-01-04 | 北京华大信安科技有限公司 | 采用中国剩余定理的rsa的计算方法及计算装置 |
CN103580869A (zh) * | 2013-11-06 | 2014-02-12 | 北京华大信安科技有限公司 | 一种crt-rsa签名方法及装置 |
CN103580858A (zh) * | 2013-11-06 | 2014-02-12 | 北京华大信安科技有限公司 | Rsa算法私钥元素获取方法及获取装置 |
CN103580869B (zh) * | 2013-11-06 | 2016-09-21 | 北京华大信安科技有限公司 | 一种crt-rsa签名方法及装置 |
CN103580858B (zh) * | 2013-11-06 | 2017-01-04 | 北京华大信安科技有限公司 | Rsa算法私钥元素获取方法及获取装置 |
CN105515754A (zh) * | 2016-01-06 | 2016-04-20 | 飞天诚信科技股份有限公司 | 一种rsa-crt签名方法及装置 |
CN105515754B (zh) * | 2016-01-06 | 2018-10-30 | 飞天诚信科技股份有限公司 | 一种rsa-crt签名方法及装置 |
CN111931176A (zh) * | 2020-09-29 | 2020-11-13 | 网御安全技术(深圳)有限公司 | 防御侧信道攻击的方法、装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103326861B (zh) | 2016-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101540672B (zh) | 数据处理系统以及数据处理方法 | |
CN101902331B (zh) | 用于rsa算法的素数生成的保护 | |
CN103427997B (zh) | 一种生成数字签名的方法及装置 | |
US20130279692A1 (en) | Protecting modular exponentiation in cryptographic operations | |
CN103326861A (zh) | 一种对数据进行rsa安全签名的方法、装置及安全芯片 | |
CN106470102A (zh) | 密码装置、具有密码装置的存储装置、其加密和解密方法 | |
US8817973B2 (en) | Encrypting method having countermeasure function against power analyzing attacks | |
US10354063B2 (en) | Protection of a modular calculation | |
CN102449951B (zh) | 用于在电子组件中执行密码任务的方法 | |
US11424907B2 (en) | Countermeasures for side-channel attacks on protected sign and key exchange operations | |
Mus et al. | Jolt: Recovering tls signing keys via rowhammer faults | |
CN113067816A (zh) | 数据加密方法及装置 | |
CN103270546A (zh) | 签名生成装置、签名生成方法以及记录介质 | |
CN106254059A (zh) | 一种运算方法和安全芯片 | |
CN103164187B (zh) | Rsa模幂电路及rsa安全加密芯片 | |
CN114760052A (zh) | 银行物联网平台密钥生成方法、装置、电子设备及介质 | |
CN103246494A (zh) | 一种抵抗能量分析和错误攻击的安全模幂计算方法 | |
CN101909066A (zh) | 一种网络安全控制的方法及节点 | |
CN104753666A (zh) | 密钥处理方法和装置 | |
CN103580869B (zh) | 一种crt-rsa签名方法及装置 | |
CN101969374A (zh) | 分组密码算法中混淆层的实现方法 | |
CN109039590A (zh) | 存储器、电子设备及其防止侧信道攻击的加解密方法 | |
CN104298897A (zh) | 基于混沌技术的嵌入式版权认证方法及专用处理器 | |
KR100954844B1 (ko) | 오류 주입 공격에 안전한 crt-rsa 모듈러 지수승 알고리즘을 이용한 디지털 서명 방법, 그 장치 및 이를 기록한 기록매체 | |
Magons | Applications and Benefits of Elliptic Curve Cryptography. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |