当前位置:主页 > 科技论文 > 信息工程论文 >

基于FPGA的ECC加解密算法研究及设计

发布时间:2017-09-05 11:33

  本文关键词:基于FPGA的ECC加解密算法研究及设计


  更多相关文章: ECC FPGA 软硬件协同设计 点乘算法 有限素数域


【摘要】:目前商界广泛使用的加密技术是基于大整数因子分解难题的RSA(Rivest Shamir Adleman)公钥密码技术。由于存在亚指数攻击,随着计算机计算能力的增强,RSA只能通过增加密钥长度来提高加密强度。椭圆曲线密码体系[ECQElliptic Curve Cryptosystem)是一种基于椭圆曲线群上的新的公钥密码体系,最新研究表明密钥长度为220比特的ECC加密强度比密钥长度为2048比特的RSA加密强度高。ECC是基于椭圆曲线离散对数难题,与大整数因子分解难题(RSA)相比,ECC具有密钥更短、安全性更高、运算速度更快和所需存储空间更少等优势。软件和硬件都可以实现ECC密码算法,其中软件实现的加密速度和安全级别难以满足信息安全的要求,硬件实现的加密速度和安全级别明显高于软件,能够满足信息安全的要求,但是其实现成本高。本课题采用软硬件协同设计方式,设计实现ECC加解密算法。论文选择有限素数域上的椭圆曲线作为研究对象,首先结合软硬件设计的特点分析ECC加解密算法,合理划分软硬件模块。然后重点研究硬件模块用到的算法,先从理论上对其进行改进,再结合所选FPGA器件提供的硬件资源,设计出速度和面积平衡的硬件电路。点乘运算的性能决定了ECC加解密算法的性能,本文深入分析了常用的几种点乘算法后,提出了一种点乘并行运算算法,该算法支持点加和倍点同时运算。经过深入研究Jacobian射影坐标系下点加算法和倍点算法的数据流特点后,分别设计了一种点加并行运算算法和倍点并行运算算法,该算法支持模乘和模加/减同时运算。基于改进后算法设计的点乘模块,完成一次密钥长度为256bit的点乘运算需要138612个时钟周期,在已查阅文献中本文设计实现的点乘模块运算时钟节拍数最少。最后通过Signal Tap Ⅱ逻辑分析仪完成FPGA硬件电路的板级测试,从而验证本文设计的FPGA硬件电路的功能是否正确。通过上位机测试程序,完成ECC加解密算法的功能测试、性能测试和可靠性测试。测试结果表明:本文设计实现的ECC加解密算法功能正确,能够长时间正常工作,性能和可靠性达到预期目标。其中点乘算法性能为489.8次/s,ECC加密算法性能为219.87次/s,ECC解密算法性能为402.23次/S。连续进行2千万组随机明文加解密运算,运算结果完全正确,FPGA芯片工作温度正常。
【关键词】:ECC FPGA 软硬件协同设计 点乘算法 有限素数域
【学位授予单位】:西安邮电大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TN918.4
【目录】:
  • 摘要3-4
  • ABSTRACT4-8
  • 主要符号表8-9
  • 第1章 绪论9-13
  • 1.1 课题研究背景及意义9-10
  • 1.2 国内外研究现状10
  • 1.3 论文创新点10-11
  • 1.4 论文的主要工作与结构安排11-13
  • 第2章 椭圆曲线公钥密码体制理论基础13-23
  • 2.1 数论相关概念13-14
  • 2.2 有限域简介14-15
  • 2.3 有限域上的椭圆曲线15-17
  • 2.4 椭圆曲线密码算法简介17-21
  • 2.5 本章小结21-23
  • 第3章 椭圆曲线加解密算法总体方案设计23-31
  • 3.1 椭圆曲线密码体制有限域F_(256)上坐标系和参数选取23-24
  • 3.2 椭圆曲线加解密算法分析24-25
  • 3.3 椭圆曲线加解密算法总体方案25-27
  • 3.4 SOPC系统设计与搭建27-29
  • 3.5 本章小结29-31
  • 第4章 硬件模块设计与实现31-57
  • 4.1 有限域F_(256)上基本运算模块设计与实现31-41
  • 4.1.1 模加/减模块设计与实现31-33
  • 4.1.2 模乘模块设计与实现33-36
  • 4.1.2.1 模乘算法比较与改进33-34
  • 4.1.2.2 模乘模块设计与功能仿真34-36
  • 4.1.3 Montgomery数据转换模块设计与实现36-38
  • 4.1.4 模逆模块设计与实现38-41
  • 4.1.4.1 模逆算法比较与改进38-40
  • 4.1.4.2 模逆模块设计与功能仿真40-41
  • 4.2 点乘模块设计与实现41-52
  • 4.2.1 点乘算法比较与改进41-43
  • 4.2.2 倍点算法与点加算法改进43-46
  • 4.2.3 Jacobian射影坐标向仿射坐标转换46-47
  • 4.2.4 点乘模块设计47-50
  • 4.2.5 点乘模块功能仿真50-52
  • 4.3 Hash模块设计与实现52-55
  • 4.3.1 Hash模块设计52-55
  • 4.3.2 Hash模块功能仿真55
  • 4.4 本章小结55-57
  • 第5章 软件模块设计与实现57-67
  • 5.1 NIOS Ⅱ软核程序设计57-62
  • 5.1.1 Hash消息填充NIOS Ⅱ软核程序设计57-58
  • 5.1.2 KDF密钥派生函数NIOS Ⅱ软核程序设计58-59
  • 5.1.3 ECC加密与解密算法NIOS Ⅱ软核程序设计59-62
  • 5.2 上位机测试程序设计62-66
  • 5.2.1 上位机数据包格式定义62-63
  • 5.2.2 功能测试程序设计63-64
  • 5.2.3 性能测试和可靠性测试程序设计64-66
  • 5.3 本章小结66-67
  • 第6章 FPGA板级测试67-73
  • 6.1 硬件模块FPGA板级测试67-68
  • 6.1.1 点乘模块FPGA板级测试68
  • 6.1.2 Hash模块FPGA板级测试68
  • 6.2 NIOS Ⅱ软核程序FPGA板级测试68-71
  • 6.2.1 ECC加解密算法功能测试68-70
  • 6.2.2 ECC加解密算法性能测试和可靠性测试70-71
  • 6.3 ECC加解密算法性能比较71
  • 6.4 本章小节71-73
  • 第7章 结论与展望73-75
  • 7.1 结论73
  • 7.2 展望73-75
  • 参考文献75-77
  • 攻读学位期间取得的研究成果77-79
  • 致谢79-80

【相似文献】

中国期刊全文数据库 前10条

1 刘富星;高辉;;常用加解密算法及其时间分析[J];科技信息(科学教研);2008年01期

2 卢君明,舒妍,林争辉;基于DSP的高速RSA加解密实现[J];计算机应用与软件;2002年01期

3 朱明海;RC5加解密算法的C#实现[J];电脑编程技巧与维护;2005年06期

4 魏军;杨秀芝;;基于FPGA的IDEA加解密算法的研究和实现[J];有线电视技术;2009年11期

5 杨凤霞;;基于VB的数据加解密算法的实现[J];软件导刊;2006年13期

6 石林 ,迟增晓;用VB实现数据的加解密算法[J];电脑知识与技术;2003年31期

7 刘红;;试论RSA技术的应用[J];价值工程;2013年31期

8 朱明海;;对称加解密算法RC6的C#实现[J];电脑编程技巧与维护;2008年08期

9 朱明海;;C#的IDEA加解密算法[J];电脑编程技巧与维护;2007年03期

10 张德学;郭立;傅忠谦;;一种基于FPGA的AES加解密算法设计与实现[J];中国科学技术大学学报;2007年12期

中国重要会议论文全文数据库 前1条

1 张开;陆洪毅;张威;;RC4加解密算法的硬件实现[A];第七届中国通信学会学术年会论文集[C];2010年

中国硕士学位论文全文数据库 前6条

1 陈俊杰;基于FPGA的ECC加解密算法研究及设计[D];西安邮电大学;2016年

2 胡振波;Feistel结构加解密算法的高效硬件实现方案研究[D];上海交通大学;2010年

3 李大江;基于FFTT的非对称加解密算法的硬件设计[D];山东科技大学;2011年

4 刘文兵;一种FFTT非对称加解密算法的研究与实现[D];山东科技大学;2011年

5 秦宗庆;基于FPGA的RFID数据加解密算法研究[D];广东工业大学;2014年

6 李显龙;基于SD总线的FPGA加解密算法实现[D];华南理工大学;2012年



本文编号:797739

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/xinxigongchenglunwen/797739.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户db86c***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com