首页> 中国专利> 采用中国剩余定理的RSA的计算方法及计算装置

采用中国剩余定理的RSA的计算方法及计算装置

摘要

本发明的实施例中公开了一种采用中国剩余定理的RSA的计算方法和计算装置,所述方法包括:产生第一随机数γ,所述第一随机数的比特长度小于或等于RSA的模数N的比特长度的二分之一;使用中国剩余定理计算所述第一随机数的逆元γ-1modN,其中γ-1=γφ(N)-1modN,φ(N)=(p-1)*(q-1),N=p*q,p和q为素数,且(p,q,p-2,q-2,qInv)为采用中国剩余定理的RSA的私钥五元组。本发明可以提高采用中国剩余定理的RSA的安全性能。

著录项

  • 公开/公告号CN103490885A

    专利类型发明专利

  • 公开/公告日2014-01-01

    原文格式PDF

  • 申请/专利权人 北京华大信安科技有限公司;

    申请/专利号CN201310479234.4

  • 发明设计人 裴超;

    申请日2013-10-14

  • 分类号H04L9/30(20060101);

  • 代理机构北京弘权知识产权代理事务所(普通合伙);

  • 代理人郭放;许伟群

  • 地址 100015 北京市朝阳区东直门外万红西街2号21幢B座四、五层

  • 入库时间 2024-02-19 22:10:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-01-04

    授权

    授权

  • 2014-02-05

    实质审查的生效 IPC(主分类):H04L9/30 申请日:20131014

    实质审查的生效

  • 2014-01-01

    公开

    公开

说明书

技术领域

本发明涉及安全领域,特别涉及RSA(取名来自三位开发者的名字的首字母,三位 开发者分别为Ron Rivest、Adi Shamirh和LenAdleman,简称RSA)的计算方法及计算 装置。

背景技术

RSA是信息安全领域中比较主流的公钥密码技术。基于RSA实现的各种物理设备, 例如安全芯片及智能卡已经广泛应用于金融、通信、社保、交通等各个领域。采用了中 国剩余定理(Chinese Remainder Theorem,简称CRT)的RSA(采用了中国剩余定理的 RSA以下简称CRT-RSA)的实现相对于传统的RSA实现具有更高的性能优势,尤其当采用 并行设计时,这种优势更高,因此CRT-RSA的应用更加广泛。

涉及私钥的CRT-RSA实现方法面临多种侧信道攻击行为,这些攻击行为的目的是在 物理设备运行CRT-RSA运算时,通过对运行时间、温度、功耗、电磁等外部因素的不同 表现,分析获取私钥或私钥的部分信息。常见的这类攻击有简单功耗分析攻击(Simple  Power Analysis,简称SPA)、差分功耗分析攻击(Differential Power Analysis,简 称DPA)、简单电磁分析攻击(Simple Electromagnetic Analysis,简称SEMA)、差分电 磁分析攻击(Differential Electromagnetic Analysis,简称DEMA)、时间攻击(Timing  Attack)等。

现有技术中,针对上述攻击方法已提出多种CRT-RSA的实现方式,以增加CRT-RSA 运算的安全性。这些实现方式大致分为两种,一是规则化算法的操作或执行流程,如模 乘取代模平方的操作、增加虚拟运算的计算流程;或采用其他方法能够导致模幂的实现 流程,不依赖于数据,每次执行的操作大体是一致的,如此可以抵抗如SPA之类的简单 分析攻击;二是随机化运算数据,如使用随机数据掩盖模幂运算中的幂指数、底数,甚 至包括随机化数据的存储单元,如此可以抵抗如DPA之类的差分分析攻击。

但上述实现方式中,对于如何实施一个完整的CRT-RSA的运算没有给出具体方案; 同时在模幂运算过程中,采用什么样的随机数,如何求解随机数逆元,采用什么样的随 机数对数据进行随机化处理和脱掩处理都没有给出完备的说明。可见,现有的实现方式 无法提高CRT-RSA的安全性能。

发明内容

本发明实施例中提供了一种采用中国剩余定理的RSA的计算方法及计算装置,可以 提高采用中国剩余定理的RSA的安全性能。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

一方面,提供了一种采用中国剩余定理的RSA的实现方法,所述方法包括:

产生第一随机数γ,所述第一随机数的比特长度小于或等于RSA的模数N的比特长 度的二分之一;

使用中国剩余定理计算所述第一随机数的逆元γ-1mod N,其中 γ-1φ(N)-1mod N,φ(N)=(p-1)*(q-1),N=p*q,p和q为素数,且 (p,q,p-2,q-2,qInv)为采用中国剩余定理的RSA的私钥五元组,qInv=q-1mod p。

结合第一方面,在第一方面的第一种可能实现方式中,所述方法还包括:

计算所述第一随机数γ的公钥指数次幂R=γemod N或所述第一随机数的逆元 γ-1mod N的公钥指数次幂R=γ-emod N;

使用R=γemod N或R=γ-emod N对模幂运算Cdmod N的底数C进行随机化处理。

结合第一方面的第一种可能实现方式,还提供了第一方面的第二种可能实现方式, 使用R=γemod N或R=γ-emod N对模幂运算Cdmod N的底数C进行随机化处理具体包 括:

用C'=C×R mod N替代C,并计算M'=(C')dmod N。

结合第一方面的第二种可能实现方式,还提供了第一方面的第三种可能实现方式, 所述方法还包括:

在M'=(C')dmod N的模幂运算时,产生第二随机数x和第三随机数y,所述第二随 机数x和第三随机数y不同,且所述第二随机数x的比特长度小于私钥指数dp或dq的比 特长度的三分之一,所述第三随机数y的比特长度小于私钥指数dp或dq的比特长度的三 分之一;

采用第二随机数x对私钥指数dp进行随机掩盖;

采用第三随机数y对私钥指数dq进行随机掩盖;

在M'=(C')dmod N模幂运算完成后,采用第一随机数γ的公钥指数次幂 R=γemod N计算C'时使用M=M'×r-1mod N进行去随机化处理,或采用第一随机数的逆 元γ-1mod N的公钥指数次幂R=γ-emod N计算C'时,使用M=M'×r mod N进行去随机化 处理。

结合第一方面的第三种可能实现,还提供了第一方面的第四种可能实现方式,所述 方法还包括:

采用第二随机数x对私钥指数dp进行随机掩盖之后,销毁第二随机数x,采用第三 随机数y对私钥指数dq进行随机掩盖,销毁第三随机数y;

对M'=(C')dmod N模幂运算完成之后,销毁第一随机数γ。

第二方面,提供了一种采用中国剩余定理的RSA的计算装置,所述装置包括:

第一随机数产生单元,用于产生第一随机数γ,所述第一随机数的比特长度小于或 等于RSA的模数N的比特长度的二分之一;

逆元计算单元,用于使用中国剩余定理计算所述第一随机数的逆元γ-1mod N,其中 γ-1φ(N)-1mod N,φ(N)=(p-1)*(q-1),N=p*q,p和q为素数,且 (p,q,p-2,q-2,qInv)为采用中国剩余定理的RSA的私钥五元组,qInv=q-1mod p。

结合第二方面,在第二方面的第一种可能实现方式中,所述装置还包括:

公钥指数次幂计算单元,用于计算所述第一随机数γ的公钥指数次幂R=γemod N 或所述第一随机数的逆元γ-1mod N的公钥指数次幂R=γ-emod N;

随机化单元,用于使用R=γemod N或R=γ-emod N对模幂运算Cdmod N的底数C 进行随机化处理。

结合第二方面的第一种可能实现方式,还提供了第二方面的第二种可能实现方式, 所述随机化单元具体用于:

用C'=C×R mod N替代C,并计算M'=(C')dmod N。

结合第二方面的第二种可能实现方式,还提供了第二方面的第三种可能实现方式所 述装置还包括:

第二随机数产生单元,用于在Cdmod N的模幂运算时,产生第二随机数x和第三随 机数y,所述第二随机数x和第三随机数y不同,且所述第二随机数x的比特长度小于私 钥指数dp或dq的比特长度的三分之一,所述第三随机数y的比特长度小于私钥指数dp 或dq的比特长度的三分之一;

随机掩盖单元,用于采用第二随机数x对私钥指数dp进行随机掩盖;

所述随机掩盖单元还用于采用第三随机数y对私钥指数dq进行随机掩盖;

去随机化单元,用于在M'=(C')dmod N模幂运算完成后,采用第一随机数γ的公钥 指数次幂R=γemod N计算C'时,使用M=M'×r-1mod N进行去随机化处理,或采用第一 随机数的逆元γ-1mod N的公钥指数次幂R=γ-emod N计算C'时,使用M=M'×r mod N进 行去随机化处理。

结合第二方面的第三种可能实现方式,还提供了第二方面的第四种可能实现方式, 所述装置还包括销毁单元,用于在采用第二随机数x对私钥指数dp进行随机掩盖之后, 销毁第二随机数x,采用第三随机数y对私钥指数dq进行随机掩盖,销毁第三随机数y;

所述销毁单元还用于对M'=(C')dmod N模幂运算完成之后,销毁第一随机数γ。

本发明的实施例中公开了一种采用中国剩余定理的RSA的计算方法,给出了在模幂 运算过程中,采用什么样的随机数,以及如何求解随机数逆元的方法,给出了实施一个 完整的采用中国剩余定理的RSA的计算的具体方案,提高了采用中国剩余定理的RSA的 安全性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使 用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的 附图。

图1所示为本发明实施例的采用中国剩余定理的RSA的实现方法的流程图;

图2所示为本发明另一种实施例的采用中国剩余定理的RSA的实现方法的流程图;

图3所示为本发明实施例的采用中国剩余定理的RSA的计算装置的示意图;

图4所示为本发明另一种实施例的采用中国剩余定理的RSA的计算装置的示意图。

具体实施方式

本发明如下实施例提供了一种采用中国剩余定理的RSA的计算方法和计算装置,能 提高采用中国剩余定理的RSA的安全性能。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描 述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明 中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。

如图1所示,本发明提供了一种实施例的采用中国剩余定理的RSA的计算方法,包括:

步骤110,产生第一随机数γ,所述第一随机数的比特长度小于或等于RSA的模数N的 比特长度的二分之一;

步骤120,使用中国剩余定理计算所述第一随机数的逆元γ-1mod N,其中 γ-1φ(N)-1mod N,φ(N)=(p-1)*(q-1),N=p*q,p和q为素数,且 (p,q,p-2,q-2,qInv)为采用中国剩余定理的RSA的私钥五元组,qInv=q-1mod p。

如图2所示,本发明还公开了另一种实施例的采用中国剩余定理的RSA的计算方法, 所述方法包括:

步骤210,产生第一随机数γ,所述第一随机数的比特长度小于或等于RSA的模数N的 比特长度的二分之一;

步骤220,使用中国剩余定理计算所述第一随机数的逆元γ-1mod N,其中 γ-1φ(N)-1mod N,φ(N)=(p-1)*(q-1),N=p*q,p和q为素数,且 (p,q,p-2,q-2,qInv)为采用中国剩余定理的RSA的私钥五元组,qInv=q-1mod p。

步骤230,计算所述第一随机数γ的公钥指数次幂R=γemod N或所述第一随机数的 逆元γ-1mod N的公钥指数次幂R=γ-emod N;

其中,R=γ-emod N也可以直接使用中国剩余定理计算,无需通过第一随机数的逆 元γ-1mod N来计算。

步骤240,使用R=γemod N或R=γ-emod N对模幂运算Cdmod N的底数C进行随 机化处理。

步骤240中,使用R=γemod N或R=γ-emod N对模幂运算Cdmod N的底数C进行 随机化处理具体包括:

用C'=C×R mod N替代C,并计算M'=(C')dmod N。

所述方法还包括:

步骤250,在M'=(C')dmod N的模幂运算时,产生第二随机数x和第三随机数y, 所述第二随机数x和第三随机数y不同,且所述第二随机数x和第三随机数y的比特长度 小于私钥指数dp或dq的比特长度的三分之一;

步骤260,采用第二随机数x对私钥指数dp进行随机掩盖;

步骤270,采用第三随机数y对私钥指数dq进行随机掩盖;

步骤280,在M'=(C')dmod N模幂运算完成后,采用第一随机数γ的公钥指数次幂 R=γemod N计算C'时,使用M=M'×r-1mod N进行去随机化处理,或采用第一随机数的 逆元γ-1mod N的公钥指数次幂R=γ-emod N计算C'时,使用M=M'×r mod N进行去随机 化处理。

所述方法还包括:

步骤290,在对私钥指数进行随机掩盖之后,销毁第二随机数x以及第三随机数y; 对M'=(C')dmod N模幂运算完成之后,销毁第一随机数γ。

本发明的实施例中公开了一种采用中国剩余定理的RSA的计算方法,给出了在模幂 运算过程中,采用什么样的随机数,以及如何求解随机数逆元的方法,给出了实施一个 完整的采用中国剩余定理的RSA的计算的具体方案,提高了采用中国剩余定理的RSA的 安全性能。

如图3所示,本发明还公开了一种实施例的采用中国剩余定理的RSA的计算装置,所述 装置包括:

第一随机数产生单元310,用于产生第一随机数γ,所述第一随机数的比特长度小于或 等于RSA的模数N的比特长度的二分之一;

逆元计算单元320,用于使用中国剩余定理计算所述第一随机数的逆元γ-1mod N,其中 γ-1φ(N)-1mod N,φ(N)=(p-1)*(q-1),N=p*q,p和q为素数,且 (p,q,p-2,q-2,qInv)为采用中国剩余定理的RSA的私钥五元组,qInv=q-1mod p。

如图4所示,本发明还公开了另一种实施例的采用中国剩余定理的RSA的计算装置,包 括:

第一随机数产生单元410,用于产生第一随机数γ,所述第一随机数的比特长度小于或 等于RSA的模数N的比特长度的二分之一;

逆元计算单元420,用于使用中国剩余定理计算所述第一随机数的逆元γ-1mod N,其中 γ-1φ(N)-1mod N,φ(N)=(p-1)*(q-1),N=p*q,p和q为素数,且 (p,q,p-2,q-2,qInv)为采用中国剩余定理的RSA的私钥五元组,qInv=q-1mod p。

公钥指数次幂计算单元430,用于计算所述第一随机数γ的公钥指数次幂R=γemod N 或所述第一随机数的逆元γ-1mod N的公钥指数次幂R=γ-emod N;

随机化单元440,用于使用R=γemod N或R=γ-emod N对模幂运算Cdmod N的底数 C进行随机化处理。

所述随机化单元440具体用于:用C'=C×R mod N替代C,并计算M'=(C')dmod N。

所述装置还包括:

第二随机数产生单元450,用于在Cdmod N的模幂运算时,产生第二随机数x和第三随 机数y,所述第二随机数x和第三随机数y不同,且所述第二随机数x的比特长度小于私钥指 数dp或dq的比特长度的三分之一,所述第三随机数y的比特长度小于私钥指数dp或dq的比 特长度的三分之一;

随机掩盖单元460,用于采用第二随机数x对分别私钥指数dp进行随机掩盖;

所述随机掩盖单元460还用于采用第三随机数y对分别私钥指数dq进行随机掩盖;

去随机化单元470,用于在M'=(C')dmod N模幂运算完成后,采用第一随机数γ的 公钥指数次幂R=γemod N计算C'时,使用M=M'×r-1mod N进行去随机化处理,或采用 第一随机数的逆元γ-1mod N的公钥指数次幂R=γ-emod N计算C'时,使用 M=M'×r mod N进行去随机化处理。

所述装置还包括销毁单元480,用于在随机掩盖单元460采用第二随机数x对私钥指数 dp进行随机掩盖之后,销毁第二随机数x,采用第三随机数y对私钥指数dq进行随机掩盖, 销毁第三随机数y;所述销毁单元480还用于在M'=(C')dmod N模幂运算完成之后,销毁 第一随机数γ。

本发明的实施例中公开了一种采用中国剩余定理的RSA的计算装置,该装置给出了 在模幂运算过程中,采用什么样的随机数,以及如何求解随机数逆元的方法,给出了实 施一个完整的采用中国剩余定理的RSA的计算的具体方案,提高了采用中国剩余定理的 RSA的安全性能。

本发明实施例本发明的实施例中公开了一种采用中国剩余定理的RSA的计算方法以 及计算装置,给出了在模幂运算过程中,采用什么样的随机数,以及如何求解随机数逆 元的方法,给出了实施一个完整的采用中国剩余定理的RSA的计算的具体方案,提高了 采用中国剩余定理的RSA的安全性能。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的 通用硬件的方式来实现,通用硬件包括通用集成电路、通用CPU、通用存储器、通用元 器件等,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元 器件等来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例 中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出 来,该计算机软件产品可以存储在存储介质中,如只读存储器(ROM,Read-Only Memory)、 随机存取存储器(RAM,Random Access Memory)、磁碟、光盘等,包括若干指令用以使 得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实 施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分 互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统 实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法 实施例的部分说明即可。

以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的 精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号