[发明专利]一种适用于ECC的双域统一算术运算电路无效
| 申请号: | 201010170519.6 | 申请日: | 2010-05-06 |
| 公开(公告)号: | CN101840327A | 公开(公告)日: | 2010-09-22 |
| 发明(设计)人: | 白国强;陈刚;陈弘毅 | 申请(专利权)人: | 清华大学 |
| 主分类号: | G06F7/72 | 分类号: | G06F7/72 |
| 代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 黄家俊 |
| 地址: | 100084 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 适用于 ecc 统一 算术 运算 电路 | ||
技术领域
本发明属于加密电路设计领域,尤其涉及一种适用于椭圆曲线密码(ECC)的双域统一算术运算电路。
背景技术
椭圆曲线密码(ECC)是一种新兴的公钥密码体制。与传统的RSA算法相比,在保持同样的安全强度的条件下,ECC所需的密钥长度更短,存储更少,计算更快捷。ECC的这个技术优势使之得到密码学界和信息安全产业的广泛关注,具有很好的应用前景。ECC的主要运算是有限域的算术运算,其所涉及的有限域包括两种:素数域和二元域。
现有关于ECC算法的专用集成电路,要么是只针对素数域曲线的,要么是只针对二元域曲线。对于素数域曲线的专用电路,一般都只设计能进行有限域上模加(加法)和模乘(乘法)的运算电路,而对需要用到的模减(减法)和模逆运算,通过调用模加和模乘单元实现。对有限域运算层以上的椭圆曲线运算,包括点加运算和倍点运算又是调运有限域上的运算通过软件编程方法实现。这样的方法虽然具有很好的灵活性和简单性,但付出的代价是很低的实现效率,速度太低。
现有关于定义在二元域上ECC算法的专用电路设计,都是只针对一个特定的有限域进行的。这样的电路虽然能够获得很高的实现效率,很高的速度,但是其最大的缺点是没有兼容性。当定义ECC算法的有限域更换时,这样的电路几乎不可用。
发明内容
为解决上述技术问题,本发明提供了一种既能在素数域上又能在二元域上完成模加、模乘和模除运算的统一的算术运算电路,其特征在于:
所述算数运算电路具有规则的阵列结构,由四个处理单元(PE)依次连接组成,自右至左分别为第0处理单元、第1处理单元、第2处理单元及第3处理单元。每个处理单元处理两位数据,全部八位数据按照从低位到高位的顺序自右至左依次排列。每个处理单元具有相同的内部电路,最右侧的第0处理单元比其他处理单元增加了用于产生控制信号的电路。
所述算数运算电路的输入输出端口见表1,
表1:电路的输入输出端口
所述处理单元内部包括计算逻辑模块(COMPUT)、存储器多路选择器模块(REGMUX)以及若干一位寄存器。每个REGMUX下面的四个寄存器是数据寄存器,分别记为a,b,r,s。最左侧的寄存器是控制信号和进位信号寄存器,用于锁存控制信号F,V1,S1,V2,S2,SWAP,MUL,DIV,INIT和进位信号C1,C2,C3。这些控制信号和进位信号首先由最右边的处理单元产生初始值(控制信号F,MUL,DIV,INIT的初始值直接由相应的外部决定),然后从第0处理单元开始,被各个处理单元更新(只有进位信号被更新,控制信号在传递过程中保持不变)、锁存并传递到下一个处理单元。
下面说明控制信号V1,S1,V2,S2,SWAP和进位信号C1,C2,C3的初始值,以及输出信号DONE是如何由最右边的处理单元产生的。为了产生这些信号,最右侧的第0处理单元中集成了两个一位寄存器f,y,三个计数器i,δ,Φ。下面根据不同的运算类型,给出这些信号的初始值,寄存器和计数器的初始值和更新逻辑,以及输出信号DONE的值。
素数域Montgomery乘法
V1=y⊕12S,
S1=12S,
SWAP=0,
C2-2=V2,
其他信号、寄存器和计数器的取值不影响计算的结果。
二元域Montgomery乘法
V1=12S,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010170519.6/2.html,转载请声明来源钻瓜专利网。





