椭圆曲线上的抗故障计算的制作方法

文档序号:6599851阅读:188来源:国知局
专利名称:椭圆曲线上的抗故障计算的制作方法
技术领域
本发明一般地涉及加密技术,并且具体地涉及对抗故障攻击的椭圆曲线加密算法。
背景技术
本节旨在向读者介绍与下面描述和/或要求保护的本发明各方面相关的现有技 术。相信该讨论有助于向读者提供背景信息以便于更好地理解本发明的各方面。因此,应 当从这个角度来理解这些声明,而不是把他们当做对现有技术的承认。故障攻击在加密计算期间引入错误以获得加密秘密的一个或者更多比特,比如 禾人*角军 f f_。 $“The Sorcerer' s Apprentice Guide toFault Attacks", by Hagai Bar-EI, Hamid Choukri, David Naccache, Michael Tunstall, and Claire ffhelan, Proceedings of the IEEE, 94 (2) :370-382,2006 (Proc. Of FDTC 2004 中的较早版本)以 及在"ASurvey On Fault Attacks,,by Christophe Giraud and Hugues Thiebeauld, in J. -J. Quisquater, P. Paradinas, Y. Deswarte, and A. A.EI Kalam, editors, Smart Card Research and Advanced Applications VI(CARDIS 2004), pages 159—176, Kluwer,2004 中研究了发动故障攻击的实际方式。RSA (Rivest-Shamir-Adleman)求幂包括在UNZ中的输入x以及私有指数d上 将x提升至d次幂,其中S/A这是整数环(ring of integers)模N,并且N = pq是两个大 素数的乘禾只° Adi Shamir 在"How to CheckModular Exponentiation,,, presented at the rump session ofEUROCRYPT' 97, Konstanz, Germany, May 13,1997 中提供了一种对抗故障 攻击的良好对策。该对策是1、对于(小)的随机整数r,计算y ‘ = xd mod rN2、计算 z = xd mod r,3、检验是否y'三z(mod r),以及如果是,则输出y = y' mod N;否则,返回“错误”。典型地,r是64比特整数。Shamir的方法的正确性是中国剩余定理(CRT)的应 用。当计算正确时,显然y' ^y(mod N)并且y' ^ z(mod r)。在故障存在的情况中, y' EZ(mod r)的概率大约是i/r。当r是64比特值时,这意味着检测不到故障的概率是 大约2_64。r的值越大意味着需要以更多的计算来得到更高的检测概率。可以采用Shamir的方法以当在CRT模式中评估时保护RSA求幂;S卩,当通过xd mod p 以及 xd mod q 评估 y = xd mod N 时。在"SecureEvaluation of Modular Functions "by Marc Joye, Pascal Paillier, andSung—Ming Yen, in R. J. Hwang and C. K. ffu, editors, 2001 Internationalfforkshop on Cryptology and Network Security, pages 227-229, Taipei, Taiwan, September 2001中讨论了对Shamir的对策的进一步归纳和扩展。David Vigilant 在“RSA With CRT :A New Cost-Effective Solution toThwartFault Attacks,,,in E. Oswald and P. Rohatgi, editors, Cryptographic Hardware and Embedded Systems—CHES 208, volume5154 of Lecture Notes in Computer Science, pages 230-145,Springer,2008中提出了备选的解决方案。该解决方案是1、针对(小)随机整数 r,形成 X = CRT (x (mod N),1+r (mod r2))2、计算 y' = xd mod r2N ;3、检验是否 y'三 l+dr(mod r2),以及如果是,则输出y = y' mod N;否则,返回“错误”。在步骤1中,CRT代表中国剩余定理的应用;即,如此获得的X满足X 二 x (mod N) 以及X^l+r(mod r2)。因此,当计算无故障时,得到y ‘ ^ xd(mod N)以及y' ^ (1+r)
d(mod r2)。步骤3的正确性遵循二项式定理。得到
其中广代表(d k)二项式系数。通过模r2来简化该等式得到(l+r)dE 1+dr(mod r2),从而当计算无故障时, y' ^ l+dr(mod r2)。未检测出故障的概率预期是大约1/r2。因此,在Vigilant的方法中 r的32比特值应当提供与Shamir的方法中r的64比特值相同的安全级别。Vigilant的方法相对于Shamir的方法具有几个优点。具体地,Vigilant的方法 将求幂z = xd mod r换为更快的乘法1+dr mod r2,然而应当理解,假如<p(r)的值是已知的,
则可以将Shamir的方法中的z的评估加速为一 nTOd — m()d r (其中cp代表欧拉q>函数)。 此外,Vigilant的方法应用于CRT模式中的RSA。利用Shamir以及Vigilant的对策向RSA的应用来描述了这些对策。然而,应当 理解由于对于相同的所推测的安全级别来说密钥更短,因此椭圆曲线加密(ECC)是相对于 RSA的感兴趣的备选。在ECC中,给定椭圆曲线E上的点P以及整数k,基本运算包含计算标量乘法kP, 即,P+P+"*+P(k次),其中+代表E上的群运算。攻击者的目的是通过引起故障来恢复k的 值(或者其一部分)。尽管Shamir的对策推广至椭圆曲线标量乘法(参见例如Johannes Blomer, Martin Otto, and Jean-Pierre Seifert :“Sign Change Fault Attackson Elliptic Curve Cryptosystems". In L. Breveglieri, I.Koren, D. Naccache, and J. -P. Seifert, editors,Fault Diagnosis and Tolerance inCryptography—FDTC 2006,volume 4236 of Lecture Notes in ComputerScience, pages 36-52. Springer-Verlag, 2006.),由于不存在 二项式定理的等价物,所以Vigilant的方法并没有容易地适于推广至椭圆曲线标量乘法。因此应当理解需要一种解决方案,该解决方案提供对抗ECC上的故障攻击的备选 对策。本发明提供了这样的解决方案。

发明内容
第一方面,本发明提出了一种检验在第一椭圆曲线E(Z/pZ)上的加密运算的正确性 的方法。处理器从所述第一椭圆曲线以及第二椭圆曲线获得由中国剩余给 出的第三椭圆曲线E E(Z/pZ) X ^Z/PZ),其中r是整数;在上执行运算以获得第一结果;在均(Z/PZ)上执行运算以获得第二结果,其中均保/—忍)代表.£(s/r7s)中以 r为模简化至上的单位元的点的子集;在均(Z/PZ)中验证所述第一结果和所述第二 结果是否相等;以及如果相等,则以P为模而简化伊(z/p^z)的形式来输出所述运算的所述
第一结果。在第一优选实施例中,所述加密运算是£(Z/pZ)中的标量乘法,用于椭圆曲线 E(擎〉上的Q = kP的抗故障计算。在驴係尔办)中形成点P" = CRT(P(mod p),R(mod r2)), 使得P~在中简化为P并且在西(S/PS)中简化为R,其中CRT代表中国剩余方法。 在EA(Z/p相)中计算Q~ = kP"并且在^(Z/PZ)中验证是否Q"三kR(mod r2)并且仅当在 Q"三kP(mod r2)的情况下输出Q = Q'mod p。在第二优选实施例中,随机地选择所述整数r。在第三优选实施例中,所述整数r具有预定的值。有利地,所述整数r是素数。此外有利地,随机地选择西(2/产2)中的所述点R。在另一个优选实施例中,将所述椭圆曲线表示为Edwards曲线或者表示为Jacobi 曲线。第二方面,本发明提供了一种用于检验在第一椭圆曲线上的加密运算的正 确性的设备。所述设备包括用于执行以下操作的装置从所述第一椭圆曲线以及第 二椭圆曲线£(芯/一2)获得由中国剩余给出的第三椭圆曲线EA(Z/p趣)=E(ZlpZ) X (Z/^Z), 其中r是整数;在上执行运算以获得第一结果;在均(Z/fZ)上执行运算以获得第 二结果,其中西侈/—约代表了^Z/PS)中以r为模简化至<E(Z/ ).上的单位元的点的子集; 在而(Z/PZ)中验证所述第一结果和所述第二结果是否相等;以及如果相等,则以p为模而 简化£八侈//^2>的形式输出所述运算的所述第一结果。在第一优选实施例中,所述加密运算是£(Z/pZ)中的标量乘法,用于椭圆曲线 S(Z// Z)上Q = kP的抗故障计算。所述设备包括用于执行以下操作的装置在中形 成点P" = CRT (P (mod p),R(mod r2)),使得P"在玖Z/pZ)中简化为P并且在^(Z/PZ)中简 化为R,其中CRT代表中国剩余方法;在中计算Q~ = kP";在西(Z/PZ)中验证是否 Q" = kR(mod r2)并且仅当在Q~ = kR(mod r2)的情况下输出Q = Q'mod p。第三方面,本发明提供了一种计算机程序产品,在所述计算机程序产品上存储有 指令,当由处理器执行所述指令时,所述指令执行根据第一方面的任意一个实施例所述的 方法。


现在将参考附图通过非限制性示例来描述本发明的优选特征,其中图1示出了根据本发明的优选实施例的抗故障方法的流程图;图2示出了根据本发明的优选实施例的用于执行抗故障椭圆曲线加密计算的设备。
具体实施例方式令虼为环/£(旬表示在足上定义的椭圆曲线五上的有理点集合。考虑在整数环模 r2(ring of integers modulo r2) Z/fZ上定义的椭圆曲线,定义子集为 其中(3表示£(2/挖)上的单位元(identityelement)。图1示出了根据本发明的优选实施例的抗故障方法的流程图。可以使用下列方法 来在椭圆曲线上执行Q = kP的抗故障计算1、考虑110由中国剩余给出的椭圆曲线炉(S/p—S) = E(Z/pZ) X,其中r
是(小)整数。2、在妒(达/卩—Z)中形成 120 点 P" = CRT(P(mod p),R(mod r2));即,点 P"使得a、在中P"简化至P,以及以在均侈/—名)中P"简化至R。3、SA(Z/p/2S〉中计算 130Q~ = kP~。么在‘!^忑/—忑丨中检验140是否Q~三kR(mod r2),以及如果是,则输出Q = Q'mod p ;否则,返回“错误”。值得注意的是在检验步骤(S卩,上述步骤4)中可以在均保//2^)中计算kR,这比在 广2)中计算要快得多。依赖于椭圆曲线表示,这典型地总计为一个乘法再模r2。应当
理解的是在西侈/广罚中,kR= (k mod r)R。所述方法具有众多的变体。例如,可以随机地选择整数r或者将整数r固定为预 定的值。还可以将该整数选择为素数。对于E^Z/z^Z)中的点R是一样的,即,可以随机地选 择该点R或者将该点R固定为预定的值。此外,可以以若干种方式来执行步骤4;具体地,可以使用所谓的感染计算 (infective computation)来实施步骤4以避免显式的分支指令。在“RSA Speedup With Chinese Remainder Theorem Immune AgainstHardware Fault Cryptanalysis"by Sung-Ming Yen, Seungjoo Kim, Seongan Lim, and Sang-Jae Moon ;IEEE Transactions on Computers, 52 (4) :461-472, 2003 ; (Proc. of ICISC 2001 中的较早版本)以及在 "SignChange Fault Attacks On Elliptic Curve Cryptosystems"by Johannes Blomer, Martin Otto, and Jean-Pierre Seifert ;in L. Breveglieri, I. Koren, D. Naccache, and J. -P. Seifert, editors,Fault Diagnosis and Tolerance inCryptography—FDTC 2006, volume 4236 of Lecture Notes in ComputerScience, pages 36—52 ;Springer—Verlag, 2006中对感染计算进行了描述。此外,可以用不同的方式来表示椭圆曲线。由于单位元不需要特殊的处理,因此具 体感兴趣的是所谓的完整模型。该曲线的示例是Edwards曲线(由Daniel J. Bernstein和 Tanja Lange 在"Faster Additionand Doubling on Elliptic Curves,,,in K. Kurosawa, editor, Advances inCryptology—ASIACRYPT 2008, volume 4833 of Lecture NotesinComputer Science,pages 29-50 ;Springer, 2007 中描述的)以及 Jacobi 曲线(由 Olivier Billet 禾口 Marc Joye 在“The Jacobi Model of An EllipticCurve and Side-Channel Analysis”,in M. Fossorier, T. Hoholdt, and A.Poli,editors,Applied Algebra,Algebraic Algorithms and Error-CorrectingCodes (AAECC-15),volume 2643 of Lecture Notes in Computer Science,pages 34-42 ;Springer,2003 中描述的)。图2示出了根据本发明的优选实施例的设备。该设备200包括适于与其它设备 (图中未示出)进行通信的至少一个接口单元210、至少一个处理器220以及适于存储数据 的至少一个存储器230 (如,累加器和中间计算结果)。处理器220适用于根据如本文之前 描述的本发明方法的任意一个实施例来计算求幂。一种计算机程序产品240 (如,CD-ROM或 者DVD)包括所存储的指令,当由处理器220执行该指令时,该指令执行根据本发明的任意 一个实施例所述的方法。可以以独立或者以任何恰当的组合的形式来提供在说明书和(恰当的地方)和权 利要求以及附图中公开的每一个特征。以硬件来实现的特征也可以采用软件来实现,反之 亦然。出现在权利要求中的参考数字仅作为说明之用并且不应当对权利要求的范围起到任 何限制作用。
权利要求
一种检验在第一椭圆曲线上的加密运算的正确性的方法,所述方法包括在处理器(220)中的下列步骤从所述第一椭圆曲线和第二椭圆曲线获得由中国剩余给出的第三椭圆曲线其中r是整数;在上执行运算以获得第一结果;在上执行运算以获得第二结果,其中代表以r为模简化至上的单位元素的点的子集;验证所述第一结果和所述第二结果在中是否相等;以及如果相等,则以p为模而简化的形式输出中所述运算的所述第一结果。FSA00000044824400011.tif,FSA00000044824400012.tif,FSA00000044824400013.tif,FSA00000044824400014.tif,FSA00000044824400015.tif,FSA00000044824400016.tif,FSA00000044824400017.tif,FSA00000044824400018.tif,FSA00000044824400019.tif,FSA000000448244000110.tif,FSA000000448244000111.tif
2.根据权利要求1所述的方法,其中,所述加密运算是由的标量乘法,用于椭 圆曲线E(Z/pZ)上Q = kP的抗故障计算,所述方法包括下列步骤在铲(Z/p^E)中形成(120)点 P" =CRT (P (mod ρ), R (mod r2)),使得 P~ 在 £(S/pS)中简 化为P并且在西係//2Z)中简化为R,其中CRT代表中国剩余方法;在Z)中计算(130) Q" = kP";在£丨(ZAr2Z)中验证(140)是否Q~三kR(mod r2),并且仅当在Q~三kR(mod r2)的情况 下输出Q = Q'mod ρ。
3.根据权利要求1或2所述的方法,其中,所述整数r是随机地选择的。
4.根据权利要求1或2所述的方法,其中,所述整数r具有预定的值。
5.根据权利要求3和4中任一项所述的方法,其中,所述整数r是素数。
6.根据权利要求2所述的方法,其中,^(Z/r2^)^的所述点R是随机地选择的。
7.根据权利要求1或2所述的方法,其中所述椭圆曲线表示为Edwards曲线或者表示 为Jacobi曲线。
8.一种用于检验在第一椭圆曲线玖Z/pZ)上的加密运算的正确性的设备(200),所述 设备(200)包括用于执行以下操作的装置(220)从所述第一椭圆曲线琦Z/pZ)和第二椭圆曲线获得由中国剩余给出的第三椭 圆曲线Ζ〉Ξ E(ZIpZ) χ £(2/—2),其中 r 是整数;在妒(Z/pPZ)上执行运算以获得第一结果;在灼体一怎)上执行运算以获得第二结果,其中C1(ZfZ)代表《(S/PZ)以r为模简化至 <E(Z/汉)上的单位元素的点的子集;验证所述第一结果和所述第二结果在均(Z/^Z)中是否相等;以及如果相等,则以P为模而简化的形式输出M(ZZpz2Z)中所述运算的所述第一结果。
9.根据权利要求8所述的设备(200),其中所述加密运算是中的标量乘法,用于 椭圆曲线上Q = kP的抗故障计算,所述设备(200)包括用于执行以下操作的装置 (220)在妒(ZZpr2Z)中形成点 P" = CRT (P (mod ρ),R (mod r2)),使得 P"在£(Z/pZ)中简化为 P 并且在EKZ/PS)中简化为R,其中CRT代表中国剩余方法;在中计算Q~ = kP~ ;在妇(ZAf2Z)中验证是否Q"三kR(mod r2),并且仅当在Q"三kR(mod r2)的情况下输出 Q = Q'mod ρ。
10. 一种计算机程序产品(240),在所述计算机程序产品(240)上存储有指令,当由处 理器执行所述指令时,所述指令执行权利要求1至7中任一项所述的方法。
全文摘要
本发明提供了一种用于检验在椭圆曲线上的加密运算的正确性的装置,该装置包括椭圆曲线上Q=kP的抗故障计算。由中国剩余给出(110)椭圆曲线并且其中r是整数。在中形成(120)点P^=CRT(P(mod p),R(mod r2));P^在中简化为P并且在中简化为R。在中计算(130)Q^=kP^。然后在中验证(140)是否Q^三kR(mod r2),并且如果是,则输出Q=Q^mod p,否则返回“错误”。本发明还提供一种设备(200)以及计算机程序产品(240)。
文档编号G06F7/72GK101840325SQ201010134178
公开日2010年9月22日 申请日期2010年3月10日 优先权日2009年3月13日
发明者马克·乔伊 申请人:汤姆森许可贸易公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1