当前位置: 首页 > 专利查询>英特尔公司专利>正文

加速对特性2椭圆曲线密码系统的计算的方法技术方案

技术编号:8190840 阅读:167 留言:0更新日期:2013-01-10 01:46
在某些实施例中,描述了一种用于加速特性2椭圆曲线密码系统的计算的装置和方法。在一个实施例中,根据输入操作数长度,利用一次迭代基于图的乘法预先计算乘法例程。预先计算之后,乘法例程接着利用进位少的乘法指令计算表示两个输入操作数的进位少的乘积的多项式的系数的乘积。在一个实施例中,预先计算的乘法例程可用于根据两个输入操作数的输入操作数长度扩展可从层级获得的进位少的乘法指令。计算之后,在计算进位少的乘积模定义所述椭圆曲线密码系统的可编程多项式时,进位少的乘积多项式产生余数,以形成密码密钥。描述并要求保护其他实施例。

【技术实现步骤摘要】
本申请是2008年12月26日提交的、申请号为200810189706. I、题为“”的专利技术专利申请的分案申请。背景领域实施例涉及密码领域,且尤其涉及加速对特性2椭圆曲线密码系统的计算的装置、系统和方法。
技术介绍
Karatsuba 算法(A. Karatsuba 和 Y. Ofman, Multiplication of Multidigit Numbers on Automata (自动机上多位数的乘法),Soviet Physics - Doklady, 7 (1963),第595-596页)在1962年提出,作为ー种减少计算两个大数的乘积所需的标量乘法的数目的尝试。经典的算法接受次数等于I的两个多项式作为输入,即并利用三个标量乘法计算它们的乘积a (χ) b (χ) Za1ID1X2+x+a^lv这种技术与多项式a(x)和b(x)相乘的朴素(也称为“教科书”)方式不同,该方式执行4个标量乘法,即得出乘积 aob。、和 S1Id1。Karatsuba示出仅需要进行三个标量乘法,即仅需要得出乘积S1Id1、(aja。)(Vb0)和a0b0。一旦执行标量乘法,缺失的系数(aA+aA)可被计算为差值( + )(bi+bj-aaba-aibi。对于较大的操作数,可递归地应用Karatsuba算法。Karatsuba不仅适用于多项式,还适用于大数。大数可通过用变量χ替换任意2的幂来转换成多项式。与使用Karatsuba相关联的最重要的未解决的问题之ー是如何将算法应用到大数,而不会由于递归而浪费处理时间。递归不合需要有三个原因。第一,递归Karatsuba进程使相关的加法与乘法交织。结果,递归Karatsuba进程不能充分利用任何由处理器架构或芯片组支持的硬件级并行度。第二,由于递归,由递归Karatsuba产生的中间标量项需要更多的处理器字来表示。因此,单个标量乘法或加法需要ー个以上的处理器运算来实现。这种额外开销是相当大的。第三,递归Karatsuba招致函数调用额外开销。Oregon Sate University (俄勒网州立大学)的 Cetin Koc 等人(S. S. Erdem和 C.K. Koc. “A less recursive variant οι Karatsuba-Ofman algorithm formultiplying operands of size a power of two”(用于对2的幕大小的操作数作乘法的Karatsuba-Ofman算法的较小递归变体),会议录,第16届IEEE计算机架构讨论会,主编 J. -C. Bajard 和 M. Schulte,第 28-35 页,IEEE 计算机协会出版社,Santiago deCompostela,西班牙,2003年6月15-18日)描述了 Karatsuba的一种较小递归变体,其中输入操作数的大小需要是2的冪。然而,该变体仍需要递归调用且仅适用于特定大小的操作数。最初由Koblitz (N. Koblitz, “Elliptic Curve Cryptosystems”(捕圆曲线密码系统),Mathematics of Computation (计算数学),48,第 203-209 页,1987)和 Miller (V.Miller, “Uses of Elliptic Curvers in Cryptography”(密码学中捕圆曲线的使用),会议录,Advances in Cryptology (Crypto,85)(密码学的进步),第 416-426 页,1985)提出的椭圆曲线密码学近来获得了来自工业的很多关注,并且密钥建立和数字签名运算类似于带有相似密码强度的RSA,但其密钥大小小得多。椭圆曲线密码学背后的主要思想是椭圆曲线中的点形成加法群。点可与其自身相加很多次,其中加法次数可以是很大的数。这种运算通常被称为“点乘标量乘法(pointtimes scalar multiplication)”或简称为“点乘法”。椭圆曲线密码学对公钥运算的适用性来自以下事实如果原始和所得点是已知的,但加法的数目是未知的,则很难从原始和所得点得出该数目。所得的点的坐标可形成公钥,而产生公钥的加法的数目可形成私钥。附图简述在附图的各个图中,实施例作为示例而非限制示出,其中相同的附图标记指示类似的元素,且附图中 图I示出4乘4示例的进程的实施例的流程图;图2示出完全图的示例;图3示出图同构的示例;图4示出18乘18示例的实施例的图示;图5示出利用局部索引序列符号的实施例的生成平面(spanning plane)的表示;图6不出利用半局部索引序列和全局索引符号的实施例的生成平面的表不;图7示出生成平面的可选表示;图8示出9乘9生成平面的另ー个示例;图9示出边到生成边和生成平面的映射的实施例表示;附图说明图10示出实施例的减法生成的图示;图IIA-IIB示出实施例的框图;图12示出现有进程与实施例的比较;以及图13是示出根据ー个实施例的计算两个输入操作数的进位少的乘积的余数的方法。图14是示出根据ー个实施例计算图13的余数的方法的流程图。图15示出系统中的装置的实施例。详细描述本文讨论的实施例一般涉及加速对特性2椭圆曲线密码系统的计算的装置、系统和方法。在一个实施例中,诸如Lopez-Dahab空间(J. Lopez和R. Dahab, “FastMultiplication on Elliptic Curves over GF(2m)without Precomputation,,(无需予页计算的在GF(2m)上椭圆曲线的快速乘法),会议录,Workshop on Cryptographic Hardware andEmbedded Systems (CHES 1999)(加密硬件与嵌入式系统研讨会),第316-327页,1999)的射影空间被用于表示点坐标,点加法和点倍增通过引入ー种在GF(2m)形式的有限域中使元素相乘的新颖的方式来加速。在一个实施例中,元素利用用于进位少(carry-less)的乘法(GFMUL)和单次迭代类似 Karatsuba 公式(M. Kounavis,“A New Method for Fast IntegerMultiplication and its Application to Cryptography” (一种用于快速整数乘法的新方法及其对密码学的应用),会议录,International Symposium on the PerformanceEvaluation of Computer and Telecommunication Systems (关于计算机和电信系统的性能评估的国际研讨会SPECTS2007)圣地亚哥,美国加州,2007年7月)的CPU指令做乘法,用于计算GF(2)中高次数多项式的进位少的乘积。在一个实施例中,通过认识到很多曲线用稀疏的不可约多项式指定域,来进行这些多项式的进位少的乘积的约简。例如,美国国家标准及技术研究所(NIST)曲线用三项(三项式)或五项(五项式)指定多项式。一个实施例用软件在3. 6GHz奔腾4处理器上基于NISTB-233曲线使椭本文档来自技高网...

【技术保护点】
一种椭圆曲线密码系统中的方法,所述方法包括:根据输入操作数长度利用一次迭代基于图的乘法预先计算乘法例程;藉由计算装置根据预先计算的乘法例程计算两个输入操作数的第一进位少的乘积;以及藉由所述计算装置通过执行若干移位运算和异或运算来计算所述第一进位少的乘积和稀疏多项式之间的第二进位少的乘积,其中所述稀疏多项式包括多个系数且所述多个系数中等于1的系数的数目小于等于0的系数的数目,并且在定义椭圆曲线二进制域的多项式中移位运算和异或运算的数目约为所述多个系数中等于1的系数的数目。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:S·格伦M·科恩维斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1