当前位置: 首页 > 专利查询>清华大学专利>正文

实现基于蒙哥马利模乘的Tate对算法的电路制造技术

技术编号:12354477 阅读:169 留言:0更新日期:2015-11-19 04:33
本发明专利技术属于嵌入式系统的密码算法实现技术领域,尤其涉及一种基于三进制有限域蒙哥马利模乘的Tate对算法和实现该算法的硬件结构,包括:将两个输入的椭圆曲线上的点P和R的X坐标和Y坐标分别由所定义的GF(3

【技术实现步骤摘要】

本专利技术属于嵌入式系统的密码算法实现
,尤其涉及一种基于三进制有限 域Montgomery (蒙哥马利)模乘的Tate对算法和实现该算法的硬件结构。
技术介绍
双线性对是具有特殊性质的映射,记为;<,假设G1是加法群,G 2是乘法群,它们的 阶数都是素数,双线性对运算是将两个加法群映射为一个乘法群的过程,即G1XG1^G 2, 那么对所有的P,Q G GjP所有的a, b G Z,a辛0, b辛0满足 双线性对广泛的应用于多种公钥密码学方案中,比如IBE (Identity Based Encryption,基于身份的加密)加密,其在加密过程中使用的公钥不是从PKI (Public Key Infrastructure,公钥基础设施)系统发放的证书中获取的,而是直接使用用户自身的身 份信息,如名字、邮件地址等。所以,IBE系统中的公钥可以是任意长度的字符串,且无需管 理证书,这大大简化了现有的常用的公钥算法系统。还有基于双线性对的签名方案BLS等。 双线性对的运算最早是在解决椭圆曲线的离散对数问题时被应用的,而近年来, 由于Boneh和Franklin利用改进的Weil对构造了安全可用的IBE方案,其在IBE系统中 的应用研究越来越多。相对于椭圆曲线上的其他运算,双线性对运算是最复杂、计算最耗时 的。所以,双线性对运算是整个IBE算法的核心运算。在嵌入式系统上实现含有双线性对 的密码应用,如IBE何BLS时,往往需要设计专门的双线性对计算硬件来提高运算性能,因 此人们不断改进双线性对的算法,不断提升其硬件实现的性能。 域是指包含二元运算加法和乘法的集合,而有限域是指域中的元素个数是有限 的。有限域的元素个数被称为有限域的阶数,一般为一个素数的幂P n,其中n为正整数。 GF(pn)是阶为pn的有限域的一般表示形式,其中GF代表Galois(伽罗华)域,素数p被称 为GF(p n)的特征,n被称为GF(pn)的度;同时,GF(pn)也被称为GF(p)的n次扩域。在密码学领域,人们比较关注度为1的有限域GF (p),特征为2的有限域GF (2n)和 特征为3的有限域GF (3n)。通常,GF (p)被称为素数域,GF (2n)被称为二进制有限域,GF (3n) 被称为三进制有限域。有限域GF (p)是包含p个整数的集合{0, 1,2, ...,p-1},域上的加法 和乘法运算均为模P的运算。有限域GF(2n)是包含2n-l个整数的集合{0, 1,2,. . .,2n-l}, 域上的加法直接使用XOR操作,乘法运算利用多项式乘法和模约运算。在构造二进制 有限域GF(2 n)时,需要选取一个n次不可约多项式p(x) = xn+pn Pn k…+PiX+p。,其中 P1GGF(2)。以此多项式为模的所有多项式构成的集合即为所需的域,p(X)称为GF(2 n)的 生成多项式。 为了实现双线性对的快速计算,人们不断提出新的双线性对的理论计算方法。 Weil对和Tate对是目前研究最多的双线性对计算,Tate对的计算效率更高。Tate对的G 1 是有限域上超奇异椭圆曲线E的q阶子群,q为素数。2003年,Duursma和Lee提出了在 GF(pm)上高效计算Tate对的Duursma-Lee算法,其中有限域特征p需满足p E 3 (mod 4)。 然而,Duursma-Lee算法需要立方根运算,立方根运算本身的计算复杂度比乘法还高。所以, Kwon等为了消除Duursma-Lee算法中的立方根运算,提出了改进的Duursma-Lee算法(MDL 算法)。但是,改进后的Duursma-Lee算法只适用于定义在GF (3m)上的特定椭圆曲线E±: Y2 =X3-Xil 的 Tate 对。 双线性对运算将椭圆曲线E/GF (pj上的任意两个点映射为GF (pkm)上的一个非零 元。为了安全性的需求,Pkm至少应该保证l〇〇〇bits,同时,为了计算的高效性,p km也不应该 太大。当m取l,p取512bits的一个特定素数时,要达到上述安全性需要的最小的k为2; 当P取2, m取250左右的一个素数时,最小的k为4;当p取3, m取110左右的一个素数 时,最小的k为6。当然,对于加密算法的应用,k在满足特定准则的条件下越大,则算法的 安全性越高。在特征为3的有限域GF (3m)上,一些安全的IBE方案是可行的。而且,GF (3m) 上双线性对的计算过程需要较少的逻辑和运算单元,非常适合硬件实现,已有文献介绍了 将GF(3 6m)上的乘法、立方和幂运算用GF(3m)上各个运算来实现的算法。 在Tate对硬件实现方面,现有的研究基本是从面积和运算时间的优化、平衡角度 去讨论双线性对的硬件实现的,鲜有考虑电路功耗的优化。而且双线性对运算自身复杂 度很高,其作为IBE算法的核心运算,直接影响IBE算法的应用,尤其是在WSN(wireless sensor network,无线传感网络)节点上的应用。所以,除了电路面积和运算时间,电路功 耗的优化也是必不可少的。本专利技术选取定义在GF(3m)上的映射结果为GF(36m)的Tate对作为对象,提出改 进的实现方案,它可以采用MDL算法计算,具体的Tate对定义如下:定义在GF(3m)上的 椭圆曲线E±:Y 2= X 3_X±1上,考虑椭圆曲线上的两个点P = (xp, yp),R = (Xp yj,其中 Xp,yp,y# GF(3m)。而在实际中,点(HR) G E±/GF(36m)使得双线性对的计算更高效,伞 是一种变形映射,定义如下: <}) (R) = <}) ((xr, yr)) = (P-xr, 〇 yr) 其中P,〇 G GF (36m)满足不1 = 0:和〇 3+1 = 0。改进的Tate对具体定义 如下: Tate对的计算可分为两步,第一步是计算^ (/W))=WQ'd,这可以由 改进Duursma-Lee算法(MDL算法)完成;第二步是幂运算r._=#,_其中e丨=3 3m_l〇 改进的Duursma-Lee算法的计算过程包含的算术运算有GF(3 m)上的加法、减法、 立方和乘法,GF(36m)上的立方和乘法。在改进的Duursma-Lee算法中,一次循环需要4次 GF (3m)上的立方、1次加/减法、2次乘法和4次求加法逆元运算,一次GF (36m)上的立方和 一次乘法。然而,该算法需要循环m次。最后Tate的幂运算只运行一次。 由于加法、减法、加法逆元运算都相对很简单,所以,值得考虑的运算有GF(3m)上 的乘法、立方和求逆运算。GF(3m)上立方运算的计算方法与乘法的算法相比要相对简单,而 求逆运算虽然复杂,但其仅仅只有一次计算。计算Tate对运算所需最多的是GF(3m)上的 乘法,且其计算复杂度和域上的其他运算相比要更高。所以,GF(3m)上的乘法器的性能对整 个Tate对的影响可见一斑。 Montgomery模乘算法是硬件实现中常用的快速模乘算法,它的模约操作只需要简 单的移位操作即可完成。GF(3 m)上Montgomery模乘算法是计算(A ? B ? R 1^lmodF来代替 (A?B)modF,本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/CN105068784.html" title="实现基于蒙哥马利模乘的Tate对算法的电路原文来自X技术">实现基于蒙哥马利模乘的Tate对算法的电路</a>

【技术保护点】
一种基于Montgomery模乘的Tate对算法,其特征在于,包括:步骤1、将作为输入的定义在GF(3m)上的椭圆曲线E±:Y2=X3‑X±1上的点P和R的X坐标和Y坐标分别由所定义的GF(3m)域上转换到Montgomery域,具体地,把被转换的数据与x2m进行Montgomery模乘;GF(3m)是阶为3m的伽罗华有限域的表示形式,有限域的特征值为3,m为GF(3m)的度,x2m表示GF(3)域上的2m次项系数为1其它项系数为0的2m次多项式;步骤2、按照由GF(3m)上的乘法、GF(3m)上的加/减法和GF(3m)上的立方运算作为基本运算的MDL算法流程在Montgomery域上完成MDL算法,其中的乘法、加/减法和立方运算全部在Montgomery域上进行;步骤3、在MDL算法结束后,根据需要,再把计算结果从Montgomery域上转换回GF(36m)域上,具体地,把被转换的数据与GF(3)中的元素1进行Montgomery模乘;GF(36m)是阶为36m的伽罗华有限域的表示形式,有限域的特征值为3,6m为GF(3m)的度;步骤4、按照由GF(3m)上的乘法、加/减法和求逆运算构成的算法计算GF(36m)上的模幂:其中t是步骤3所述转换回GF(36m)域上的MDL算法的结果,τ是Tate对的计算结果。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李翔宇马江莎
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

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

1