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

一种参数位宽可扩展的ECC加密硬件装置制造方法及图纸

技术编号:8536489 阅读:344 留言:0更新日期:2013-04-04 21:14
本发明专利技术公开了一种参数位宽可扩展的ECC加密硬件装置,包括ECC加/解密控制层、点运算层和域运算层。其中ECC加/解密控制层包括域宽控制单元、ECC加/解密控制单元、存储器、数据串并转换模块和支持多位宽的四个寄存器组:即一个192bit的寄存器组、一个224bits的寄存器组、一个384bits的寄存器组和一个521bit的寄存器组;点运算层包括点加和倍点运算模块和点乘运算模块;域运算层包括有限域加法、乘法、平方和求逆的运算模块。本发明专利技术很好的解决了素数域寄存器位宽可扩展问题,适合于FPGA或者ASIC实现。

【技术实现步骤摘要】

本专利技术涉及密码学领域,特别是涉及一种加密解密算法中的ECC加密硬件结构及其关键部分,属于加密算法的硬件设计和体系设计领域。本专利技术提供了一种参数位宽可扩展的ECC加密硬件装置
技术介绍
椭圆曲线密码(ECC)是1985年由N. Koblitz和V. Miller提出的。椭圆曲线密码属于公钥密码体制,它可以提供同RSA密码体制同样的功能。然而它的安全性建立在椭圆曲线离散对数问题(ECDLP)的困难性之上。现在求解ECDLP最好的算法具有全指数时间复杂度,这意味着对于达到期望的安全程度,椭圆曲线密码可以使用较RSA密码更短的密钥。由于密钥短的优点使得利用椭圆曲线加解密不仅速度快,而且还能节省能源、带宽和存储空间。但高等级的加密仍旧需要高位宽的参数,因此,提供参数位宽可扩展的方法以及其硬 件实现方法是众多研究者努力的方向。对椭圆曲线来说最流行的有限域是以素数为模的整数域,本领域中,设F是至少含2个元素的集合,对F定义两种运算,“ + ”和“ X ”,当代数系统〈F,+,X〉满足封闭性、结合性、单位元、逆元和交换性条件时,〈F,+,X〉被称为一个域。当F的元素为有限个时,称为有限域。当P为素数时,F={0,1,2,……p-1}在mod (P)下关于模运算的加法和乘法构成一个有限群,这个群就记为GF (p)。给定一条椭圆曲线E以及一个域GF(q);考虑具有(x,y)形式有理数点E(q)的阿贝尔群,其中X和y都在GF(q)中并且定义在这条曲线上的群运算+。然後定义第二个运算* ZXE(q)_>E(q):如果P是E(q)上的某个点,那么定义2*P=P+P,3*p=2*p+p=p+p+p等等。注意给定整数j和k,j*(k*P) = (j*k)*P=k*(j*P)。椭圆曲线离散对数问题(EOTLP)就是给定点P和Q,确定整数k使k*P=Q。
技术实现思路
本专利技术要解决的技术问题是如何实现数据位宽可扩展的加密硬件结构。本专利技术提供一种参数位宽可扩展的ECC加密硬件装置,包括ECC加/解密控制层、点运算层和域运算层;所述ECC加/解密控制层包括域宽控制单元、ECC加/解密控制单元、存储器、数据串并转换模块和多组寄存器组,域宽控制单元的控制总线和ECC加/解密控制单元相连;ECC加/解密控制单元的一路控制信号和点运算层中的点乘运算模块相连,另有一根控制总线和数据串并转换模块相连,32位数据总线和存储器相连;存储器和数据串并转换模块相连,数据串并转换模块和多组寄存器组分别相连;多组寄存器组选择其一输出,输出的寄存器组和点运算层中的点乘运算模块通过521位数据总线相连;所述点运算层包括点乘运算模块和点加和倍点运算模块,点乘运算模块的控制信号和521位数据总线分别和点加和倍点运算模块相连,点加和倍点运算模块的控制信号和521位数据总线和域运算层相连;所述域运算层包括有限域乘法运算模块、有限域加法运算模块、有限域平方运算模块和有限域求逆运算模块。而且,ECC曲线的参数、基点P的坐标和大素数P、密钥通过32位数据总线输入到存储器中,在ECC加/解密控制单元通过控制总线输出的控制信号作用下,由数据串并转换模块将这些数据并行输送到寄存器组中;寄存器组中的位宽依据加密参数的位宽来选择,用于存放运算过程中所需的中间变量和运算所需的系统参数。而且,点运算层中的点加和倍点运算模块通过控制信号对域运算层的有限域乘法运算模块、有限域加法运算模块、有限域平方运算模块和有限域求逆运算模块进行调用,P点和Q点不相等时完成椭圆曲线上点加运算,P点和Q点不相等时完成椭圆曲线上倍点运算,P点是椭圆曲线上的一个点,Q点是椭圆曲线上的另一个点。 而且,采用了四组寄存器组,分别存储素域GF (192)、GF (224)、GF (384)和GF (521)的输入参数。而且,设置更多寄存器组,支持更多域宽下的ECC点乘运算。本专利技术设计的域运算层负责有限域的各种算数运算,通过点加和倍点运算的控制信号,完成素域GF(p)中的有限域加法、乘法、平方和求逆运算。点运算层中的点加和倍点运算的控制信号通过对有限域基本运算的各模块的调用,完成椭圆曲线上P古Q和P=Q的点加和倍点运算,快速得到点乘KP的结果。加/解密控制层利用KP的值进行数据加/解密运算。支持位宽可扩展的ECC加密硬件中采用了四组寄存器,分别存储GF (192)、GF (224)、GF(384)和GF(521)的输入参数。按照本硬件设计中的方法增加寄存器组,同时对域宽控制单元提供相应的条件判断,便可以实现更多域宽下的ECC运算。本专利技术很好的解决了素数域寄存器位宽可扩展问题,适合于FPGA或者ASIC实现。附图说明图1是本专利技术实施例的结构图。具体实施例方式下面结合附图与具体实施方式对本专利技术作进一步详细说明图1中给出了本专利技术实施例中ECC算法实现的硬件结构,该硬件结构按照ECC加密算法从顶层到底层依次的三个层次为=ECC加/解密控制层、点运算层和域运算层。所述ECC加/解密控制层包括域宽控制单元、ECC加/解密控制单元、存储器、数据串并转换模块和四组寄存器组,域宽控制单元的控制总线和ECC加/解密控制单元相连;ECC加/解密控制单元的一路控制信号和点运算层中的点乘运算模块相连,另有一根控制总线和数据串并转换模块相连,32位数据总线(图中记为数据总线[31:0])和存储器相连;存储器和数据串并转换模块相连,数据串并转换模块和四组寄存器组分别相连;四组寄存器组选择其一输出,输出的寄存器组和点运算层中的点乘运算模块通过数据总线(521位,图中记为数据总线[520:0])相连。支持多位宽的四组寄存器组包括一个192bit的寄存器组、一个224bits的寄存器组、一个384bits的寄存器组和一个521bits的寄存器组。具体实施时,增加寄存器组,同时对域宽控制单元提供相应的条件判断,便可以实现更多域宽下的ECC运算。所述点运算层包括点乘运算模块和点加和倍点运算模块,点乘运算模块的控制信号和521位数据总线分别和点加和倍点运算模块相连,点加和倍点运算模块的控制信号和521位数据总线和域运算层相连。可采用控制信号传输运算状态机的控制信息,数据总线传输不同位宽的加密参数。所述域运算层通过点加和倍点运算的控制信号,分别完成素域GF (P)中的有限域加法、乘法、平方和求逆运算。可设计为包括有限域乘法运算模块、有限域加法运算模块、有限域平方运算模块和有限域求逆运算模块。ECC曲线的参数、基点P的坐标和大素数P、密钥通过32位数据总线输入到存储器中,在ECC加/解密控制单元的控制信号作用下,由数据串并转换模块将这些数据并行输送到内部的寄存器组中;寄存器组中的位宽依据加密参数的位宽来选择,用于存放运算过程中所需的中间变量和运算所需的ECC曲线参数。 如图1所示,本专利技术的位宽可扩展的ECC加密硬件结构采用了四组寄存器组,分别存储素域GF (192)、GF (224)、GF (384)和GF (521)的输入参数。首先,域宽控制单元开辟一定域宽的数据给ECC加/解密控制单元,接着ECC加/解密控制单元将之前得到的数据分17个时钟周期把数据发送给数据串并转换模块,每次串行输入32位数据。ECC加/解密控制单元的控制总线用来控制数据按时钟节本文档来自技高网
...

【技术保护点】
一种参数位宽可扩展的ECC加密硬件装置,其特征在于:包括ECC加/解密控制层、点运算层和域运算层;所述ECC加/解密控制层包括域宽控制单元、ECC加/解密控制单元、存储器、数据串并转换模块和多组寄存器组,域宽控制单元的控制总线和ECC加/解密控制单元相连;ECC加/解密控制单元的一路控制信号和点运算层中的点乘运算模块相连,另有一根控制总线和数据串并转换模块相连,32位数据总线和存储器相连;存储器和数据串并转换模块相连,数据串并转换模块和多组寄存器组分别相连;多组寄存器组选择其一输出,输出的寄存器组和点运算层中的点乘运算模块通过521位数据总线相连;所述点运算层包括点乘运算模块和点加和倍点运算模块,点乘运算模块的控制信号和521位数据总线分别和点加和倍点运算模块相连,点加和倍点运算模块的控制信号和521位数据总线和域运算层相连;所述域运算层包括有限域乘法运算模块、有限域加法运算模块、有限域平方运算模块和有限域求逆运算模块。

【技术特征摘要】
1.一种参数位宽可扩展的ECC加密硬件装置,其特征在于包括ECC加/解密控制层、 点运算层和域运算层;所述ECC加/解密控制层包括域宽控制单元、ECC加/解密控制单元、存储器、数据串并转换模块和多组寄存器组,域宽控制单元的控制总线和ECC加/解密控制单元相连;ECC加 /解密控制单元的一路控制信号和点运算层中的点乘运算模块相连,另有一根控制总线和数据串并转换模块相连,32位数据总线和存储器相连;存储器和数据串并转换模块相连, 数据串并转换模块和多组寄存器组分别相连;多组寄存器组选择其一输出,输出的寄存器组和点运算层中的点乘运算模块通过521位数据总线相连;所述点运算层包括点乘运算模块和点加和倍点运算模块,点乘运算模块的控制信号和 521位数据总线分别和点加和倍点运算模块相连,点加和倍点运算模块的控制信号和521 位数据总线和域运算层相连;所述域运算层包括有限域乘法运算模块、有限域加法运算模块、有限域平方运算模块和有限域求逆运算模块。2.如权利要求1所述参数位宽可扩展的ECC加密硬件装置,其特征在于ECC曲线的...

【专利技术属性】
技术研发人员:江先阳周正李彬唐从学
申请(专利权)人:武汉大学
类型:发明
国别省市:

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

1