CN103326861B - 一种对数据进行rsa安全签名的方法、装置及安全芯片 - Google Patents

一种对数据进行rsa安全签名的方法、装置及安全芯片 Download PDF

Info

Publication number
CN103326861B
CN103326861B CN201310218390.5A CN201310218390A CN103326861B CN 103326861 B CN103326861 B CN 103326861B CN 201310218390 A CN201310218390 A CN 201310218390A CN 103326861 B CN103326861 B CN 103326861B
Authority
CN
China
Prior art keywords
random number
signature
original
inverse element
rsa
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.)
Active
Application number
CN201310218390.5A
Other languages
English (en)
Other versions
CN103326861A (zh
Inventor
汪朝晖
裴超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING HUADA INFOSEC TECHNOLOGY Ltd
Original Assignee
BEIJING HUADA INFOSEC TECHNOLOGY Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING HUADA INFOSEC TECHNOLOGY Ltd filed Critical BEIJING HUADA INFOSEC TECHNOLOGY Ltd
Priority to CN201310218390.5A priority Critical patent/CN103326861B/zh
Publication of CN103326861A publication Critical patent/CN103326861A/zh
Application granted granted Critical
Publication of CN103326861B publication Critical patent/CN103326861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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公钥密码算法实现的对数据进行签名的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-1t。原始随机数和原始随机数的逆元所使用的模为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-1m1。原始随机数和原始随机数的逆元所使用的模为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 -1t1、(r2 -1t2。第一原始随机数及其逆元的模为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 -1m2、(r2 -1m3。第一原始随机数及其逆元的模为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安全签名所使用的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次幂,得到所述签名所需第二随机数的逆元,m2、m3为大于1的自然数;
根据所述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安全签名所使用的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次幂,得到所述签名所需第二随机数的逆元,m2、m3为大于1的自然数;
根据所述RSA私钥、所述签名所需第一随机数及其逆元、所述签名所需第二随机数及其逆元对所述数据进行RSA安全签名。
15.根据权利要求10至14任一项所述的装置,其特征在于,还包括:
更新单元,用于更新所述存储单元存储的n个原始随机数及其逆元。
16.根据权利要求15所述的装置,其特征在于,所述更新单元具体用于:
重新产生n个原始随机数,并计算重新产生的n个原始随机数中每个随机数的逆元;
将存储的n个原始随机数及其逆元替换为重新产生的n个原始随机数及其逆元。
17.根据权利要求15所述的装置,其特征在于,所述更新单元具体用于:
产生第四小随机数,所述第四小随机数是比特数小于n个原始随机数中每个原始随机数的比特数的随机数;
对于每个原始随机数及其逆元,计算该原始随机数的第四小随机数次幂作为新的原始随机数,计算该原始随机数的逆元的第四小随机数次幂作为所述新的原始随机数的逆元;
使用计算得到的所述新的原始随机数及其逆元替换存储的n个原始随机数及其逆元。
18.根据权利要求10至14、16至17任一项所述的装置,其特征在于,所述存储单元通过非易失性存储器实现。
19.一种安全芯片,其特征在于,包括权利要求10至18任一项所述的对数据进行RSA安全签名的装置。
CN201310218390.5A 2013-06-04 2013-06-04 一种对数据进行rsa安全签名的方法、装置及安全芯片 Active CN103326861B (zh)

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 CN103326861A (zh) 2013-09-25
CN103326861B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490885B (zh) * 2013-10-14 2017-01-04 北京华大信安科技有限公司 采用中国剩余定理的rsa的计算方法及计算装置
CN103580869B (zh) * 2013-11-06 2016-09-21 北京华大信安科技有限公司 一种crt-rsa签名方法及装置
CN103580858B (zh) * 2013-11-06 2017-01-04 北京华大信安科技有限公司 Rsa算法私钥元素获取方法及获取装置
CN105515754B (zh) * 2016-01-06 2018-10-30 飞天诚信科技股份有限公司 一种rsa-crt签名方法及装置
CN111931176B (zh) * 2020-09-29 2021-01-22 网御安全技术(深圳)有限公司 防御侧信道攻击的方法、装置及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101107809A (zh) * 2005-01-24 2008-01-16 松下电器产业株式会社 签名生成装置、密钥生成装置和签名生成方法
CN102307096A (zh) * 2011-08-26 2012-01-04 武汉理工大学 一种基于伪rsa密钥的新近公开密钥加密算法的应用实现方法
CN102468956A (zh) * 2010-11-11 2012-05-23 上海华虹集成电路有限责任公司 适用于rsa模幂计算的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219820B2 (en) * 2007-03-07 2012-07-10 Research In Motion Limited Power analysis countermeasure for the ECMQV key agreement algorithm

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101107809A (zh) * 2005-01-24 2008-01-16 松下电器产业株式会社 签名生成装置、密钥生成装置和签名生成方法
CN102468956A (zh) * 2010-11-11 2012-05-23 上海华虹集成电路有限责任公司 适用于rsa模幂计算的方法
CN102307096A (zh) * 2011-08-26 2012-01-04 武汉理工大学 一种基于伪rsa密钥的新近公开密钥加密算法的应用实现方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RSA公钥算法的新探讨及改进;武亚宁;《信息安全与技术》;20121201;全文 *
RSA密码算法的改进与实现;陈艳波;《中国优秀硕士学位论文全文数据库》;20061115;全文 *
一种改进的快速RSA密钥生成算法;陈燕;《重庆邮电大学学报》;20120115;全文 *

Also Published As

Publication number Publication date
CN103326861A (zh) 2013-09-25

Similar Documents

Publication Publication Date Title
CN103326861B (zh) 一种对数据进行rsa安全签名的方法、装置及安全芯片
CN103188075B (zh) 一种密钥和真随机数发生器及生成密钥和真随机数的方法
US8472621B2 (en) Protection of a prime number generation for an RSA algorithm
US20130279692A1 (en) Protecting modular exponentiation in cryptographic operations
CN107426165A (zh) 一种支持密钥更新的双向安全云存储数据完整性检测方法
CN104488219A (zh) 用于在射频识别标签和读取设备之间进行安全通信的方法和系统
WO2014131539A1 (de) Erstellen eines abgeleiteten schlüssels aus einem kryptographischen schlüssel mittels einer physikalisch nicht klonbaren funktion
CN102970132B (zh) 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
CN106027245A (zh) 密钥共享方法及装置
CN101682508A (zh) 生成用于电子设备的公钥的方法以及电子设备
CN106712968A (zh) 密钥获取方法、数字签名方法和装置
CN103490885B (zh) 采用中国剩余定理的rsa的计算方法及计算装置
CN109600232A (zh) 针对sm2签名算法的攻击验证、防护方法及装置
CN102404108B (zh) 一种针对aes-128算法的新型故障攻击方法
CN104410500B (zh) 基于指定验证者的签名、签名验证及副本模拟方法和系统
Barenghi et al. A novel fault attack against ECDSA
CN110299988A (zh) 轻量级分组密码算法抗攻击能力的检测方法及检测装置
CN103580869B (zh) 一种crt-rsa签名方法及装置
CN103246494A (zh) 一种抵抗能量分析和错误攻击的安全模幂计算方法
Luo et al. Differential fault analysis of SHA-3 under relaxed fault models
Ren et al. An efficient batch verifying scheme for detecting illegal signatures.
CN103401681B (zh) 取模方法、取模装置及芯片
CN104298897A (zh) 基于混沌技术的嵌入式版权认证方法及专用处理器
CN106685643A (zh) Crt模式下公钥验证的方法及装置
Ye et al. Code-based provable data possession scheme for integrity verification in cloud storage

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