【摘要】 椭圆曲线密码系统的倍点系统,属于椭圆曲线密码系统的倍点技术领域。其特征在于: 含有倍点寄存器控制器、倍点多路选择控制器、第一多路选择器组、中间变量寄存器组以及 第二多路选择器组;在倍点多路选择控制器输出的选通控制信号下,在六个流水线过程内由 位于倍点系统外的模乘器和模加器对第二多路选择器组输出的乘数和加数完成倍点运算;在 每一个流水过程内,在所述选通控制信号控制下,模乘器和模加器分别向第一、第二两个多 路选择器组返回中间数据;在倍点寄存器控制器输出的操作控制信号控制下,控制第一多路 选择器组中的各个多路选择器通过中间变量寄存器组向第二多路选择器组输出相应的乘数和 加数。本发明提高了倍点运算速度,在一个基本层面上优化了椭圆曲线的点乘性能,提高了 数据吞吐率。 【专利类型】发明授权 【申请人】清华大学 【申请人类型】学校 【申请人地址】100084北京市海淀区100084-82信箱 【申请人地区】中国 【申请人城市】北京市 【申请人区县】海淀区 【申请号】CN200810055618.2 【申请日】2008-01-04 【申请年份】2008 【公开公告号】CN100583769C 【公开公告日】2010-01-20 【公开公告年份】2010 【授权公告号】CN100583769C 【授权公告日】2010-01-20 【授权公告年份】2010.0 【IPC分类号】H04L9/32 【发明人】李树国; 张霄鹏 【主权项内容】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←1,Reg5←1,Reg6←a, (X1,Y1,Z1)为Jacobi投影坐标下椭圆曲线上的点P的坐标, 1为常量, a为素数域椭圆曲线方程E:y2=x3+ax+b(modp)中的参数a, 令:R=2P,点R的坐标为(X3,Y3,Z3), C1_C2_C3_C4_C5_C6中每个操作控制信号均为00,在以下叙述中省略各操作 控制信号的标志; 第一轮Δ1中: 在第1时钟周期,操作控制信号均为11_11_11_11_10_11, 在第2时钟周期,操作控制信号为11_10_11_11_11_11, 在第3时钟周期,操作控制信号为10_11_11_11_11_11, 在第4~第8时钟周期,操作控制信号均为11_11_11_11_11_11, 在第9时钟周期,操作控制信号为11_11_11_11_01_11; 第二轮Δ2中: 在第10时钟周期,操作控制信号为11_11_11_11_01_11, 在第11时钟周期,操作控制信号均为11_01_11_10_11_11, 在第12时钟周期,操作控制信号为10_11_11_11_11_11, 在第13时钟周期,操作控制信号为11_11_11_11_11_11, 在第14时钟周期,操作控制信号为10_11_11_11_11_11, 在第15~第17时钟周期,操作控制信号为11_11_11_11_11_11, 在第18时钟周期,操作控制信号为11_01_11_11_11_11; 第三轮Δ3中: 在第19时钟周期,操作控制信号为11_11_01_11_11_11, 在第20时钟周期,操作控制信号为11_11_11_11_11_01, 在第21时钟周期,操作控制信号为11_10_11_11_11_11, 在第22~第26时钟周期,操作控制信号均为11_11_11_11_11_11, 在第27时钟周期,操作控制信号为11_11_11_01_11_11; 第四轮Δ4中: 在第28时钟周期,操作控制信号为01_11_11_10_11_11, 在第29~第36时钟周期,操作控制信号均为11_11_11_11_11_11; 第五轮Δ5中: 在第37时钟周期,操作控制信号为01_11_11_11_11_10, 在第38时钟周期,操作控制信号为10_01_11_11_11_11, 在第39时钟周期,操作控制信号为11_11_11_10_11_11, 在第40~第45时钟周期,操作控制信号均为11_11_11_11_11_11; 第六轮Δ6中: 在第46时钟周期,操作控制信号为11_11_11_11_11_11, 在第47时钟周期,操作控制信号为11_01_11_11_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_001_001, 在所述第2时钟周期,选通控制信号为010_010_010_010, 在所述第3时钟周期,选通控制信号为001_001_101_101, 在所述第4~第9时钟周期,选通控制信号均为000_000_000_000; 在所述第二轮Δ2中: 在所述第10时钟周期,选通控制信号为000_000_000_000, 在所述第11时钟周期,选通控制信号为010_011_111_111, 在所述第12时钟周期,选通控制信号为001_101_111_111, 在所述第13时钟周期,选通控制信号为000_000_000_000, 在所述第14时钟周期,选通控制信号为000_000_001_010, 在所述第15~第18时钟周期,选通控制信号均为000_000_000_000; 在所述第三轮Δ3中: 在所述第19时钟周期,选通控制信号为110_000_000_000, 在所述第20时钟周期,选通控制信号为100_100_000_000, 在所述第21时钟周期,选通控制信号为110_110_111_111, 在所述第22~第27时钟周期,选通控制信号均为000_000_000_000; 在所述第四轮Δ4中: 在所述第28时钟周期,选通控制信号为000_000_001_111, 在所述第29时钟周期,选通控制信号为111_111_000_000, 在所述第30时钟周期,选通控制信号为100_110_000_000, 在所述第31~第36时钟周期,选通控制信号均为000_000_000_000; 在所述第五轮Δ5中: 在所述第37时钟周期,选通控制信号为000_000_001_001, 在所述第38时钟周期,选通控制信号为000_000_111_010, 在所述第39时钟周期,选通控制信号为111_100_111_110, 在所述第40~第45时钟周期,选通控制信号均为000_000_000000; 在所述第六轮Δ6中: 在所述第46时钟周期,选通控制信号为000_000_000_000, 在所述第47时钟周期,选通控制信号为000_000_000_000, 在所述第48时钟周期,选通控制信号为000_000_100_111; 所述第一多路选择器组,其中: 各个多路选择器mux1~mux6各自的选择信号输入端先后依次分别与所述倍点寄存器控 制器的各操作控制信号输出端相连,分别输入各个操作控制信号C1~C6, 各个多路选择器mux1~mux6各自的00端先后依次输入X1、Y1、Z1、1、1、a, 各个多路选择器mux1~mux6各自的模乘数据输入端01共同与所述倍点电路系统外的 模乘器的模乘数据r_mul输出端相连, 各个多路选择器mux1~mux6各自的模加数据输入端10共同与所述倍点电路系统外的 模加器的模加数据r_add输出端相连; 所述中间变量寄存器组,其中: 各个中间变量寄存器寄存Reg1~Reg6的第一输入端先后依次分别与所述各多路选择 器mux1~mux6的信号D1、D2、D3、D4、D5、D6的输出端相连,所述Reg1~Reg6的第二输入 端互连后接时钟信号Clk的输出端; 所述第二多路选择器组,其中: 各个多路选择器lmux1~lmux4各自的选择信号输入端先后依次分别与所述倍点多路 选择控制器的各选通控制信号输出端相连,分别输入各个选通控制信号CL1~CL4, 多路选择器lmux1、lmux2的000输入端互连后接常量1, 多路选择器lmux3、lmux4的000输入端互连后接所述模加器的模加信号r_add的输出 端, 各个多路选择器lmux1~lmux4的001输入端互连后接所述中间变量寄存器Reg1的信 号T1的输出端,所述信号T1的输出端同时与所述第一多路选择器组中的多路选择器mux1的 11输入端相连, 各个多路选择器lmux1~lmux4的010输入端互连后接所述中间变量寄存器Reg2的信 号T2的输出端,所述信号T2的输出端同时与所述第一多路选择器组中的多路选择器mux2的 11输入端相连, 各个多路选择器lmux1~lmux4的011输入端互连后接所述中间变量寄存器Reg3的信 号T3的输出端,所述信号T3的输出端同时与所述第一多路选择器组中的多路选择器mux3的 11输入端相连, 各个多路选择器lmux1~lmux4的100输入端互连后接所述中间变量寄存器Reg4的信 号T4的输出端,所述信号T4的输出端同时与所述第一多路选择器组中的多路选择器mux4的 11输入端相连, 各个多路选择器lmux1~lmux4的101输入端互连后接所述中间变量寄存器Reg5的信 号T5的输出端,所述信号T5的输出端同时与所述第一多路选择器组中的多路选择器mux5的 11输入端相连, 各个多路选择器lmux1~lmux4的110输入端互连后接所述中间变量寄存器Reg6的信 号T6的输出端,所述信号T6的输出端同时与所述第一多路选择器组中的多路选择器mux6的 11输入端相连, 多路选择器lmux1、lmux2的111输入端互连后接所述模加器的模加信号r_add的输出 端, 多路选择器lmux3、lmux4的111输入端互连后接所述模乘器的模乘信号r_mul的输出 端, 所述多路选择器lmux1、lmux2的输出信号mul1、mul2分别送入所述模乘器的两个输入 端; 所述多路选择器lmux3、lmux4的输出信号add1、add2分别送入所述模加器的两个输入 端; 在所述第一轮Δ1中: 所述模乘器的输出r_mul使: T5←T32,T5←T22,T2←T12, 所述模加器的输出r_add使: T5←T1+T1,T2←T2+T2,T1←T5+T5; 在所述第二轮Δ2中: 所述模乘器的输出r_mul使: T1←T52,T3←T2×T3,T6←T1×T5, 所述模加器的输出r_add使: T4←T5+T5,T1←T2+T2,T1←T1+T2; 在所述第三轮Δ3中: 所述模乘器的输出r_mul使: T4←T2×T6,T1←T42,T1←T42, 所述模加器的输出r_add使: T4←T5+T5,T2←T6+T6; 在所述第四轮Δ4中: 所述模乘器的输出r_mul使: T1←T42,T1←T42,T2←T4×T6, 所述模加器的输出r_add使: T4←T1+T4: 在所述第五轮Δ5中: 所述模乘器的输出r_mul使: T2←T1×T4,T2←T1×T4,T2←T1×T4, 所述模加器的输出r_add使: T6←T1+T1,T1←T1-T2,T4←T2-T6; 在所述第六轮Δ6中: 所述模加器的输出r_add使: T2←T4-T2,得到X3=T1,Y3=T2,Z3=T3; 符号“←”表示用右边的数据去代替左边的数据。 【当前权利人】清华大学 【当前专利权人地址】北京市海淀区100084-82信箱 【专利权人类型】公立 【统一社会信用代码】12100000400000624D 【引证次数】3.0 【被引证次数】3 【他引次数】3.0 【被他引次数】3.0 【家族引证次数】3.0 【家族被引证次数】15