椭圆曲线密码协处理器的制作方法

文档序号:7746933阅读:214来源:国知局
专利名称:椭圆曲线密码协处理器的制作方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种椭圆曲线密码协处理器。
背景技术
无线传感器网络(Wireless Sensor Network,WSN)是由部署在监测区域内大量的廉价微型传感器组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中被感知对象的信息,并发送给观察者。WSN通常部署在无人维护、不可控制的环境中,除了具有一般无线网络所面临的信息泄露、信息篡改、 重放攻击、拒绝服务等多种威胁外,WSN还面临传感节点容易被攻击者物理操纵,并获取存储在传感节点中的所有信息,从而控制部分网络的威胁。用户不可能接受并部署一个没有解决好安全和隐私问题的传感网络,因此在进行WSN协议和软件设计时,必须充分考虑WSN 可能面临的安全问题,并把安全机制特别是身份验证和访问控制集成到系统设计中去。一种解决方案是采用对称密码来实现,这种解决方案采用集中式的密钥管理体系,验证节点的标识然后分发密钥供节点间建立安全的通道。这种集中式的密钥管理体系解决方案对于小型和独立的传感网络是有效的,但是对于网络系统的发展是一种阻碍。另一种解决方案就是采用公钥密码来实现,基于公钥密码(非对称密码)的解决方案不需要一个活动的中心控制器,而是使每个节点独立运作和合作。每个设备都发布自己的密钥和安全策略。标识和策略可以集中创建,然后分发给节点,使网络运行。而采用公钥密码的解决方案就需要每个传感器节点和RFID标签上带有公钥密码协处理器。目前的公钥密码主要有RSA和椭圆曲线密码系统(ECC),ECC在1985年分别由 Victor Miller和Neal Koblitz独立提出,其安全性是基于椭圆曲线群上的离散对数问题 (ECDLP)。与RSA相比,它的每位具有更高的安全强度,导致ECC在实现方面运算速度高同时所需电路面积小,功耗低,存储空间小,占用带宽小,更适用于无线传感器网络这种资源受限制的环境。ECC中核心运算就是基域上的基本运算和椭圆曲线上的点乘运算。对于椭圆曲线系统来说,基域的选择包括素域(P为素数)和(m为扩张次数)二元扩域。然而,现有的椭圆曲线密码协处理器仍存在结构复杂、功耗高等缺点,无法有效用于无线传感器节点和RFID标签等这类资源极度受限的环境中。

发明内容
本发明的目的在于,提供一种椭圆曲线密码协处理器,其结构简单,体积小,接口方式简单;采用状态机方式,使运算速度大大加快;对椭圆曲线点乘运算过程进行了优化, 减少了中间变量,从而减少了寄存器个数;最大可能的复用了基域上模加和模乘电路,减小了电路面积。为了实现上述目的,本发明提供一种椭圆曲线密码协处理器,其包括一运算控制器、运算器、参数寄存器、及RAM,其中,
该运算控制器分别与运算器、参数寄存器及RAM电性连接,用于椭圆曲线点乘运算及产生控制信号给运算器完成基域上模加与模乘运算;该运算器分别与参数寄存器及RAM电性连接,用于基域上模加与模乘运算;该参数寄存器用于存放椭圆曲线方程中的参数和预计算参数;该RAM接收外部发送的数据及存储运算结果,与外部进行数据交互。所述运算控制器包括数个有限状态机、基本运算控制单元、计数器、及命令寄存器,该数个有限状态机用于控制完成椭圆曲线上点运算,该基本运算控制单元用于产生控制信号给运算器完成基域上模加与模乘运算。所述数个有限状态机包括第一有限状态机、第二有限状态机及第三有限状态机, 第三有限状态机调度第一有限状态机及第二有限状态机来完成椭圆曲线上点运算。所述运算器包括基域上模加与模乘电路。所述基域上模加与模乘电路设有移位寄存器、第一寄存器及第二寄存器,该第一寄存器及第二寄存器分别用于在基域上模加电路中载入数据,第二寄存器中数据在经过相应时钟周期后为模加结果,该移位寄存器及第一寄存器还分别用于在基域上模乘电路中载入数据,第二寄存器中数据在经过相应时钟周期后为模加结果。所述RAM通过外部地址和数据总线与外部交换数据,该运算控制器可向一外部 CPU发出内部运算状态信号。本发明的有益效果本发明提供一种椭圆曲线密码协处理器,其结构简单,体积小,接口方式简单;采用状态机方式,使运算速度大大加快;对椭圆曲线点乘运算过程进行了优化,减少了中间变量,从而减少了寄存器个数;最大可能的复用了基域上模加和模乘电路,减小了电路面积。为了能更进一步了解本发明的特征以及技术内容,请参阅以下有关本发明的详细说明与附图,然而附图仅提供参考与说明用,并非用来对本发明加以限制。


下面结合附图,通过对本发明的具体实施方式
详细描述,将使本发明的技术方案及其它有益效果显而易见。附图中,图1为本发明椭圆曲线密码协处理器的电路结构原理图;图2为图1中运算器的电路结构原理图;图3为图2中每个运算单元的电路结构原理图;图4为本发明中第一有限状态机的工作流程图;图5为本发明中第二有限状态机的工作流程图;图6为本发明中第三有限状态机的工作流程图。
具体实施例方式为更进一步阐述本发明所采取的技术手段及其效果,以下结合本发明的优选实施例及其附图进行详细描述。作为本发明的一种选择性实施例,本发明选取的椭圆曲线为上的椭圆曲线,π 上不可约多项式为f(x) =χ2、χ74+1,β , Z E F m且匕乒0;如图1-6所示,本
1 2^33,2
发明提供一种椭圆曲线密码协处理器,其包括一运算控制器110、运算器120、参数寄存器 130、及RAM140,其中,该运算控制器110分别与运算器120、参数寄存器130及RAM140电性
连接,用于椭圆曲线点乘运算及产生控制信号给运算器120完成基域F2233上模加与模乘
运算;该运算器120分别与参数寄存器130及RAM140电性连接,用于基域&233上模加与模
乘运算;该参数寄存器130用于存放椭圆曲线方程中的参数b和预计算参数A = X(P2-P1); 该RAM140接收外部发送的数据及存储运算结果,与外部进行数据交互。本发明通过一运算控制器110、运算器120、参数寄存器130、及RAM140来完成椭圆曲线密码的处理运算,其结构简单。具体的,该RAM140接收外部发送的数据及存储运算结果,与外部进行数据交互, RAM140通过外部地址和数据总线与外部交换数据,外部数据写入RAM140后,运算控制器 110产生控制信号将RAM140中的数据读出,写入相应的寄存器单元,当所需数据写完后,运算控制器110启动控制信号或者状态机。运算控制器110还会向RAM140写入中间结果或者最终运算结果。运算控制器110还会向外部发出CPU发出内部运算状态信号。该运算控制器110包括数个有限状态机、基本运算控制单元112、计数器113、及命令寄存器114,该数个有限状态机用于控制完成椭圆曲线上点运算,该基本运算控制单元
112用于产生控制信号给运算器120完成基域&233上模加与模乘运算。优选的,该数个有限状态机包括第一有限状态机115、第二有限状态机116及第三有限状态机117,第三有限状态机117调度第一有限状态机115及第二有限状态机116来完成椭圆曲线上点运算。图2为运算器130的的电路结构原理图,该运算器120包括基域上模加与模乘电路;所述基域上模加与模乘电路设有移位寄存器A、第一寄存器B及第二寄存器T,该第一寄
存器B及第二寄存器T分别用于在基域上模加电路中载入数据,第二寄存器T中数据
在经过相应时钟周期后为模加结果,该移位寄存器A及第一寄存器B还分别用于在基域上模乘电路中载入数据,第二寄存器T中数据在经过相应时钟周期后为模加结果;进一步的, 在该电路中,121为连接在上述三个寄存器之间的数个运算单元(cell),122为与门;图3
是图2中每个运算单元具体的电路。当计算基域F2233上模加时,122上的cmd置为0,重置
移位寄存器A,将参与运算的操作数分别载入到第一寄存器B和第二寄存器T中,载入到第二寄存器T中的数记为C,经过一个时钟周期,第二寄存器T中的值即为模加结果。当计算
基域F2233上模乘时,122上的cmd置为1,参与模乘运算的操作数分别载入到移位寄存器A
"233"
和第一寄存器B中,移位寄存器A优选为桶移位寄存器,每次向左移d位,经过y个时钟
α
周期,第二寄存器τ中的值即为模乘结果。从图2和图3可以看出,模乘运算与模加运算相比,仅多了移位寄存器A和一部分与门电路,cmd的值不同,其他均为完全复用;同时电路仅有与门和异或门构成,电路简单,功耗低。
该运算控制110中的三个状态机协同完成椭圆曲线上的点乘运算。其中有限状态机3分别调度有限状态机1和2来完成椭圆曲线点乘运算。图6是本发明中的第三有限状态机的控制流程图在步骤601,置 Pl = P ;P2 = 2P ;在步骤602,置 i = 1-2 ;在步骤603,判断ki是否为0,如果是,则调度第一有限状态机(如图4所示),结束后执行步骤604 ;如果否,则调度第二有限状态机(如图5所示),结束后执行步骤604 ;在步骤604,执行i—;在步骤605,判断i是否小于0,如果否则执行步骤603,如果是则结束。图4本发明第一有限状态机的控制流程图在步骤401,计算 X2 = X2 · Z1 ;在步骤402,计算 Z2 = X1 · Z2 ;在步骤403,计算rX = W,在步骤404,计算 & = Z2+X2 ;在步骤405,计算Z2 = Z22 ;在步骤406,计算 X2 = X4 · Z1 ;在步骤407,计算 I2 = X2+T。图5本发明第二有限状态机的控制流程图在步骤 501,计算 Ji1 = X12 ;在步骤502,计算Z1 = Z12 ;在步骤503,计算Γ = Zf ;在步骤504,计算 Z1 = X1 · Z1 ;在步骤505,计算T = T2 ;在步骤506,计算 T = b · T ;在步骤507,计算 JT1 = X12 ;在步骤508,计算 \ = X^T。通过图4和图5的流程中可看出,在计算过程中,本发明只需要增加一个中间的第二寄存器T就可以完成整个运算,这是完成计算所需的最少的寄存器个数,从而能减小电路面积,降低功耗。综上所述,本发明提供一种椭圆曲线密码协处理器,其结构简单,体积小,接口方式简单;采用状态机方式,使运算速度大大加快;对椭圆曲线点乘运算过程进行了优化,减少了中间变量,从而减少了寄存器个数;最大可能的复用了基域上模加和模乘电路,减小了电路面积。以上所述,对于本领域的普通技术人员来说,可以根据本发明的技术方案和技术构思作出其他各种相应的改变和变形,而所有这些改变和变形都应属于本发明权利要求的保护范围。
权利要求
1.一种椭圆曲线密码协处理器,其特征在于,包括一运算控制器、运算器、参数寄存器、及RAM,其中,该运算控制器分别与运算器、参数寄存器及RAM电性连接,用于椭圆曲线点乘运算及产生控制信号给运算器完成基域上模加与模乘运算;该运算器分别与参数寄存器及RAM电性连接,用于基域上模加与模乘运算;该参数寄存器用于存放椭圆曲线方程中的参数和预计算参数;该RAM接收外部发送的数据及存储运算结果,与外部进行数据交互。
2.如权利要求1所述的椭圆曲线密码协处理器,其特征在于,所述运算控制器包括数个有限状态机、基本运算控制单元、计数器、及命令寄存器,该数个有限状态机用于控制完成椭圆曲线上点运算,该基本运算控制单元用于产生控制信号给运算器完成基域上模加与模乘运算。
3.如权利要求2所述的椭圆曲线密码协处理器,其特征在于,所述数个有限状态机包括第一有限状态机、第二有限状态机及第三有限状态机,第三有限状态机调度第一有限状态机及第二有限状态机来完成椭圆曲线上点运算。
4.如权利要求1所述的椭圆曲线密码协处理器,其特征在于,所述运算器包括基域上模加与模乘电路。
5.如权利要求4所述的椭圆曲线密码协处理器,其特征在于,所述基域上模加与模乘电路设有移位寄存器、第一寄存器及第二寄存器,该第一寄存器及第二寄存器分别用于在基域上模加电路中载入数据,第二寄存器中数据在经过相应时钟周期后为模加结果,该移位寄存器及第一寄存器还分别用于在基域上模乘电路中载入数据,第二寄存器中数据在经过相应时钟周期后为模加结果。
6.如权利要求1所述的椭圆曲线密码协处理器,其特征在于,所述RAM通过外部地址和数据总线与外部交换数据,该运算控制器可向一外部CPU发出内部运算状态信号。
全文摘要
本发明提供一种椭圆曲线密码协处理器,其包括一运算控制器、运算器、参数寄存器、及RAM,其中,该运算控制器分别与运算器、参数寄存器及RAM电性连接,用于椭圆曲线点乘运算及产生控制信号给运算器完成基域上模加与模乘运算;该运算器分别与参数寄存器及RAM电性连接,用于基域上模加与模乘运算;该参数寄存器用于存放椭圆曲线方程中的参数和预计算参数;该RAM接收外部发送的数据及存储运算结果,与外部进行数据交互。本发明接口方式简单;采用状态机方式,使运算速度大大加快;对椭圆曲线点乘运算过程进行了优化,减少了中间变量,从而减少了寄存器个数;最大可能的复用了基域上模加和模乘电路,减小了电路面积。
文档编号H04L9/32GK102412965SQ20111022728
公开日2012年4月11日 申请日期2011年8月9日 优先权日2011年8月9日
发明者孙永战 申请人:深圳市德卡科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1