CN102412965B - 椭圆曲线密码协处理器 - Google Patents

椭圆曲线密码协处理器 Download PDF

Info

Publication number
CN102412965B
CN102412965B CN2011102272810A CN201110227281A CN102412965B CN 102412965 B CN102412965 B CN 102412965B CN 2011102272810 A CN2011102272810 A CN 2011102272810A CN 201110227281 A CN201110227281 A CN 201110227281A CN 102412965 B CN102412965 B CN 102412965B
Authority
CN
China
Prior art keywords
register
elliptic curve
arithmetic
finite state
state machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2011102272810A
Other languages
English (en)
Other versions
CN102412965A (zh
Inventor
孙永战
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN DECARD SMARTCARD TECH CO., LTD.
Original Assignee
SHENZHEN DECARD TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN DECARD TECHNOLOGY Co Ltd filed Critical SHENZHEN DECARD TECHNOLOGY Co Ltd
Priority to CN2011102272810A priority Critical patent/CN102412965B/zh
Publication of CN102412965A publication Critical patent/CN102412965A/zh
Application granted granted Critical
Publication of CN102412965B publication Critical patent/CN102412965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Advance Control (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种椭圆曲线密码协处理器,其包括:一运算控制器、运算器、参数寄存器、及RAM,其中,该运算控制器分别与运算器、参数寄存器及RAM电性连接,用于椭圆曲线点乘运算及产生控制信号给运算器完成基域上模加与模乘运算;该运算器分别与参数寄存器及RAM电性连接,用于基域上模加与模乘运算;该参数寄存器用于存放椭圆曲线方程中的参数和预计算参数;该RAM接收外部发送的数据及存储运算结果,与外部进行数据交互。本发明接口方式简单;采用状态机方式,使运算速度大大加快;对椭圆曲线点乘运算过程进行了优化,减少了中间变量,从而减少了寄存器个数;最大可能的复用了基域上模加和模乘电路,减小了电路面积。

Description

椭圆曲线密码协处理器
技术领域
本发明涉及信息安全技术领域,尤其涉及一种椭圆曲线密码协处理器。
背景技术
无线传感器网络(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为本发明中第三有限状态机的工作流程图。
具体实施方式
为更进一步阐述本发明所采取的技术手段及其效果,以下结合本发明的优选实施例及其附图进行详细描述。
作为本发明的一种选择性实施例,本发明选取的椭圆曲线为上的椭圆曲线,
Figure BDA0000082109090000042
上不可约多项式为f(x)=x233+x74+1,
Figure BDA0000082109090000043
且b≠0;如图1-6所示,本发明提供一种椭圆曲线密码协处理器,其包括:一运算控制器110、运算器120、参数寄存器130、及RAM140,其中,该运算控制器110分别与运算器120、参数寄存器130及RAM140电性连接,用于椭圆曲线点乘运算及产生控制信号给运算器120完成基域
Figure BDA0000082109090000044
上模加与模乘运算;该运算器120分别与参数寄存器130及RAM140电性连接,用于基域
Figure BDA0000082109090000045
上模加与模乘运算;该参数寄存器130用于存放椭圆曲线方程中的参数b和预计算参数X4=X(P2-P1);该RAM140接收外部发送的数据及存储运算结果,与外部进行数据交互。本发明通过一运算控制器110、运算器120、参数寄存器130、及RAM140来完成椭圆曲线密码的处理运算,其结构简单。
具体的,该RAM140接收外部发送的数据及存储运算结果,与外部进行数据交互,RAM140通过外部地址和数据总线与外部交换数据,外部数据写入RAM140后,运算控制器110产生控制信号将RAM140中的数据读出,写入相应的寄存器单元,当所需数据写完后,运算控制器110启动控制信号或者状态机。运算控制器110还会向RAM140写入中间结果或者最终运算结果。运算控制器110还会向外部发出CPU发出内部运算状态信号。
该运算控制器110包括数个有限状态机、基本运算控制单元112、计数器113、及命令寄存器114,该数个有限状态机用于控制完成椭圆曲线上点运算,该基本运算控制单元112用于产生控制信号给运算器120完成基域上模加与模乘运算。
优选的,该数个有限状态机包括第一有限状态机115、第二有限状态机116及第三有限状态机117,第三有限状态机117调度第一有限状态机115及第二有限状态机116来完成椭圆曲线上点运算。
图2为运算器130的的电路结构原理图,该运算器120包括基域上模加与模乘电路;所述基域上模加与模乘电路设有移位寄存器A、第一寄存器B及第二寄存器T,该第一寄存器B及第二寄存器T分别用于在基域
Figure BDA0000082109090000051
上模加电路中载入数据,第二寄存器T中数据在经过相应时钟周期后为模加结果,该移位寄存器A及第一寄存器B还分别用于在基域上模乘电路中载入数据,第二寄存器T中数据在经过相应时钟周期后为模加结果;进一步的,在该电路中,121为连接在上述三个寄存器之间的数个运算单元(cell),122为与门;图3是图2中每个运算单元具体的电路。当计算基域
Figure BDA0000082109090000052
上模加时,122上的cmd置为0,重置移位寄存器A,将参与运算的操作数分别载入到第一寄存器B和第二寄存器T中,载入到第二寄存器T中的数记为C,经过一个时钟周期,第二寄存器T中的值即为模加结果。当计算基域
Figure BDA0000082109090000053
上模乘时,122上的cmd置为1,参与模乘运算的操作数分别载入到移位寄存器A和第一寄存器B中,移位寄存器A优选为桶移位寄存器,每次向左移d位,经过
Figure BDA0000082109090000054
个时钟周期,第二寄存器T中的值即为模乘结果。从图2和图3可以看出,模乘运算与模加运算相比,仅多了移位寄存器A和一部分与门电路,cmd的值不同,其他均为完全复用;同时电路仅有与门和异或门构成,电路简单,功耗低。
该运算控制110中的三个状态机协同完成椭圆曲线上的点乘运算。其中有限状态机3分别调度有限状态机1和2来完成椭圆曲线点乘运算。
图6是本发明中的第三有限状态机的控制流程图:
在步骤601,置P1=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,计算T=X2·Z2
在步骤404,计算Z2=Z2+X2
在步骤405,计算
Figure BDA0000082109090000061
在步骤406,计算X2=x4·Z1
在步骤407,计算X2=X2+T。
图5本发明第二有限状态机的控制流程图:
在步骤501,计算
Figure BDA0000082109090000062
在步骤502,计算
Figure BDA0000082109090000063
在步骤503,计算
Figure BDA0000082109090000064
在步骤504,计算Z1=X1·Z1
在步骤505,计算T=T2
在步骤506,计算T=b·T;
在步骤507,计算
在步骤508,计算X1=X1+T。
通过图4和图5的流程中可看出,在计算过程中,本发明只需要增加一个中间的第二寄存器T就可以完成整个运算,这是完成计算所需的最少的寄存器个数,从而能减小电路面积,降低功耗。
综上所述,本发明提供一种椭圆曲线密码协处理器,其结构简单,体积小,接口方式简单;采用状态机方式,使运算速度大大加快;对椭圆曲线点乘运算过程进行了优化,减少了中间变量,从而减少了寄存器个数;最大可能的复用了基域上模加和模乘电路,减小了电路面积。
以上所述,对于本领域的普通技术人员来说,可以根据本发明的技术方案和技术构思作出其他各种相应的改变和变形,而所有这些改变和变形都应属于本发明权利要求的保护范围。

Claims (3)

1.一种椭圆曲线密码协处理器,其特征在于,包括:一运算控制器、运算器、参数寄存器、及RAM,其中,
该运算控制器分别与运算器、参数寄存器及RAM电性连接,用于椭圆曲线点乘运算及产生控制信号给运算器完成基域上模加与模乘运算;
该运算器分别与参数寄存器及RAM电性连接,用于基域上模加与模乘运算;
该参数寄存器用于存放椭圆曲线方程中的参数和预计算参数;
该RAM接收外部发送的数据及存储运算结果,与外部进行数据交互;
所述运算器包括基域上模加与模乘电路;
所述基域上模加与模乘电路设有移位寄存器、第一寄存器及第二寄存器,该第一寄存器及第二寄存器分别用于在基域上模加电路中载入数据,第二寄存器中数据在经过相应时钟周期后为模加结果,该移位寄存器及第一寄存器还分别用于在基域上模乘电路中载入数据,第二寄存器中数据在经过相应时钟周期后为模乘结果;
所述RAM通过外部地址和数据总线与外部交换数据,该运算控制器可向一外部CPU发出内部运算状态信号。
2.如权利要求1所述的椭圆曲线密码协处理器,其特征在于,所述运算控制器包括数个有限状态机、基本运算控制单元、计数器、及命令寄存器,该数个有限状态机用于控制完成椭圆曲线上点运算,该基本运算控制单元用于产生控制信号给运算器完成基域上模加与模乘运算。
3.如权利要求2所述的椭圆曲线密码协处理器,其特征在于,所述数个有限状态机包括第一有限状态机、第二有限状态机及第三有限状态机,第三有限状态机调度第一有限状态机及第二有限状态机来完成椭圆曲线上点运算。
CN2011102272810A 2011-08-09 2011-08-09 椭圆曲线密码协处理器 Active CN102412965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102272810A CN102412965B (zh) 2011-08-09 2011-08-09 椭圆曲线密码协处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102272810A CN102412965B (zh) 2011-08-09 2011-08-09 椭圆曲线密码协处理器

Publications (2)

Publication Number Publication Date
CN102412965A CN102412965A (zh) 2012-04-11
CN102412965B true CN102412965B (zh) 2013-11-27

Family

ID=45914830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102272810A Active CN102412965B (zh) 2011-08-09 2011-08-09 椭圆曲线密码协处理器

Country Status (1)

Country Link
CN (1) CN102412965B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103903047B (zh) * 2014-03-27 2017-02-15 华中科技大学 一种适用于rfid安全通信的椭圆曲线加密协处理器
CN104536913B (zh) * 2014-12-10 2017-07-28 山东华芯半导体有限公司 一种基于多块ram的大数运算电路的数据转移方法
CN112559040B (zh) * 2020-12-02 2021-12-28 北京百度网讯科技有限公司 指令执行方法、装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101213512A (zh) * 2005-06-29 2008-07-02 皇家飞利浦电子股份有限公司 保护数据处理设备以抵御攻击或分析的装置和方法
CN101212292A (zh) * 2006-12-31 2008-07-02 航天信息股份有限公司 一种ecc\rsa加解密协处理器
CN101213513A (zh) * 2005-06-29 2008-07-02 皇家飞利浦电子股份有限公司 保护数据处理装置免受密码攻击或分析的设备和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101213512A (zh) * 2005-06-29 2008-07-02 皇家飞利浦电子股份有限公司 保护数据处理设备以抵御攻击或分析的装置和方法
CN101213513A (zh) * 2005-06-29 2008-07-02 皇家飞利浦电子股份有限公司 保护数据处理装置免受密码攻击或分析的设备和方法
CN101212292A (zh) * 2006-12-31 2008-07-02 航天信息股份有限公司 一种ecc\rsa加解密协处理器

Also Published As

Publication number Publication date
CN102412965A (zh) 2012-04-11

Similar Documents

Publication Publication Date Title
Almulhim et al. A lightweight and secure authentication scheme for IoT based e-health applications
Hsiao et al. Employing blockchain technology to strengthen security of wireless sensor networks
Uhsadel et al. Enabling full-size public-key algorithms on 8-bit sensor nodes
CN103903047B (zh) 一种适用于rfid安全通信的椭圆曲线加密协处理器
Wei et al. The convergence of IoE and blockchain: security challenges
CN101834723A (zh) 一种rsa算法及其ip核
CN103226461B (zh) 一种用于电路的蒙哥马利模乘方法及其电路
CN102164367A (zh) 一种用于无线传感器网络的密钥管理方法
CN102279725A (zh) Ecc协处理器
CN103051460B (zh) 基于惯性技术的动态令牌系统及其加密方法
CN102387015B (zh) 一种应用于数字签名验证的提高椭圆曲线标量乘法计算效率的方法
CN102412965B (zh) 椭圆曲线密码协处理器
CN102685740A (zh) 一种短程无线通信节点及无线通信方法
CN104579656A (zh) 一种椭圆曲线公钥密码sm2算法的硬件加速协处理器
Liu et al. Design and implementation of an ECC-based digital baseband controller for RFID tag chip
Maitra et al. Cluster-based energy-efficient secure routing in wireless sensor networks
CN105471855A (zh) 一种用于电子标签快速身份鉴别的低功耗椭圆曲线加密引擎
CN109214213A (zh) 一种大整数模乘加算法的实现电路及方法
CN101763241A (zh) 实现ecc密码体制中签名算法的大整数求模运算装置及求模方法
Akram et al. An energy-efficient and secure identity based RFID authentication scheme for vehicular cloud computing
CN110704109B (zh) 一种椭圆曲线密码协处理器
Seo et al. Performance enhancement of TinyECC based on multiplication optimizations
CN100566241C (zh) 基于神经网络权值同步的轻量级密钥协商方法
CN105743644B (zh) 一种多变量二次方程的掩码加密装置
CN101702646B (zh) 一种数据加密方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SHENZHEN DECARD SMARTCARD TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: SHENZHEN DECARD TECHNOLOGY CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 518055 Guangdong Province, Nanshan District Shenzhen tea light Lu Wenguang Industrial District 17 building 4 floor

Patentee after: SHENZHEN DECARD SMARTCARD TECH CO., LTD.

Address before: 518055 Guangdong Province, Nanshan District Shenzhen tea light Lu Wenguang Industrial District 17 building 4 floor

Patentee before: Shenzhen Decard Technology Co., Ltd.