【技术实现步骤摘要】
一种对数据进行RSA安全签名的方法、装置及安全芯片
本专利技术涉及数据处理技术,尤其涉及一种对数据进行RSA安全签名的方法、装置及安全芯片。
技术介绍
RSA公钥加密算法是一种主流的公钥密码算法,广泛应用于信息认证和加密领域。基于RSA公钥密码算法实现的对数据进行签名的RSA安全签名方法,在应用于智能卡芯片、USBKey芯片等安全芯片中时,需要能够抵御多种对于所述安全芯片的攻击行为,这些攻击行为的目的是获取上述芯片中的RSA私钥或RSA私钥的部分信息。上述对于安全芯片的攻击行为主要可以分为两类:第一类是侧信道攻击(SideChannelAttacks,SCA),SCA通过观测和分析密码运算过程中的功耗、时序、电磁辐射等侧信道信息来获取RSA私钥或RSA私钥的部分信息,SCA包括简单功耗分析/攻击(SimplePowerAnalysis/Attack,SPA)、差分功耗分析/攻击(DifferentialPowerAnalysis/Attack,DPA)、(ElectromagneticAnalysis/Attack,EMA)、时序分析/攻击(TimingAnaly ...
【技术保护点】
一种对数据进行RSA安全签名的方法,其特征在于,包括:预先确定RSA安全签名所使用的RSA私钥,并且,预先产生n个原始随机数,计算每个所述原始随机数的逆元;n为1或2;存储所述RSA私钥、所述n个原始随机数及其逆元;当需要对数据进行RSA安全签名时,根据存储的所述RSA私钥、所述n个原始随机数及其逆元对所述数据进行RSA安全签名。
【技术特征摘要】
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个随机数及其逆...
【专利技术属性】
技术研发人员:汪朝晖,裴超,
申请(专利权)人:北京华大信安科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。