一种双线性对计算加速系统及方法技术方案

技术编号:31379541 阅读:22 留言:0更新日期:2021-12-15 11:23
本发明专利技术公开一种双线性对计算加速系统及方法,属于信息安全芯片设计技术领域。针对现有技术中存在的双线性对计算复杂度高,加密速度慢,现有加速器通用性较低等问题,本发明专利技术提供一种双线性对计算加速系统,包括专用编译器、指令译码模块,顶层控制模块,数据接口,重构控制模块,双线性对计算模块,双线性对计算模块根据重构控制模块重构内部计算单元的连接关系,然后接收顶层模块发送的数据进行计算,与现有技术相比,本发明专利技术大幅提高运算速度,支持可重构以满足不同双线性对的加速需求,在保证高性能的基础上兼具了一定的通用性。保证高性能的基础上兼具了一定的通用性。保证高性能的基础上兼具了一定的通用性。

【技术实现步骤摘要】
一种双线性对计算加速系统及方法


[0001]本专利技术涉及信息安全芯片设计
,更具体地说,涉及一种双线性对计算加速系统及方法。

技术介绍

[0002]传统的非对称加密体系中需要用户自己产生自己的私钥,并计算对应的公钥,提交给相关机构,其验证他们的身份,并提供对应的证书连接其公钥与身份。这些需要公钥基础结构(Public KeyInfrastructure,后称PKI),带来了繁琐的维护问题。沙米尔引入的基于身份的(IdentityBaseEncryption,后称IBE)密码学的概念在试图减轻PKI的负担。在IBE中,用户的私钥由密钥生成中心(KeyGenerationCenter,后称KGC)根据主密钥和用户标识计算得出,用户的公钥由用户标识唯一确定,从而用户不需要通过第三方保证其公钥的真实性。与基于证书的公钥密码系统相比,标识密码系统中的秘钥管理环节可以得到适当简化。
[0003]IBE密码算法的优势使其具有很大发展潜力和应用前景,引起了国内外信息安全管理机构、密码专家和应用系统的关注。至2014年,国际上已有多家机构将IBC算法采纳为行业或组织的密码标准,例如RFC5091基于身份加密标准#1:超奇异曲线在BF和BB1密码体制中的应用;RFC5408基于身份加密的架构和支撑数据结构;RFC5409使用BF和BB基于身份加密:密码消息语法的算法(CMS);RFC6267 MIKEY

IBAKE:多媒体因特网(MIKEY)中基于身份的认证密钥交换(IBAKE)分发的模式;RFC6508Sakai

Kasahara密钥加密(SAKKE);RFC6509MIKEY

SAKKE:多媒体因特网(MIKEY)Sakai

Kasahara密钥加密;ISO/IEC18033

5信息技术

安全技术

加密算法

第五部分:基于标识的密码;IEEEP1363.3基于对的算法加密标准(草案)。
[0004]2007年12月,国家密码管理局组织专家完成了IBC密码(Identity

Based Cryptograph)算法标准草案制定工作,2008年确定了SM9密码算法型号。2014年进行并完成对标准算法的完善和修改,2015年作了审定,2016年国家密码管理局正式发布了SM9密码算法标准。
[0005]但是,双线性具有计算复杂度较高,加密速度较慢的问题。且由上述叙述也可看出,IBE密码算法标准多,双线性对计算种类多。这些问题的存在严重的影响了前沿算法在生产生活中的应用。除此之外,各类公布出的IBC设计方案一般都是基于通用计算平台的软件实现,虽然有其积极的作用,但速度较慢,仍有巨大的改进空间。
[0006]一些学者针对某一种特定密码算法标准设计了对应的硬件加速器,此类设计加速效果好,能效高,对于特定的格密码算法有着一定的应用价值。但此类设计通用性较差,几乎没有可移植性,无法应对不同的加密标准,对于算法的演进适用性较差。

技术实现思路

[0007]1.要解决的技术问题
[0008]针对现有技术中存在的双线性对计算复杂度高,加密速度慢,现有加速器通用性较低等问题,本专利技术提供一种双线性对计算加速系统及方法,该方法可实现计算模块的重构,满足不同双线性对的加速需求,大幅提高运算速度,在保证高性能的同时兼具一定的通用性。
[0009]2.技术方案
[0010]本专利技术的目的通过以下技术方案实现。
[0011]一种双线性对计算加速系统,其特征在于,包括专用编译器、指令译码模块,顶层控制模块,数据接口,重构控制模块和双线性对计算模块;专用译码器用于接收外部工程人员以编程语言形式的输入数据并译码输出指令,使用加速系统的工程人员可以利用编程语言说明需要加速的计算内容,专用编译器将根据源代码翻译出相关的配置信息并传递至指令译码模块;指令译码模块用于接收专用译码器的指令数据生成配置信息发送至顶层控制模块和重构控制模块,配置重构控制模块及顶层控制模块;重构控制模块用于根据接收的配置信息控制双线性对计算模块实现重构,改变双线性对计算模块内部连线情况;顶层控制模块用于根据配置信息将通过数据接口接收的计算数据发送至重构后的双线性对计算模块进行计算,顶层控制模块控制数据流动及循环次数,数据接口用于连接不同总线的对应接口,负责产生总线控制信号并接收或发送数据。
[0012]本专利技术通过重构控制模块在接收到指令译码模块的配置后修改其与双线性对计算模块的互联方式以加速不同双线性对的计算,本专利技术支持计算模块的重构,可实现多种线性对的计算,满足不同双线性对的加速需求,提高系统运算速度,在保证高性能的同时兼具一定的通用性。
[0013]优选的,顶层控制模块包括分为多块的作为中间数据存储单元的SRAM,SRAM支持不同位宽的读写。加速系统对于不同配置使用不同的SRAM块数,不使用的SRAM支持电源门控关闭以降低静态功耗,保证在不同配置情况下的能耗最优解。
[0014]优选的,所述双线性对计算模块包括椭圆曲线中关键的点加、g
U,V
(Q)、g
V,V
(Q)、g
V,

V
(Q),集成完整的Miller算法计算单元,快速模幂单元以及有限域的加法、乘法及求逆单元。
[0015]记U=(x
U
,y
U
),V=(x
V
,y
V
),U=(x
Q
,y
Q
),
[0016]λ1=(3x
V2
+a)/(2y
V
),λ2=(y
U

y
V
)/(x
U

x
V
)
[0017]则有以下性质:
[0018](1)g
U,V
(O)=g
U,O
(Q)=g
O,V
(Q)=1;
[0019](2)g
V,V
(Q)=λ1(x
Q

x
V
)

y
Q
+y
V
;Q≠O;
[0020](3)g
V,V
(Q)=λ2(x
Q

x
V
)

y
Q
+y
V
;Q≠O,U≠
±
V;
[0021](4)g
V,

V
(Q)=x
Q

x
V
;Q≠O。
[0022]点加单元可采用Jacobian加重射影坐标系实现加速。计算模块包括一系列计算单元,计算单元本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种双线性对计算加速系统,其特征在于,包括专用编译器、指令译码模块,顶层控制模块,数据接口,重构控制模块和双线性对计算模块;专用译码器用于接收外部数据并译码;指令译码模块用于接收专用译码器的数据生成配置信息发送至顶层控制模块和重构控制模块;重构控制模块用于根据接收的配置信息控制双线性对计算模块实现重构;数据接口用于连接不同总线对应接口;顶层控制模块用于根据配置信息将通过数据接口接收的计算数据发送至重构后的双线性对计算模块进行计算。2.根据权利要求1所述的一种双线性对计算加速系统,其特征在于,顶层控制模块包括分为多块的作为中间数据存储单元的SRAM,SRAM支持不同位宽的读写。3.根据权利要求1所述的一种双线性对计算加速系统,其特征在于,所述双线性对计算模块包括椭圆曲线中的点加、g
U,V
(Q)、g
V,V
(Q)、g
V,

V
(Q),集成Miller算法的计算单元,快速模幂单元以及有限域的加法、乘法及求逆单元。4.根据权利要求3所述的一种双线性对计算加速系统,其特征在于,双线性对计算模块中的快速模幂运算单元使用蒙哥马...

【专利技术属性】
技术研发人员:李丽梁晨傅玉祥何书专陈健
申请(专利权)人:南京宁麒智能计算芯片研究院有限公司
类型:发明
国别省市:

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

1