基于ECCAd―Hoc协处理器设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ECCAd―Hoc协处理器设计

基于ECCAd―Hoc协处理器设计   摘 要 本文研究了基于Ad-Hoc的ECC嵌入式协处理器系统。构造了一个通用的模型,其大大增强ad-hoc中网络节点的性能,从而实现基于ECC的Ad-hoc安全网络协议。这里我们采用软硬件协同设计技术,实现处理器和专用硬件模块设计在同一芯片中。该系统在利用Xilinx MicroBlaze进行FPGA实现。   【关键词】ECC Ad-Hoc FPGA   1 引言   ECC在最近几年变得越来越普及,尤其是在嵌入式应用中。因为密钥宽度小、处理速度快、安全性能高,ECC非常适合嵌入式系统。   本文研究实现了一个基于混合系统的协处理器,可以大大提高基于ECC的ad-hoc网络系统的安全性能。网络计算节点通过API访问程序与设备进行通信。在该系统中,所有的密码计算模块嵌入在的混合单元中。这不仅能提高其性能,也能增加其安全性,由于私钥被嵌入到嵌入式单元中而无法访问。协处理器在Xilinx的Spartan 6装置上使用Xilinx开发套件实现。本系统的软件部分实现了一个32位MicroBlaze处理器,硬件部分通过VHDL模块实现。   2 ECC加密体制   ECC的主要操作是点乘kP运算,点乘kP的最直接方法是使用倍点和点加相结合的double-and-add方法。如果ki=0,则仅执行倍点计算;如果ki=1,则执行倍点计算和点加计   算。Double-and-add算法需要(m-1)次倍点运算和m/2次点加运算,而使用非相邻(NAF)编码思想的二进制点乘算法可以将计算点加的平均次数减少至m/3。   基于上述乘法器模块,本文实现的是使用NAF编码的163 bit二进制域上的椭圆曲线点乘算法。   算法:二进制NAF的方法计算点乘。   输入:一个正整数k,P∈GF(q)。   输出:kP。   (1)计算NAF(k)。   (2)Q←∞。   (3)对于i从l-1到0,重复执行以下步骤:   ○1Q←2Q。   ②若ki=1,则Q←Q+P。   ③若ki=-1,则Q←Q-P。   (4)返回Q。   3 协处理器的设计   协处理器的软件部分C程序来实现,硬件部分采用VHDL模块实现。系统采用Xilinx的EDK进行开发。MicroBlaze采用哈佛结构,具有独立的数据和指令总线。MicroBlaze程序直接存储在FPGA的内存块,双端口存储器模块用来连接MicroBlaze的指令和数据总线与独立的内存控制器。   3.1点乘器   点乘模块采用有限状态机实现。乘法完成后,结果赋值给A,最后的仿射点R传输回MicroBlaze。为了最大限度地利用并行计算,首先传输标量乘积,这样起始点坐标接收数据的同时NAF也可以进行计算。此外,点加和倍乘模块可并行操作。其关键是相比计算平方,点乘大约两倍的时间。因为点加就是简单的异或操作,所以点加的时间可以忽略不计。   3.2 API接口   API接口可以实现921600波特率的串行通信。每个API函数与FPGA之间有一个唯一的ID。MicroBlaze检查API传输的第一个字节来确定其功能。如果有更多的数据,它读取合并进行处理,然后发送返回所需的结果。   4 性能测试结果   本实验在Xilinx Spartan6 LX45 上进行FPGA仿真。相比纯软件,混合系统的点乘器性能总的执行时间包括FIFO接口模块与MicroBlaze数据传输的时间。软件实现需要平均耗时751.5ms,而混合系统只需要1.05毫秒,两者相差 716倍的速度。硬件资源的使用情况,如表1所示。   5 总结   本文,利用软硬件协同设计思想,采用Xilinx MicroBlaze处理器和专用硬件模块相结合的方法对椭圆曲线密码系统进行FPGA设计。结果表明,基本点乘法运算在混合体系结构的系统比纯软件实现快700倍的速度。同时,设计简单灵活,利用软件来控制硬件模块,为高速计算提供了API接口。   参考文献   [1]W.Qingxian,“The application of elliptic curves cryptography in embedded systems,” in International Conference on Embedded Software and Systems, 2005, pp. 154-161.   [2]JOY M,TYMEN C.Compact encoding Of NAF with applications to ECC [J].Public Key Cryptography,LNCS 1992,Springer,PP.353-364,2001.   [3]

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档