首页> 中文学位 >素域椭圆曲线点乘算法的FPGA设计与实现
【6h】

素域椭圆曲线点乘算法的FPGA设计与实现

代理获取

目录

声明

插图索引

表格索引

符号对照表

缩略语对照表

第一章 绪论

1.2国内外研究现状

1.3论文结构安排

第二章 椭圆曲线密码体制

2.2椭圆曲线简介

2.3ECC密码算法

2.4ECC的困难问题

2.5ECC的结构设计

第三章 素域模加/模减算法的研究及FPGA实现

3.2基本的模加和模减运算

3.3模加/模减运算的FPGA实现

第四章 素域模乘算法的研究及FPGA实现

4.1整数乘再约化的模乘运算

4.2Montgomery模乘

4.3本章小结

第五章 素域模逆算法的研究及FPGA实现

5.1基于欧几里德算法的模逆

5.2Montgomery求逆算法

5.3素域上模逆的FPGA实现

5.4本章小结

第六章 点加和倍点算法的研究及FPGA实现

6.2椭圆曲线上点的不同坐标表示形式

6.3本文点加和倍点运算的FPGA实现

第七章 点乘算法的研究及FPGA实现

7.2点乘的计算方法

7.3 素域上点乘算法的FPGA实现

第八章 总结与展望

8.2展望

参考文献

致谢

作者简介

展开▼

摘要

随着有线和无线通信的传播、互联网和电子商务的持续增长,共享或交换秘密以及私人信息的应用程序的安全性问题越来越受到人们的重视。椭圆曲线密码算法(ECC)由于其能够以较小的密钥尺寸提供较高的安全性,目前已经被广泛的应用于因特网和无线通信网络中的用户之间,用来建立安全通信信道。
  本文主要研究素域椭圆曲线上的点乘问题,点乘算法实现是一个自下而上的分层次结构,主要分为有限域运算层和椭圆曲线上的群运算。
  有限域运算层具体包括模加/模减、模乘以及模逆运算。论文着重对素域上的模乘模块进行了改进,传统的模乘运算有两种方法,一种是先进行乘法运算后再对其约化的方法,另一种则是边乘边约化的Montgomery模乘。在对这两种模乘方式在改进上有相似之处,均是通过对原有的算法分析,将以前的单步处理单比特方式转化成多步处理多位的方式使其算法的迭代次数降低,从而减少完成一次运算所需要的周期数,进而达到提高速率的目的。通过大量实验测试以及数据分析,综合考虑运算速度和硬件资源消耗,给出了不同算法最优的迭代次数,最后通过QuartusII和Modelsim的仿真验证,结果表明基于256位的素数域优化后的先乘后约化方法的运算时间为0.44微秒,Montgomery模乘方法达到0.22微秒/次。与其他文献结果相比,本文的模乘运算时间降低了约30%到60%之间,具有较高的效率。
  椭圆曲线上的群运算主要是点乘运算,而点乘计算则是由点加运算和倍点运算构成。论文通过坐标转换形式将仿射坐标转换成投影坐标来实现点加和倍点运算,从而避免耗时的模逆运算,达到提高运算速度的目的。其中,倍点运算采用的是雅克比坐标表示形式,点加运算采用的是仿射坐标-雅可比坐标的混合点加结构形式,在此基础上利用多路复用技术进一步提高点加和倍点运算的效率;除了通过改进点加和倍点运算提高点乘速度以外,论文还从点乘的结构方面进一步优化点乘的硬件实现。整个点乘运算的功能仿真验证是基于Modelsim软件,而综合则是通过Synplify Pro软件进行。在AlteraStratix II器件上的模拟实现,针对256位和384位素数域,得到点乘的运算时间约为0.57毫秒和1.33毫秒。最后,论文给出了本文设计的点乘运算与其它相关文献的性能比较,与大多数文献相比,本文的点乘设计在运算时间上降低了约14%到44%之间,由于在资源占用上也仅仅只使用了硬件逻辑资源,表明本文的实现具有可移植性,可用于其他硬件设计平台。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号