基于椭圆曲线的数字签名方案关键模块设计与实现

基于椭圆曲线的数字签名方案关键模块设计与实现

论文摘要

数字签名是信息时代最重要的技术之一,是实现电子贸易、电子货币、电子购物、电子出版及知识产权保护等系统安全的重要保证。椭圆曲线密码体制(ECC)是目前每比特密钥安全强度最高的一种公钥密码体制。在相同安全强度条件下,椭圆曲线密码体制具有较短的密钥长度,较少的计算量、存储量和较小的带宽等诸多优点。在数字签名等基于椭圆曲线密码体制的应用中,点乘操作耗费了算法最多的执行时间。为了使椭圆曲线密码体制得到更好的应用,提高椭圆曲线上点乘的运算速度就变得非常重要。因此,点乘的快速算法与实现成为了当前椭圆曲线密码体制研究中的热点。本文介绍了国内外关于特征值为2的有限域GF(2m)上椭圆曲线点乘算法方面的相关研究,并在以下方面做了一定的工作:论文首先介绍了ECC的基本数学原理,同时描述了它的相关标准、技术特点和应用范围。接下来针对ECC中涉及的各个运算模块,对硬件设计中所用到的一些特殊算法给出相应的说明,其中包括二进制域上的基本数学运算算法和椭圆曲线上的点乘算法。在此基础上,本文重点设计了一种基于GF(2163)的ECC点乘模块的硬件实现方案。在实现过程中,按照层次化、模块化的思想,对每个层次和模块都进行仿真验证,在确保每个模块的设计都正确后,再进行顶层设计,并完成总体仿真。之后用DC做了ASIC流程的逻辑综合,用ISE做了FPGA设计的综合和布局布线,并根据得到的各性能指标的报告,对设计进行了进一步优化。本文提出的方案有两个特点:一是实现了一种新的单时钟周期、高时钟频率的位并行模乘法器,该乘法器采用Xilinx公司的FPGA芯片XC5VLX330T实现时,能以122MHz的频率在1个时钟周期内完成GF(2163)的乘法运算,面积大约为4033个slice;另一项是对完成点加和倍点的组合算法进行了优化,并采用了预选择技术安排数据流水,实现了迭代期间乘法器满负荷运行,使得每次迭代所需要的时钟周期数由通常的超过10个减少到了本文方案中的6个,从而完成一次点乘运算,只需要1027个时钟周期。最后本文提出的设计与其他的点乘FPGA实现方案进行了比较,结果表明,本文的设计方案完成一次点乘运算需要更少的时间:当用Virtex-4实现时,需时10.70μs;当采用更新的Virtex-5时,甚至只需8.76μs,等效于每秒完成141914次点乘运算。

论文目录

  • 摘要
  • Abstract
  • 第1章 绪论
  • 1.1 课题背景
  • 1.2 本课题研究的目的及意义
  • 1.3 相关技术发展现状
  • 1.3.1 点乘算法研究回顾
  • 1.3.2 点乘计算高性能硬件实现的成果
  • 1.4 本文主要研究内容
  • 第2章 ECC基础知识
  • 2.1 有限域介绍
  • 2.1.1 域运算
  • 2.1.2 存在性和唯一性
  • 2.1.3 素域
  • 2.1.4 二进制域
  • 2.2 二进制域算术
  • 2.2.1 加减法
  • 2.2.2 乘法
  • 2.2.3 多项式平方
  • 2.2.4 约减
  • 2.2.5 求逆和除法
  • 2.3 椭圆曲线算术
  • 2.3.1 椭圆曲线的概念
  • 2.3.2 点的表示与群的运算法则
  • 2.3.3 点乘
  • 2.4 ECC密码协议相关
  • 2.4.1 NIST推荐的椭圆曲线
  • 2.4.2 ECC数字签名算法
  • 2.4.3 ECC算法的安全性
  • 2.5 本章小结
  • 163)域算术运算模块设计与实现'>第3章 GF(2163)域算术运算模块设计与实现
  • 3.1 加法
  • 3.2 约减
  • 3.2.1 约减算法
  • 3.2.2 约减算法的逻辑综合结果
  • 3.3 乘法
  • 3.3.1 马斯雪夫(Mastrovito)乘法器
  • 3.3.2 本设计采用的乘法器
  • 3.4 平方
  • 3.5 求逆
  • 3.5.1 求逆算法
  • 3.5.2 设计与实现
  • 3.5.3 仿真与综合结果
  • 3.6 本章小结
  • 163)域点乘(kP)模块设计与实现'>第4章 GF(2163)域点乘(kP)模块设计与实现
  • 4.1 Montgomery点乘算法
  • 4.2 点乘模块的设计
  • 4.2.1 点加和倍点
  • 4.2.2 坐标恢复
  • 4.2.3 顶层结构
  • 4.3 实验结果
  • 4.3.1 功能仿真
  • 4.3.2 逻辑综合
  • 4.3.3 ISE综合和布局布线
  • 4.4 性能比较分析
  • 4.5 本章小结
  • 结论
  • 参考文献
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  

    基于椭圆曲线的数字签名方案关键模块设计与实现
    下载Doc文档

    猜你喜欢