一种流水线型椭圆曲线双标量乘法系统及方法.pdf

上传人:g**** 文档编号:966305 上传时间:2018-03-21 格式:PDF 页数:25 大小:1.40MB
返回 下载 相关 举报
摘要
申请专利号:

CN200910109048.5

申请日:

2009.07.28

公开号:

CN101630244A

公开日:

2010.01.20

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F7/72; H04L9/30

主分类号:

G06F7/72

申请人:

哈尔滨工业大学深圳研究生院

发明人:

张 岩; 王 旭

地址:

518055广东省深圳市南山区西丽深圳大学城哈工大校区

优先权:

专利代理机构:

深圳市科吉华烽知识产权事务所

代理人:

胡吉科

PDF下载: PDF下载
内容摘要

本发明公开了一种流水线型椭圆曲线双标量乘法系统及方法。该系统及方法通过两个或三个有限域平方运算单元、三个有限域乘法运算单元、一个有限域加法运算单元、寄存器组、若干多路选通器及控制逻辑单元的结构实现了椭圆曲线标量乘法的计算。本发明的流水线型椭圆曲线双标量乘法系统及方法接口方式简单、运算速度大大加快、硬件不存在空闲时间、可以满足不同宽度数据的加密、减少椭圆曲线加密算法计算周期、可以并行计算有限域元素求逆,非常适合工作在高吞吐率的椭圆曲线加密系统。

权利要求书

1: 一种流水线型椭圆曲线双标量乘法系统,其特征在于:所述流水线型椭 圆曲线双标量乘法系统包括:两个或三个有限域平方运算单元、三个有限域乘 法运算单元、一个有限域加法运算单元、寄存器组、若干多路选通器及控制逻 辑单元;外部输入的常数b、椭圆曲线上两点的原始坐标(x,y)、(u,v)通过多路 选通器与有限域乘法运算单元连接,原始坐标的投影坐标P(x 1 ,z 1 ,x 2 ,z 2 )和 Q(u 1 ,v 1 ,u 2 ,v 2 )通过多路选通器与寄存器组连接;所述有限域平方运算单元、有限域 乘法运算单元分别通过多路选通器与寄存器组连接。
2: 根据权利要求1所述的流水线型椭圆曲线双标量乘法系统,其特征在于: 所述流水线型椭圆曲线双标量乘法系统包括三个有限域平方运算单元的具体结 构为:有限域平方运算单元(201)的输入端与多路选通器(220)的输出端连 接,有限域平方运算单元(201)的输出端分别与多路选通器(208)、多路选通 器(213)、多路选通器(214)及多路选通器(219)的输入端连接;有限域平 方运算单元(202)的输入端与多路选通器(221)的输出端连接,有限域平方 运算单元(202)的输出端分别与多路选通器(209)及多路选通器(215)的输 入端连接;有限域平方运算单元(203)的输入端与多路选通器(222)的输出 端连接,有限域平方运算单元(203)的输出端分别与多路选通器(210)及多 路选通器(216)的输入端连接;有限域乘法运算单元(204)的输入端分别与 多路选通器(223)及多路选通器(227)的输出端连接,有限域乘法运算单元 (204)的输出端分别与多路选通器(209)、多路选通器(210)、多路选通器(215) 及多路选通器(216)的输入端连接;有限域乘法运算单元(205)的输入端分 别与多路选通器(224)及多路选通器(228)的输出端连接,有限域乘法运算 单元(205)的输出端分别与多路选通器(211)及多路选通器(217)的输入端 连接;有限域乘法运算单元(206)的输入端分别与多路选通器(225)及多路 选通器(229)的输出端连接,有限域乘法运算单元(206)的输出端分别与多 路选通器(212)、多路选通器(213)、多路选通器(218)及多路选通器(219) 的输入端连接;有限域加法运算单元(207)的输入端分别与多路选通器(226) 及多路选通器(230)的输出端连接,有限域乘法运算单元(207)的输出端分 别与多路选通器(208)、多路选通器(211)、多路选通器(212)、多路选通器 (213)、多路选通器(214)、多路选通器(217)、多路选通器(218)及多路选 通器(219)的输入端连接;寄存器(231)的输入端与多路选通器(208)的输 出端连接,寄存器(231)的输出端分别与多路选通器(208)、多路选通器(209)、 多路选通器(220)及多路选通器(223)的输入端连接;寄存器(232)的输入 端与多路选通器(209)的输出端连接,寄存器(232)的输出端分别与多路选 通器(208)、多路选通器(209)、多路选通器(210)、多路选通器(221)、多 路选通器(224)、多路选通器(226)、多路选通器(227)及多路选通器(229) 的输入端连接;寄存器(233)的输入端与多路选通器(210)的输出端连接, 寄存器(233)的输出端分别与多路选通器(210)、多路选通器(222)、多路选 通器(227)及多路选通器(230)的输入端连接;寄存器(234)的输入端与多 路选通器(211)的输出端连接,寄存器(234)的输出端分别与多路选通器(211)、 多路选通器(224)、多路选通器(226)及多路选通器(228)的输入端连接; 寄存器(235)的输入端与多路选通器(212)的输出端连接,寄存器(235)的 输出端分别与多路选通器(210)、多路选通器(211)、多路选通器(225)及多 路选通器(228)的输入端连接;寄存器(236)的输入端与多路选通器(213) 的输出端连接,寄存器(236)的输出端分别与多路选通器(213)、多路选通器 (220)、多路选通器(229)及多路选通器(230)的输入端连接;寄存器(237) 的输入端与多路选通器(214)的输出端连接,寄存器(237)的输出端分别与 多路选通器(214)、多路选通器(215)、多路选通器(220)及多路选通器(223) 的输入端连接;寄存器(238)的输入端与多路选通器(215)的输出端连接, 寄存器(238)的输出端分别与多路选通器(214)、多路选通器(215)、多路选 通器(221)、多路选通器(224)、多路选通器(226)、多路选通器(227)及多 路选通器(229)的输入端连接;寄存器(239)的输入端与多路选通器(216) 的输出端连接,寄存器(239)的输出端分别与多路选通器(216)、多路选通器 (222)、多路选通器(223)及多路选通器(230)的输入端连接;寄存器(240) 的输入端与多路选通器(217)的输出端连接,寄存器(240)的输出端分别与 多路选通器(217)、多路选通器(224)、多路选通器(226)及多路选通器(228) 的输入端连接;寄存器(241)的输入端与多路选通器(218)的输出端连接, 寄存器(241)的输出端分别与多路选通器(217)、多路选通器(218)、多路选 通器(225)及多路选通器(228)的输入端连接;寄存器(242)的输入端与多 路选通器(219)的输出端连接,寄存器(242)的输出端分别与多路选通器(219)、 多路选通器(220)、多路选通器(225)及多路选通器(230)的输入端连接; 所述x 1 ,z 1 ,x 2 ,z 2 分别与多路选通器(208)、多路选通器(209)、多路选通器 (211)及多路选通器(212)连接;所述u 1 ,v 1 ,u 2 ,v 2 分别与多路选通器(214)、 多路选通器(215)、多路选通器(217)及多路选通器(218)连接;所述x,u 分别与多路选通器(225)及多路选通器(229)连接。
3: 根据权利要求2所述的流水线型椭圆曲线双标量乘法系统,其特征在于: 对于包括两个有限域平方器运算单元的流水线型椭圆曲线双标量乘法系统定义 所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行 时钟周期数分别为T M ,T A ,T S ,其中,T M =T A =T,T M =3T+1;所述的流水线型椭 圆曲线双标量乘法系统使用4(3T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘 法。
4: 根据权利要求1所述的流水线型椭圆曲线双标量乘法系统,其特征在于: 所述流水线型椭圆曲线双标量乘法系统包括两个有限域平方运算单元的具体结 构为:有限域平方运算单元(301)的输入端与多路选通器(319)的输出端连 接,有限域平方运算单元(301)的输出端分别与多路选通器(307)、多路选通 器(308)、多路选通器(313)及多路选通器(314)的输入端连接;有限域平 方运算单元(302)的输入端与多路选通器(320)的输出端连接,有限域平方 运算单元(302)的输出端分别与多路选通器(309)、多路选通器(312)、多路 选通器(315)及多路选通器(318)的输入端连接;有限域乘法运算单元(303) 的输入端分别与多路选通器(321)及多路选通器(325)的输出端连接,有限 域乘法运算单元(303)的输出端分别与多路选通器(308)、多路选通器(309)、 多路选通器(314)及多路选通器(315)的输入端连接;有限域乘法运算单元 (304)的输入端分别与多路选通器(322)及多路选通器(326)的输出端连接, 有限域乘法运算单元(304)的输出端分别与多路选通器(310)及多路选通器 (316)的输入端连接;有限域乘法运算单元(305)的输入端分别与多路选通 器(323)及多路选通器(327)的输出端连接,有限域乘法运算单元(305)的 输出端分别与多路选通器(311)、多路选通器(312)、多路选通器(317)及多 路选通器(318)的输入端连接;有限域加法运算单元(306)的输入端分别与 多路选通器(324)及多路选通器(328)的输出端连接,有限域乘法运算单元 (306)的输出端分别与多路选通器(307)、多路选通器(310)、多路选通器(311)、 多路选通器(312)、多路选通器(313)、多路选通器(316)、多路选通器(317) 及多路选通器(318)的输入端连接;寄存器(329)的输入端与多路选通器(307) 的输出端连接,寄存器(329)的输出端分别与多路选通器(307)、多路选通器 (308)、多路选通器(319)及多路选通器(321)的输入端连接;寄存器(330) 的输入端与多路选通器(308)的输出端连接,寄存器(330)的输出端分别与 多路选通器(307)、多路选通器(308)、多路选通器(309)、多路选通器(319) 及多路选通器(322)的输入端连接;寄存器(331)的输入端与多路选通器(309) 的输出端连接,寄存器(331)的输出端分别与多路选通器(309)、多路选通器 (320)、多路选通器(325)及多路选通器(328)输入端连接;寄存器(332) 的输入端与多路选通器(310)的输出端连接,寄存器(332)的输出端分别与 多路选通器(310)、多路选通器(322)、多路选通器(324)及多路选通器(326) 的输入端连接;寄存器(333)的输入端与多路选通器(311)的输出端连接, 寄存器(333)的输出端分别与多路选通器(311)、多路选通器(323)及多路 选通器(326)的输入端连接;寄存器(334)的输入端与多路选通器(312)的 输出端连接,寄存器(334)的输出端分别与多路选通器(312)、多路选通器(320)、 多路选通器(327)及多路选通器(328)的输入端连接;寄存器(335)的输入 端与多路选通器(313)的输出端连接,寄存器(335)的输出端分别与多路选 通器(313)、多路选通器(319)、多路选通器(321)的输入端连接;寄存器(336) 的输入端与多路选通器(314)的输出端连接,寄存器(336)的输出端分别与 多路选通器(313)、多路选通器(314)、多路选通器(315)、多路选通器(319)、 多路选通器(322)多路选通器(324)、多路选通器(325)及多路选通器(327) 的输入端连接;寄存器(337)的输入端与多路选通器(315)的输出端连接, 寄存器(337)的输出端分别与多路选通器(315)、多路选通器(320)、多路选 通器(321)及多路选通器(328)的输入端连接;寄存器(338)的输入端与多 路选通器(316)的输出端连接,寄存器(338)的输出端分别与多路选通器(316)、 多路选通器(322)、多路选通器(324)及多路选通器(326)的输入端连接; 寄存器(339)的输入端与多路选通器(317)的输出端连接,寄存器(339)的 输出端分别与多路选通器(316)、多路选通器(317)、多路选通器(323)及多 路选通器(326)的输入端连接;寄存器(340)的输入端与多路选通器(318) 的输出端连接,寄存器(340)的输出端分别与多路选通器(318)、多路选通器 (320)、多路选通器(323)及多路选通器(328)的输入端连接;所述常数b 与多路选通器(321)连接;所述x1,z1,x2,z2分别与多路选通器(307)、 多路选通器(308)、多路选通器(310)及多路选通器(311)连接;所述u1, v1,u2,v2分别与多路选通器(313)、多路选通器(314)、多路选通器(316) 及多路选通器(317)连接;所述x,u分别与多路选通器(323)及多路选通器 (327)连接。
5: 根据权利要求4所述的流水线型椭圆曲线双标量乘法系统,其特征在于: 对于包括两个有限域平方器运算单元的流水线型椭圆曲线双标量乘法系统定义 所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行 时钟周期数分别为T M ,T A ,T S 其中,T M =T A =T,T M =2T+1;所述的流水线型椭圆 曲线双标量乘法系统使用4(2T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。
6: 根据权利要求1所述的流水线型椭圆曲线双标量乘法系统,其特征在于: 所述有限域乘法器使用流水线缩短关键路径长度;具体如下: 对于有限域乘法A(x)B(x)(modf(x)),输入A(x)被分成 个字,即 其中a i 被分成k个部分a i k-1 ,a i k-2 ,…,a i 0 ,这k部分进入第一级流水线的k位并行 乘法器计算出a i k-1 B(x),a i k-2 B(x),…,a i 0 B(x),并在第二级流水线进行累加计算出a i B(x); a i B(x)经过f(x)求模后存入寄存器;这种有限域乘法器关键路径是Path0和Path1 的最大者,即 其中ω为字长,T AND 和T XOR 分别表示两输入与门和或非门的延迟。
7: 一种流水线型椭圆曲线双标量乘法方法,其特征在于:所述流水线型椭 圆曲线双标量乘法方法包括以下步骤: 初始化:椭圆曲线上投影坐标点P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)初始化寄存器 x1,z1,x2,z2和u1,v1,u2,v2,等待电路启动信号;定义T M 为有限域乘法运算单元执行 时钟周期数; 第1到T M 周期:有限域乘法器计算X 1 Z 1 ,X 2 Z 1 ,X 2 Z 2 ; 第T M 到2T M 周期:有限域乘法器计算U 1 V 1 ,U 2 V 1 ,U 2 V 2 ,有限域平方器和加法器 计算X 1 2 ,Z 1 2 ,X 1 2 Z 1 2 ,X 2 Z 1 +X 1 Z 2 和Z 1 4 ,Z 1 4 ,(X 2 Z 1 +X 1 Z 2 ) 2 ;此时包括的六个有限域平方运 算由两个有限域平方器运算单元分三次计算; 第2T M 到3T M 周期:有限域乘法器计算bZ 1 4 ,x(X 2 Z 1 +X 1 Z 2 ) 2 ,X 1 Z 2 X 2 Z 1 ,有限域平 方器和加法器计算U 1 2 ,V 1 2 ,U 1 2 V 1 2 ,U 2 V 1 +U 1 V 2 和U 1 4 ,V 1 4 ,(U 2 V 1 +U 1 V 2 ) 2 ;此时包括的六个有 限域平方运算由三个有限域平方器运算单元分两次计算; 第3T M 到4T M 周期:有限域乘法器计算bV 1 4 ,u(U 2 V 1 +U 1 V 2 ) 2 ,U 1 V 2 U 2 V 1 ,有限域平 方器和加法器计算x(X 2 Z 1 +X 1 Z 2 ) 2 +(X 1 Z 2 )(X 2 Z 1 )和X 1 4 +bZ 1 4 ;根据k的二进制序列进 行交换操作; 第4T M 到5T M 周期:开始新的循环,有限域乘法器计算X′ 1 Z′ 1 ,X′ 2 Z′ 1 ,X′ 2 Z′ 2 ,有 限域平方器和加法器计算u(U 2 V 1 +U 1 V 2 ) 2 +(U 1 V 2 )(U 2 V 1 )和U 1 4 +bV 1 4 ;根据k的二进制 序列进行交换操作。
8: 根据权利要求7所述的流水线型椭圆曲线双标量乘法方法,其特征在于: 定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的 执行时钟周期数分别为T M ,T A ,T S ,其中,T M =T A =T,T M =3T+1;所述流水线型 椭圆曲线双标量乘法方法使用4(3T+1)(m-1)个时钟周期完成两个椭圆曲线标量 乘法。
9: 一种流水线型椭圆曲线双标量乘法方法,其特征在于:所述流水线型椭 圆曲线双标量乘法方法包括以下步骤: 初始化:椭圆曲线上投影坐标点P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)初始化寄存器 x1,z1,x2,z2和u1,v1,u2,v2,等待电路启动信号;定义T M 为有限域乘法运算单元执行 时钟周期数; 第1到T M 周期:有限域乘法器计算X 1 Z 2 ,X 2 Z 1 ,X 1 Z 1 ; 第T M 到2T M 周期:有限域乘法器计算U 1 V 2 ,U 2 V 1 ,U 1 V 1 ,有限域平方器和加法器计 算X 1 2 ,Z 1 2 ,X 1 2 Z 1 2 ,X 2 Z 1 +X 1 Z 2 和X 1 4 ,Z 1 4 ,(X 2 Z 1 +X 1 Z 2 ) 2 ;此时包括的六个有限域平方运算 分两次计算; 第2T M 到3T M 周期:有限域乘法器计算bZ 1 4 ,x(X 2 Z 1 +X 1 Z 2 ) 2 ,X 1 Z 2 X 2 Z 1 ,有限域平 方器和加法器计算U 1 2 ,V 1 2 ,U 1 2 V 1 2 ,U 2 V 1 +U 1 V 2 和U 1 4 ,V 1 4 ,(U 2 V 1 +U 1 V 2 ) 2 ;此时包括的六个有 限域平方运算分两次计算; 第3T M 到4T M 周期:有限域乘法器计算bV 1 4 ,u(U 2 V 1 +U 1 V 2 ) 2 ,U 1 V 2 U 2 V 1 ,有限域平 方器和加法器计算x(X 2 Z 1 +X 1 Z 2 ) 2 +(X 1 Z 2 )(X 2 Z 1 )和X 1 4 +bZ 1 4 ;根据k的二进制序列进 行交换操作; 第4T M 到5T M 周期:开始新的循环,有限域乘法器计算X′ 1 Z′ 2 ,X′ 2 Z′ 1 ,X′ 1 Z′ 1 ,有 限域平方器和加法器计算u(U 2 V 1 +U 1 V 2 ) 2 +(U 1 V 2 )(U 2 V 1 )和U 1 4 +bV 1 4 ;根据k的二进制 序列进行交换操作。
10: 根据权利要求9所述的流水线型椭圆曲线双标量乘法方法,其特征在 于:定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单 元的执行时钟周期数分别为T M ,T A ,T S ,其中,T M =T A =T,T M =2T+1;所述流水线 型椭圆曲线双标量乘法方法使用4(2T+1)(m-1)个时钟周期完成两个椭圆曲线标 量乘法。

说明书


一种流水线型椭圆曲线双标量乘法系统及方法

    【技术领域】

    本发明涉及快速实现椭圆曲线加密算法的电路结构领域,特别涉及一种流水线型椭圆曲线双标量乘法系统及方法。

    【背景技术】

    随着计算机网络和通信技术的飞速发展,互联通信成为生活中最重要的组成部分。传统公钥密码体制如RSA由于公钥位数很长(一般为1024比特以上),给网络数据传输带来了很大的负担。椭圆曲线密码在同样安全等级下具有更短的密钥长度,从而在实现上节省了数据存储空间,减少了IC实现的面积,同时更有效的利用网络带宽。椭圆曲线密码(ECC)由Koblitz和Miller于1985年各自独立发现。其安全性是基于椭圆曲线上的加法群的离散对数问题(ECDLP)求解的困难性。随着计算机性能的提高,密码所需要的密钥长度也不断增加,ECC与其他公钥密码相比更具有优势,如图1所示,椭圆曲线双标量乘法在ECC加密算法中的应用。

    几种重要的ECC加密算法涉及到两个椭圆曲线标量乘法的计算,而椭圆曲线标量乘法是ECC的核心运算。由于椭圆曲线标量乘法计算步骤的复杂性,算法中的循环和有限域元素的求逆运算一般采用硬件实现,而其它部分采用软件的方式实现。

    【发明内容】

    为了解决现有技术椭圆曲线标量乘法计算步骤的复杂性的技术问题,本发明提供了一种流水线型椭圆曲线双标量乘法系统及方法。

    本发明解决现有技术椭圆曲线标量乘法计算步骤的复杂性的技术问题所采用的技术方案是:提供一种流水线型椭圆曲线双标量乘法系统及方法。

    本发明提供的一种流水线型椭圆曲线双标量乘法系统包括:两个或三个有限域平方运算单元、三个有限域乘法运算单元、一个有限域加法运算单元、寄存器组、若干多路选通器及控制逻辑单元;外部输入的常数b、椭圆曲线上两点的原始坐标(x,y)、(u,v)通过多路选通器与有限域乘法运算单元连接,原始坐标的投影坐标P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)通过多路选通器与寄存器组连接;所述有限域平方运算单元、有限域乘法运算单元分别通过多路选通器与寄存器组连接。

    根据本发明提供的流水线型椭圆曲线双标量乘法系统一优选技术方案是:所述流水线型椭圆曲线双标量乘法系统包括三个有限域平方运算单元的具体结构为:有限域平方运算单元(201)的输入端与多路选通器(220)的输出端连接,有限域平方运算单元(201)的输出端分别与多路选通器(208)、多路选通器(213)、多路选通器(214)及多路选通器(219)的输入端连接;有限域平方运算单元(202)的输入端与多路选通器(221)的输出端连接,有限域平方运算单元(202)的输出端分别与多路选通器(209)及多路选通器(215)的输入端连接;有限域平方运算单元(203)的输入端与多路选通器(222)的输出端连接,有限域平方运算单元(203)的输出端分别与多路选通器(210)及多路选通器(216)的输入端连接;有限域乘法运算单元(204)的输入端分别与多路选通器(223)及多路选通器(227)的输出端连接,有限域乘法运算单元(204)的输出端分别与多路选通器(209)、多路选通器(210)、多路选通器(215)及多路选通器(216)的输入端连接;有限域乘法运算单元(205)的输入端分别与多路选通器(224)及多路选通器(228)的输出端连接,有限域乘法运算单元(205)的输出端分别与多路选通器(211)及多路选通器(217)的输入端连接;有限域乘法运算单元(206)的输入端分别与多路选通器(225)及多路选通器(229)的输出端连接,有限域乘法运算单元(206)的输出端分别与多路选通器(212)、多路选通器(213)、多路选通器(218)及多路选通器(219)的输入端连接;有限域加法运算单元(207)的输入端分别与多路选通器(226)及多路选通器(230)的输出端连接,有限域乘法运算单元(207)的输出端分别与多路选通器(208)、多路选通器(211)、多路选通器(212)、多路选通器(213)、多路选通器(214)、多路选通器(217)、多路选通器(218)及多路选通器(219)的输入端连接;寄存器(231)的输入端与多路选通器(208)的输出端连接,寄存器(231)的输出端分别与多路选通器(208)、多路选通器(209)、多路选通器(220)及多路选通器(223)的输入端连接;寄存器(232)地输入端与多路选通器(209)的输出端连接,寄存器(232)的输出端分别与多路选通器(208)、多路选通器(209)、多路选通器(210)、多路选通器(221)、多路选通器(224)、多路选通器(226)、多路选通器(227)及多路选通器(229)的输入端连接;寄存器(233)的输入端与多路选通器(210)的输出端连接,寄存器(233)的输出端分别与多路选通器(210)、多路选通器(222)、多路选通器(227)及多路选通器(230)的输入端连接;寄存器(234)的输入端与多路选通器(211)的输出端连接,寄存器(234)的输出端分别与多路选通器(211)、多路选通器(224)、多路选通器(226)及多路选通器(228)的输入端连接;寄存器(235)的输入端与多路选通器(212)的输出端连接,寄存器(235)的输出端分别与多路选通器(210)、多路选通器(211)、多路选通器(225)及多路选通器(228)的输入端连接;寄存器(236)的输入端与多路选通器(213)的输出端连接,寄存器(236)的输出端分别与多路选通器(213)、多路选通器(220)、多路选通器(229)及多路选通器(230)的输入端连接;寄存器(237)的输入端与多路选通器(214)的输出端连接,寄存器(237)的输出端分别与多路选通器(214)、多路选通器(215)、多路选通器(220)及多路选通器(223)的输入端连接;寄存器(238)的输入端与多路选通器(215)的输出端连接,寄存器(238)的输出端分别与多路选通器(214)、多路选通器(215)、多路选通器(221)、多路选通器(224)、多路选通器(226)、多路选通器(227)及多路选通器(229)的输入端连接;寄存器(239)的输入端与多路选通器(216)的输出端连接,寄存器(239)的输出端分别与多路选通器(216)、多路选通器(222)、多路选通器(223)及多路选通器(230)的输入端连接;寄存器(240)的输入端与多路选通器(217)的输出端连接,寄存器(240)的输出端分别与多路选通器(217)、多路选通器(224)、多路选通器(226)及多路选通器(228)的输入端连接;寄存器(241)的输入端与多路选通器(218)的输出端连接,寄存器(241)的输出端分别与多路选通器(217)、多路选通器(218)、多路选通器(225)及多路选通器(228)的输入端连接;寄存器(242)的输入端与多路选通器(219)的输出端连接,寄存器(242)的输出端分别与多路选通器(219)、多路选通器(220)、多路选通器(225)及多路选通器(230)的输入端连接;所述x1,z1,x2,z2分别与多路选通器(208)、多路选通器(209)、多路选通器(211)及多路选通器(212)连接;所述u1,v1,u2,v2分别与多路选通器(214)、多路选通器(215)、多路选通器(217)及多路选通器(218)连接;所述x,u分别与多路选通器(225)及多路选通器(229)连接。

    根据本发明提供的流水线型椭圆曲线双标量乘法系统一优选技术方案是:对于包括两个有限域平方器运算单元的流水线型椭圆曲线双标量乘法系统定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS,其中,TM=TA=T,TM=3T+1;所述的流水线型椭圆曲线双标量乘法系统使用4(3T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。

    根据本发明提供的流水线型椭圆曲线双标量乘法系统一优选技术方案是:所述流水线型椭圆曲线双标量乘法系统包括两个有限域平方运算单元的具体结构为:有限域平方运算单元(301)的输入端与多路选通器(319)的输出端连接,有限域平方运算单元(301)的输出端分别与多路选通器(307)、多路选通器(308)、多路选通器(313)及多路选通器(314)的输入端连接;有限域平方运算单元(302)的输入端与多路选通器(320)的输出端连接,有限域平方运算单元(302)的输出端分别与多路选通器(309)、多路选通器(312)、多路选通器(315)及多路选通器(318)的输入端连接;有限域乘法运算单元(303)的输入端分别与多路选通器(321)及多路选通器(325)的输出端连接,有限域乘法运算单元(303)的输出端分别与多路选通器(308)、多路选通器(309)、多路选通器(314)及多路选通器(315)的输入端连接;有限域乘法运算单元(304)的输入端分别与多路选通器(322)及多路选通器(326)的输出端连接,有限域乘法运算单元(304)的输出端分别与多路选通器(310)及多路选通器(316)的输入端连接;有限域乘法运算单元(305)的输入端分别与多路选通器(323)及多路选通器(327)的输出端连接,有限域乘法运算单元(305)的输出端分别与多路选通器(311)、多路选通器(312)、多路选通器(317)及多路选通器(318)的输入端连接;有限域加法运算单元(306)的输入端分别与多路选通器(324)及多路选通器(328)的输出端连接,有限域乘法运算单元(306)的输出端分别与多路选通器(307)、多路选通器(310)、多路选通器(311)、多路选通器(312)、多路选通器(313)、多路选通器(316)、多路选通器(317)及多路选通器(318)的输入端连接;寄存器(329)的输入端与多路选通器(307)的输出端连接,寄存器(329)的输出端分别与多路选通器(307)、多路选通器(308)、多路选通器(319)及多路选通器(321)的输入端连接;寄存器(330)的输入端与多路选通器(308)的输出端连接,寄存器(330)的输出端分别与多路选通器(307)、多路选通器(308)、多路选通器(309)、多路选通器(319)及多路选通器(322)的输入端连接;寄存器(331)的输入端与多路选通器(309)的输出端连接,寄存器(331)的输出端分别与多路选通器(309)、多路选通器(320)、多路选通器(325)及多路选通器(328)输入端连接;寄存器(332)的输入端与多路选通器(310)的输出端连接,寄存器(332)的输出端分别与多路选通器(310)、多路选通器(322)、多路选通器(324)及多路选通器(326)的输入端连接;寄存器(333)的输入端与多路选通器(311)的输出端连接,寄存器(333)的输出端分别与多路选通器(311)、多路选通器(323)及多路选通器(326)的输入端连接;寄存器(334)的输入端与多路选通器(312)的输出端连接,寄存器(334)的输出端分别与多路选通器(312)、多路选通器(320)、多路选通器(327)及多路选通器(328)的输入端连接;寄存器(335)的输入端与多路选通器(313)的输出端连接,寄存器(335)的输出端分别与多路选通器(313)、多路选通器(319)、多路选通器(321)的输入端连接;寄存器(336)的输入端与多路选通器(314)的输出端连接,寄存器(336)的输出端分别与多路选通器(313)、多路选通器(314)、多路选通器(315)、多路选通器(319)、多路选通器(322)多路选通器(324)、多路选通器(325)及多路选通器(327)的输入端连接;寄存器(337)的输入端与多路选通器(315)的输出端连接,寄存器(337)的输出端分别与多路选通器(315)、多路选通器(320)、多路选通器(321)及多路选通器(328)的输入端连接;寄存器(338)的输入端与多路选通器(316)的输出端连接,寄存器(338)的输出端分别与多路选通器(316)、多路选通器(322)、多路选通器(324)及多路选通器(326)的输入端连接;寄存器(339)的输入端与多路选通器(317)的输出端连接,寄存器(339)的输出端分别与多路选通器(316)、多路选通器(317)、多路选通器(323)及多路选通器(326)的输入端连接;寄存器(340)的输入端与多路选通器(318)的输出端连接,寄存器(340)的输出端分别与多路选通器(318)、多路选通器(320)、多路选通器(323)及多路选通器(328)的输入端连接;所述常数b与多路选通器(321)连接;所述x1,z1,x2,z2分别与多路选通器(307)、多路选通器(308)、多路选通器(310)及多路选通器(311)连接;所述u1,v1,u2,v2分别与多路选通器(313)、多路选通器(314)、多路选通器(316)及多路选通器(317)连接;所述x,u分别与多路选通器(323)及多路选通器(327)连接。

    根据本发明提供的流水线型椭圆曲线双标量乘法系统一优选技术方案是:对于包括两个有限域平方器运算单元的流水线型椭圆曲线双标量乘法系统定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS其中,TM=TA=T,TM=2T+1;所述的流水线型椭圆曲线双标量乘法系统使用4(2T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。

    根据本发明提供的流水线型椭圆曲线双标量乘法系统一优选技术方案是:所述有限域乘法器使用流水线缩短关键路径长度;具体如下:

    对于有限域乘法A(x)B(x)(modf(x)),输入A(x)被分成个字,即

    其中ai被分成k个部分aik-1,aik-2,…,ai0,这k部分进入第一级流水线的k位并行乘法器计算出aik-1B(x),aik-2B(x),…,ai0B(x),并在第二级流水线进行累加计算出aiB(x);aiB(x)经过f(x)求模后存入寄存器;这种有限域乘法器关键路径是Path0和Path1的最大者,即

    其中ω为字长,TAND和TXOR分别表示两输入与门和或非门的延迟。

    本发明还提供了一种流水线型椭圆曲线双标量乘法方法。所述流水线型椭圆曲线双标量乘法方法包括以下步骤:

    初始化:椭圆曲线上投影坐标点P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)初始化寄存器x1,z1,x2,z2和u1,v1,u2,v2,等待电路启动信号;定义TM为有限域乘法运算单元执行时钟周期数。

    第1到TM周期:有限域乘法器计算X1Z1,X2Z1,X2Z2。

    第TM到2TM周期:有限域乘法器计算U1V1,U2V1,U2V2,有限域平方器和加法器计算X12,Z12,X12Z12,X2Z1+X1Z2和X14,Z14,(X2Z1+X1Z2)2;此时包括的六个有限域平方运算由两个有限域平方器运算单元分三次计算。

    第2TM到3TM周期:有限域乘法器计算bZ14,x(X2Z1+X1Z2)2,X1Z2X2Z1,有限域平方器和加法器计算U12,V12,U12V12,U2V1+U1V2和U14,V14,(U2V1+U1V2)2;此时包括的六个有限域平方运算由三个有限域平方器运算单元分两次计算。

    第3TM到4TM周期:有限域乘法器计算bV14,u(U2V1+U1V2)2,U1V2U2V1,有限域平方器和加法器计算x(X2Z1+X1Z2)2+(X1Z2)(X2Z1)和X14+bZ14;根据k的二进制序列进行交换操作。

    第4TM到5TM周期:开始新的循环,有限域乘法器计算X′1Z′1,X′2Z′1,X′2Z′2,有限域平方器和加法器计算u(U2V1+U1V2)2+(U1V2)(U2V1)和U14+bV14;根据k的二进制序列进行交换操作。

    根据本发明提供的流水线型椭圆曲线双标量乘法方法一优选技术方案是:定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS,其中,TM=TA=T,TM=3T+1;所述流水线型椭圆曲线双标量乘法方法使用4(3T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。

    本发明另提供了一种流水线型椭圆曲线双标量乘法方法。所述流水线型椭圆曲线双标量乘法方法包括以下步骤:

    初始化:椭圆曲线上投影坐标点P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)初始化寄存器x1,z1,x2,z2和u1,v1,u2,v2,等待电路启动信号;定义TM为有限域乘法运算单元执行时钟周期数。

    第1到TM周期:有限域乘法器计算X1Z1,X2Z1,X2Z2。

    第TM到2TM周期:有限域乘法器计算U1V1,U2V1,U2V2,有限域平方器和加法器计算X12,Z12,X12Z12,X2Z1+X1Z2和X14,Z14,(X2Z1+X1Z2)2;此时包括的六个有限域平方运算分两次计算。

    第2TM到3TM周期:有限域乘法器计算bZ14,x(X2Z1+X1Z2)2,X1Z2X2Z1,有限域平方器和加法器计算U12,V12,U12V12,U2V1+U1V2和U14,V14,(U2V1+U1V2)2;此时包括的六个有限域平方运算分两次计算。

    第3TM到4TM周期:有限域乘法器计算bV14,u(U2V1+U1V2)2,U1V2U2V1,有限域平方器和加法器计算x(X2Z1+X1Z2)2+(X1Z2)(X2Z1)和X14+bZ14;根据k的二进制序列进行交换操作。

    第4TM到5TM周期:开始新的循环,有限域乘法器计算X′1Z′1,X′2Z′1,X′2Z′2,有限域平方器和加法器计算u(U2V1+U1V2)2+(U1V2)(U2V1)和U14+bV14;根据k的二进制序列进行交换操作。

    根据本发明提供的流水线型椭圆曲线双标量乘法方法一优选技术方案是:定义所述有限域乘法运算单元、有限域加法运算单元和有限域平方运算单元的执行时钟周期数分别为TM,TA,TS,其中,TM=TA=T,TM=2T+1;所述流水线型椭圆曲线双标量乘法方法使用4(2T+1)(m-1)个时钟周期完成两个椭圆曲线标量乘法。

    本发明有益的技术效果是:本发明的流水线型椭圆曲线双标量乘法系统及方法接口方式简单,输入只有常数b,椭圆曲线上两点的原始坐标(x,y),(u,v)及其投影坐标P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)。采用状态机方式,使运算速度大大加快。将椭圆曲线标量乘法中的各种有限域运算计算顺序进行调整,使硬件不存在空闲时间,发挥其最大计算吞吐量。仅根据外部数据和地址总线的宽度略作调整,就可以满足不同宽度数据的加密。在满足系统安全性前提下,减少椭圆曲线加密算法计算周期,并且电路通过配置可以并行计算有限域元素求逆。此电路结构非常适合工作在高吞吐率的椭圆曲线加密系统中。

    【附图说明】

    图1是现有技术椭圆曲线双标量乘法在ECC加密算法中的应用示意图;

    图2是本发明实施例的流水线型椭圆曲线双标量乘法系统包括两个有限域平方运算单元的电路结构图;

    图3是本发明实施例的流水线型椭圆曲线双标量乘法系统包括三个有限域平方运算单元的电路结构图;

    图4是本发明实施例的流水线型椭圆曲线双标量乘法系统包括两个有限域平方运算单元的流水线结构流程图;

    图5是本发明实施例的流水线型椭圆曲线双标量乘法系统包括三个有限域平方运算单元的流水线结构流程图;

    图6是本发明实施例的流水线椭圆曲线双标量乘法系统包括两个有限域平方运算单元的流水线调度示意图;

    图7是本发明实施例的流水线椭圆曲线双标量乘法系统包括三个有限域平方运算单元的流水线调度示意图;

    图8是本发明实施例的流水线椭圆曲线双标量乘法系统的有限域乘法器的结构示意图。

    【具体实施方式】

    下面结合附图和实施例对本发明进行详细说明。

    请参照图2、图3,图2是本发明实施例的流水线型椭圆曲线双标量乘法系统包括两个有限域平方运算单元的电路结构图;图3是本发明实施例的流水线型椭圆曲线双标量乘法系统包括三个有限域平方运算单元的电路结构图。

    本实施例的流水线型椭圆曲线双标量乘法系统的电路结构包括:两个或三个有限域平方运算单元;三个有限域乘法运算单元;一个有限域加法运算单元;多路选通器;寄存器组。其中所述外部输入为常数b,椭圆曲线上两点的原始坐标(x,y),(u,v)及其投影坐标P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)。其中常数b和原始坐标通过选通器与有限域乘法器相连,投影坐标P(x1,z1,x2,z2)和Q(u1,v1,u2,v2)通过选通器与寄存器相连。

    对于投影坐标下GF(2m)的连续寻址椭圆曲线标量乘法算法,我们将其中循环结构的有限域运算计算顺序重新组织如下:

    对于两个有限域平方运算单元:

    1:计算X1Z2,X2Z1,X1Z1;

    2:计算X12,Z12,X2Z1+X1Z2;

    3:计算X14,Z14;

    4:计算X12Z12,(X2Z1+X1Z2)2;

    5:计算bZ14,x(X2Z1+X1Z2)2,X1Z2X2Z1;

    6:计算x(X2Z1+X1Z2)2+(X1Z2)(X2Z1);

    7:计算X14+bZ14

    对于三个有限域平方运算单元:

    1:计算X1Z2,X2Z1,X1Z1;

    2:计算X12,Z12,X12Z12,X2Z1+X1Z2;

    3:计算X14,Z14,(X2Z1+X1Z2)2;

    4:计算bZ14,x(X2Z1+X1Z2)2,X1Z2X2Z1;

    5:计算x(X2Z1+X1Z2)2+(X1Z2)(X2Z1);

    6:计算X14+bZ14

    结构中主要包括三个有限域乘法器、两个或三个有限域平方器和一个有限域加法器。当结构中包括两个有限域平方器时水线型椭圆曲线双标量乘法系统计算两个椭圆曲线标量乘法需要4(3T+1)(m-1)个时钟周期;当结构中包括两个有限域平方器时水线型椭圆曲线双标量乘法系统计算两个椭圆曲线标量乘法需要4(2T+1)(m-1)个时钟周期;对于这种结构(包括两个有限域平方器和三个有限域平方器),计算开始时寄存器x1,z1,x2,z2存放着椭圆曲线投影坐标点P,寄存器u1,v1,u2,v2存放着椭圆曲线投影坐标点Q。首先P被选通进电路的三个有限域乘法器进行计算,当有限域乘法器计算完成时曲线投影坐标点Q同时被选通作为有限域乘法器新的输入,这时计算过程需要的数据已全部进入电路。在计算完成后两组寄存器x1,z1,x2,z2和u1,v1,u2,v2中的值就是双椭圆曲线标量乘法的结果。

    请参照图4至图7。图中描述了有限域运算单元的执行顺序和分时复用方法(虚线圆表示)。图中swap操作由k的二进制序列决定,不占用时钟周期。我们用TM,TA,TS表示有限域乘法、有限域加法和有限域平方的执行周期数。TM,TA,TS的数值组合决定了流水线的效率。对于两个有限域平方器的流水线型椭圆曲线双标量乘法系统的电路结构当

    TM>max(max(TA,TS)+2TS+1,2TA+1)            (1)

    流水线存在空闲时间,当

    TM<min(max(TA,TS)+2TS+1,2TA+1)            (2)

    时有限域乘法器存在等待时间,只有当

                      TS=TA=T

                                      (3)

                      TM=3T+1

    流水线和有限域乘法器都不存在等待时间,这时结构具有最快的速度。

    对于三个有限域平方器的流水线型椭圆曲线双标量乘法系统的电路结构当

    TM>max(max(TA,TS)+TS+1,2TA+1)            (4)

    流水线存在空闲时间,当

    TM<min(max(TA,TS)+TS+1,2TA+1)            (5)

    时有限域乘法器存在等待时间,只有当

             TS=TA=T

                         (6)

             TM=2T+1

    流水线和有限域乘法器都不存在等待时间,这时结构具有最快的速度。其中的“+1”是因为有限域乘法器结果是组合逻辑输出,必须使用一个周期寄存。公式(3)满足时,椭圆曲线双标量乘法结构使用4(3T+1)个时钟周期完成算法2中循环的一次迭代,使用4(3T+1)(m-1)个时钟周期完成投影坐标下GF(2m)的连续寻址椭圆曲线标量乘法算法的循环操作。公式(6)满足时,椭圆曲线双标量乘法结构使用4(2T+1)个时钟周期完成算法2中循环的一次迭代,使用4(2T+1)(m-1)个时钟周期完成投影坐标下GF(2m)的连续寻址椭圆曲线标量乘法算法的循环操作。

    请参照图8。本实施例的流水线型椭圆曲线双标量乘法的电路结构中的伪流水线型字串行有限域乘法器结构,它使用流水线来缩短关键路径长度。对于有限域乘法A(x)B(x)(mod f(x)),输入A(x)被分成个字,即

    其中ai又被分成k个部分aik-1,aik-2,…,ai0,这k部分进入第一级流水线的k位并行乘法器计算出aik-1B(x),aik-2B(x),…,ai0B(x),它们在第二级流水线进行累加计算出aiB(x)。aiB(x)经过f(x)求模后存入寄存器P。这种有限域乘法器关键路径是Path0和Path1的最大者,即

    其中ω为字长,TAND和TXOR分别表示两输入与门和或非门的延迟。

    从上述的体系结构看,本发明的一种流水线型椭圆曲线双标量乘法系统及方法的电路结构在数据处理的规则性,可并行性,器件的复用性,可重构性上具有创新点。本发明的最大特点在于实现了椭圆曲线两个标量乘法的并行计算,同时实现了三个有限域元素求逆的并行计算。相对于以前的设计,本发明最大程度利用结构中的有限域运算器,从而减少了椭圆曲线加密算法的计算周期。

    本发明的特点是:

    1.有限域求逆的可配置电路

    根据Itoh-Tsujii算法,有限域元素求逆需要使用有限域乘法器和有限域平方器。当结构中包括三个有限域平方器时,可以通过配置电路利用其中的三个有限域乘法器和三个有限域平方器进行三个有限域元素求逆的并行计算,这时椭圆曲线双标量乘法具有最快的运算运算。当结构中包括三个有限域平方器时,可以通过配置电路利用其中的三个有限域乘法器和三个有限域平方器进行三个有限域元素求逆的并行计算,这时椭圆曲线双标量乘法虽然没有获得最快的运算运算,但面积可以相对小很多。因为椭圆曲线非对称Diffie-Hellman加密算法和椭圆曲线E1Gama1加密算法需要进行六次有限域元素求逆计算,所以这种并行化方法这可以进一步减小椭圆曲线非对称Diffie-Hellman加密算法和椭圆曲线E1Gama1加密算法的运算周期。

    2.伪流水线型字串行有限域乘法器结构

    流水线型椭圆曲线双标量乘法的电路结构中的伪流水线型字串行有限域乘法器结构,它使用流水线来缩短关键路径长度,保证电路在较高的时钟频率下工作。

    以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

一种流水线型椭圆曲线双标量乘法系统及方法.pdf_第1页
第1页 / 共25页
一种流水线型椭圆曲线双标量乘法系统及方法.pdf_第2页
第2页 / 共25页
一种流水线型椭圆曲线双标量乘法系统及方法.pdf_第3页
第3页 / 共25页
点击查看更多>>
资源描述

《一种流水线型椭圆曲线双标量乘法系统及方法.pdf》由会员分享,可在线阅读,更多相关《一种流水线型椭圆曲线双标量乘法系统及方法.pdf(25页珍藏版)》请在专利查询网上搜索。

本发明公开了一种流水线型椭圆曲线双标量乘法系统及方法。该系统及方法通过两个或三个有限域平方运算单元、三个有限域乘法运算单元、一个有限域加法运算单元、寄存器组、若干多路选通器及控制逻辑单元的结构实现了椭圆曲线标量乘法的计算。本发明的流水线型椭圆曲线双标量乘法系统及方法接口方式简单、运算速度大大加快、硬件不存在空闲时间、可以满足不同宽度数据的加密、减少椭圆曲线加密算法计算周期、可以并行计算有限域元素求。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1