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

椭圆曲线密码系统的点加系统技术方案

技术编号:2827882 阅读:311 留言:0更新日期:2012-04-11 18:40
用于椭圆曲线密码体制的点加系统属于椭圆曲线密码系统的点加技术领域。其特征在于:含有点加寄存器控制器、点加多路选择控制器、第一多路选择器组、中间变量寄存器组以及第二多路选择器组;在点加多路选择控制器输出的选通控制信号下,在六个流水线过程内由位于点加系统外的模乘器和模加器对第二多路选择器组输出的乘数和加数完成点加运算;在每一个流水过程内,在所述选通控制信号控制下,模乘器和模加器分别向第一、第二两个多路选择器组返回中间数据;在点加寄存器控制器输出的操作控制信号控制下,控制第一多路选择器组中的各个多路选择器通过中间变量寄存器组向第二多路选择器组输出相应的乘数和加数。本发明专利技术提高了点加运算速度,在一个基本层面上优化了椭圆曲线的点乘性能,提高了数据吞吐率。

【技术实现步骤摘要】

本专利技术涉及数字签名与认证

技术介绍
密码体制可以分为传统(或对称)加密体制和公钥(或非对称)加密体制两类。1976年W.Diffie和M.E.Hellman提出了公钥密码的概念,对整个密码学发展造成了深远的影响。当前广泛应用的公钥密码系统是RSA,其优点在于原理简单,使用方便。但随着大整数因子分解方法的不断改进以及计算机性能的不断提升,要保证RSA的安全性所需要的密钥位数不断增长,目前一般认为RSA密钥的位数在1024bit以上才有安全保障。密钥位数的增加直接导致了加解密速度的大幅下降以及硬件开销的加大。椭圆曲线密码(ECC)是1985年由N.Koblitz和V.Miller提出的,它是利用有限域上的椭圆曲线有限群代替离散对数问题中的有限循环群后得到的一类密码体制。由于椭圆曲线密码具有安全性能高,处理速度快,带宽要求低和存储空间小等特点,与RSA相比,ECC在密钥长度和运算速度上具有优越性。素域上的椭圆曲线E(Fp)由Weierstrass方程定义:E:y2=x3+ax+b(modp)    (1)其中p是素数,a,b为两个小于p的非负整数(0<a,b<∞),且满足4a3+27b2(modp)≠0    (2)方程(2)基于集合Ep(a,b)可定义一个有限Abel群。在椭圆曲线密码体制中,核心运算是点乘(kP),我们可以将点乘分解为两种基本运算:点加(ECPADD)以及倍点(ECPDBL),点加和倍点运算可以采用不同的坐标系来实现。常用的坐标系是仿射坐标系和Jacobi投影坐标系。以下分别介绍仿射坐标系和Jacobi投影坐标系。仿射坐标系:平面上过一定点O作两条相交的轴x和y,它们的交角是ω.以定点O为原点,在每条轴上取长度单位(分别是OE1、OE2),这样就在平面上建立了一个仿射坐标系,-->如图1所示。对于平面上任一点M,过M作两轴的平行线,与两轴分别交于M1、M2,它们在两轴的坐标分别是x、y,于是点M就对应有序数组(x,y)。Jacobi投影坐标系:Jacobi投影坐标系下的点(X,Y,Z)和仿射坐标系下的点(x,y)一一对应,且满足x=X/Z2、y=Y/Z3。给定仿射坐标系下的坐标(x,y),转换成Jacobi投影坐标系下的坐标为(X,Y,Z),其中X=x、Y=y、Z=1;给定Jacobi投影坐标系下的坐标(X,Y,Z),转换成放射坐标系下的坐标为(x,y),且满足x=X/Z2、y=Y/Z3。同时,仿射坐标系下的无穷远点和Jacobi投影坐标系下的点(1,1,0)对应。以下介绍素数域椭圆曲线点加和倍点在仿射坐标系下的定义:点加定义:如图2所示,在椭圆曲线上取两点P(x1,y1)和Q(x2,y2),令O点表示无穷远点。计算R=P+Q称为倍点运算,其中R坐标为(xR,yR)。1)如果x1=x2且y1=-y2,则R=P+Q=O。2)若1)条件不成立,则有点R=P+Q,满足xR=(y2-y1x2-x1)2-x1-x2---(3)]]>yR=(y1-y2x1-x2)(x1-xR)-y1---(4)]]>倍点定义:如图3所示,在椭圆曲线上取一点P(x1,y1),令O点表示无穷远点。计算R=2P称为倍点运算,其中R坐标为(xR,yR)。1)如果y1=0,则R=2P=O。2)若y1≠0,则有点R=2P,满足xR=(3x12+a2y1)2-2x1---(5)]]>yR=(3x12+a2y1)(x1-xR)-y1---(6)]]>-->由于在椭圆曲线密码体制中求逆运算要比乘法慢,而在投影坐标系中不涉及求逆,所以一般会将仿射坐标转换为投影坐标再进行计算。下面给出椭圆曲线在Jacobi投影坐标下点加和倍点的计算公式。可以看出,公式只用到了模加和模乘操作。表1点加计算公式                               表2倍点计算公式点加:                                        倍点:输入:P(X1,Y1,Z1),Q(X2,Y2,1)             输入:P(X1,Y1,Z1)输出:R(X3,Y3,Z3)=P+Q                      输出:R(X3,Y3,Z3)=2P公式:                                        公式:X3=(Y2Z13-Y1)2-(X2Z12+X1)(X2Z12-X1)2]]>X3=(3X12+aZ14)2-8X1Y12]]>Y3=(Y2Z13-Y1)[X1(X2Z12-X1)2-X3]-Y1(X2Z12-X1)3]]>Y3=(3X12+aZ14)(4X1Y12-X3)-8Y14]]>Z3=Z1(X2Z12-X1)]]>                                              Z3=2Y1Z1对于模乘运算,一般使用Montgomery模乘算法,该算法如下所示:输入:X,Y,N,R输出:S=XYR-1mod N步骤:1.N′=-N-1mod R2.T=X×Y3.M=T×N′mod R4.S=T+M×NR]]>5.如果S≥N,则S=S-N6.返回S。可以看出,一次模乘主要分解为三次乘法运算。计算椭圆曲线的点加和倍点,处于缩小面积的考虑,一般用的是串行计算的方法,但是,串行计算的效率比较低下,通过分析点加和倍点运算的数据相关性,可以得出在串行计算中很多相互独立的操作也被视为有了依赖关系,从而造成时钟周期数的浪费,本专利技术正是根据这一问题而提出了对于点加计算的有效解决方案。-->
技术实现思路
本专利技术的目的在于提出一种椭圆曲线密码系统的点加系统,在不增加面积的情况下提高点加的运算速度,在一个基本的层面上优化椭圆曲线点乘的性能。本专利技术的特征在于:该点加系统是在专用数字集成电路芯片中采用ASIC流程实现的。含有:点加寄存器控制器;点加多路选择控制器;第一多路选择器组,由六个多路选择器mux1、mux2、mux3、mux4、mux5、mux6构成;中间变量寄存器组,由六个中间变量寄存器Reg1、Reg2、Reg3、Reg4、Reg5、Reg6构成;第二多路选择控制器,由四个多路选择器lmux1、lmux2、lmux3、lmux4构成,其中:所述点加寄存器控制器,是一个有限状态机,输入为形式为010101……且占空比为1∶1的方波时钟信号Clk,以及低电平有效的开始信号Start,输出为六个各自均为2个比特的操作控制信号:C1、C2、C3、C4、C5、C6,所述点加寄存器控制器在开始信号有效后按以下各轮中时钟节拍在各个时钟输出不同的C1_C2_C3_C4_C5_C6各操作控制信号的组合:初始化时,令各中间变量寄存器分别为:Reg1←X1,Reg2←Y1,Reg3←Z1,Reg4←X2,Reg5←Y2,Reg6←1,(X1,Y1,Z1)为Jacobi投影坐标下椭圆曲线上的点P的坐标,(X2,Y2,1)为Jacobi投影坐标下椭圆曲线上的点Q的坐标,令:R=P+Q,点R的坐标为(x3,Y3,Z3),C1_C2_C3_C4_C5_C6中每个操作控制信号均为00,在以下叙述中省略各操作控制信号的标志;第一轮Δ1中:在第1~第8本文档来自技高网
...

【技术保护点】
用于椭圆曲线密码体制的点加系统,其特征在于:该点加系统是在专用数字集成电路芯片中采用ASIC流程实现的。含有:点加寄存器控制器;点加多路选择控制器;第一多路选择器组,由六个多路选择器mux1、mux2、mux3、mux4、mux5、mux6构成;中间变量寄存器组,由六个中间变量寄存器Reg1、Reg2、Reg3、Reg4、Reg5、Reg6构成;第二多路选择控制器,由四个多路选择器lmux1、lmux2、lmux3、lmux4构成,其中:所述点加寄存器控制器,是一个有限状态机,输入为形式为010101……且占空比为1∶1的方波时钟信号Clk,以及低电平有效的开始信号Start,输出为六个各自均为2个比特的操作控制信号:C1、C2、C3、C4、C5、C6,所述点加寄存器控制器在开始信号有效后按以下各轮中时钟节拍在各个时钟输出不同的C1_C2_C3_C4_C5_C6各操作控制信号的组合:初始化时,令各中间变量寄存器分别为:Reg1←X↓[1],Reg2←Y↓[1],Reg3←Z↓[1],Reg4←X↓[2],Reg5←Y↓[2],Reg6←1,(X↓[1],Y↓[1],Z↓[1])为Jacobi投影坐标下椭圆曲线上的点P的坐标,(X↓[2],Y↓[2],1)为Jacobi投影坐标下椭圆曲线上的点Q的坐标,令:R=P+Q,点R的坐标为(X↓[3],Y↓[3],Z↓[3]),C1_C2_C3_C4_C5_C6中每个操作控制信号均为00,在以下叙述中省略各操作控制信号的标志;第一轮Δ1中:在第1~第8时钟周期,操作控制信号均为11_11_11_11_11_11,在第9时钟周期,操作控制信号为11_11_11_11_01_11;第二轮Δ2中:在第10时钟周期,操作控制信号为11_11_11_01_11_11,在第11~第17时钟周期,操作控制信号均为11_11_11_11_11_11,在第18时钟周期,操作控制信号为11_11_11_01_11_11;第三轮Δ3中:在第19时钟周期,操作控制信号为11_11_11_11_10_01,在第20时钟周期,操作控制信号为11_01_11_11_11_10,在第21时钟周期,操作控制信号为10_11_11_11_11_11,在第22~第26时钟周期,操作控制信号均为11_11_11_11_11_11,在第27时钟周期,操作控制信号为11_11_11_01_11_11;第四轮Δ4中:...

【技术特征摘要】
1.用于椭圆曲线密码体制的点加系统,其特征在于:该点加系统是在专用数字集成电路芯片中采用ASIC流程实现的。含有:点加寄存器控制器;点加多路选择控制器;第一多路选择器组,由六个多路选择器mux1、mux2、mux3、mux4、mux5、mux6构成;中间变量寄存器组,由六个中间变量寄存器Reg1、Reg2、Reg3、Reg4、Reg5、Reg6构成;第二多路选择控制器,由四个多路选择器lmux1、lmux2、lmux3、lmux4构成,其中:所述点加寄存器控制器,是一个有限状态机,输入为形式为010101……且占空比为1∶1的方波时钟信号Clk,以及低电平有效的开始信号Start,输出为六个各自均为2个比特的操作控制信号:C1、C2、C3、C4、C5、C6,所述点加寄存器控制器在开始信号有效后按以下各轮中时钟节拍在各个时钟输出不同的C1_C2_C3_C4_C5_C6各操作控制信号的组合:初始化时,令各中间变量寄存器分别为:Reg1←X1,Reg2←Y1,Reg3←Z1,Reg4←X2,Reg5←Y2,Reg6←1,(X1,Y1,Z1)为Jacobi投影坐标下椭圆曲线上的点P的坐标,(X2,Y2,1)为Jacobi投影坐标下椭圆曲线上的点Q的坐标,令:R=P+Q,点R的坐标为(X3,Y3,Z3),C1_C2_C3_C4_C5_C6中每个操作控制信号均为00,在以下叙述中省略各操作控制信号的标志;第一轮Δ1中:在第1~第8时钟周期,操作控制信号均为11_11_11_11_11_11,在第9时钟周期,操作控制信号为11_11_11_11_01_11;第二轮Δ2中:在第10时钟周期,操作控制信号为11_11_11_01_11_11,在第11~第17时钟周期,操作控制信号均为11_11_11_11_11_11,在第18时钟周期,操作控制信号为11_11_11_01_11_11;第三轮Δ3中:在第19时钟周期,操作控制信号为11_11_11_11_10_01,在第20时钟周期,操作控制信号为11_01_11_11_11_10,在第21时钟周期,操作控制信号为10_11_11_11_11_11,在第22~第26时钟周期,操作控制信号均为11_11_11_11_11_11,在第27时钟周期,操作控制信号为11_11_11_01_11_11;第四轮Δ4中:在第28时钟周期,操作控制信号为11_01_11_10_11_11,在第29时钟周期,操作控制信号为01_11_11_11_11_11,在第30~第35时钟周期,操作控制信号均为11_11_11_11_11_11,在第36时钟周期,操作控制信号为11_11_01_11_11_11;第五轮Δ5中:在第37时钟周期,操作控制信号为01_11_11_11_11_11,在第38时钟周期,操作控制信号为10_11_01_11_11_11,在第39~第44时钟周期,操作控制信号均为11_11_11_11_11_11,在第45时钟周期,操作控制信号为11_01_11_11_11_11;第六轮Δ6中:在第46时钟周期,操作控制信号为11_11_11_01_11_11,在第47时钟周期,操作控制信号为11_01_11_10_11_11,在第48时钟周期,操作控制信号为11_10_11_11_11_11;所述点加多路选择控制器,是一个有限状态机,输入为所述开始信号Start、所述时钟信号Clk,输出均为3个比特的选通控制信号:CL1、CL2、CL3、CL4,所述点加多路选择控制器在所述开始信号Start有效后的各轮中,在下述每个时钟周期均输出不同的选通控制信号CL1、CL2、CL3、CL4的组合;在所述初始化时,CL1_CL2_CL3_CL4中每个选通控制信号均为000,在以后叙述中省略各选通控制信号的标志;在所述第一轮Δ1中:在所述第1时钟周期,选通控制信号为011_011_000_000,在所述第2时钟周期,选通控制信号为011_101_000_000,在所述第3时钟周期,选通控制信号为011_101_000_000,在所述第4~第9时钟周期,选通控制信号均为000_000_000_000;在所述第二轮Δ2中:在所述第10时钟周期,选通控制信号为100_000_000_000,在所述第11时钟周期,选通控制信号为101_000_000_000,在所述第12时钟周期,选通控制信号为001_010_000_000,在所述第13~第18时钟周期,选通控制信号均为000_000_000_000;在所述第三轮Δ3中:在所述第19时钟周期,选通控制信号为010_000_111_001,在所述第20时钟周期,选通控制信号为111_111_111_010,在所述第21时钟周期,选通控制信号为001_111_001_100,在所述第22~第27时钟周期,选通控制信号均为000_000_000_000;在所述第四轮Δ4中:在所述第28时钟周期,选通控制信号为110_110_111_010,在所述第29时钟周期,选通控制信号为001_000_...

【专利技术属性】
技术研发人员:李树国张霄鹏
申请(专利权)人:清华大学
类型:发明
国别省市:11[中国|北京]

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

1