基于素数域的椭圆曲线密码的VLSI设计方法研究
发布时间:2017-09-14 22:16
本文关键词:基于素数域的椭圆曲线密码的VLSI设计方法研究
【摘要】:点乘运算是椭圆曲线公钥密码体系中的核心运算,本文针对素数域上椭圆曲线点乘运算展开讨论和研究,主要工作有:对某文献中提出的一种模乘算法进行优化,改进之后的算法与原算法相比,每次循环运算中共减少了两次比较、两次减法以及一次移位操作,并以此改进算法为基础,根据电路中加减法器设计的不同给出了素数域上256位模乘器的多种实现方案。以一种改进后的扩展的欧几里得算法为基础,设计模逆电路的硬件结构,将原有的复杂的取模运算转换为加、减以及移位运算进行实现,在设计中直接使用减法运算代替先比较后相减的操作。该电路也可以实现模除运算。根据点乘运算的三级运算结构,将点乘电路分为三级模块,点乘顶层模块、点加倍点模块以及素数域算术运算模块。本设计以改进后的二进制方法为实现算法,进行点乘顶层模块的电路设计。本设计的开发平台是Xilinx公司生产的VirtexII PRO XC2VP30芯片,使用的EDA工具为ISE 9.1。测试结果表明,当数据位长达到256位时,点乘电路的最高频率可以达到71.426MHz,功耗达到685mW,本设计使用了13940个Slices和5433个Flip Flops。由评估报告可以看出本设计在功耗、速率和资源占用情况上均有很大的优势。
【关键词】:信息安全 椭圆曲线 点乘 素数域 FPGA
【学位授予单位】:青岛科技大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TN918.2
【目录】:
- 摘要3-4
- ABSTRACT4-7
- 1 绪论7-16
- 1.1 课题的研究背景和意义7-8
- 1.2 公钥密码学概述8-11
- 1.3 ECC的研究现状11-14
- 1.4 本文所做的工作以及章节安排14-16
- 2 椭圆曲线的理论基础16-27
- 2.1 椭圆曲线的数学理论基础16-18
- 2.1.1 群的概念16-17
- 2.1.2 环的概念17
- 2.1.3 域的概念17-18
- 2.2 椭圆曲线概述及椭圆曲线上点的运算规则18-21
- 2.2.1 椭圆曲线概述18
- 2.2.2 椭圆曲线上的点加运算18-21
- 2.2.2.1 素数域上椭圆曲线点的运算19-20
- 2.2.2.2 二进制域上的椭圆曲线及其运算20-21
- 2.2.3 椭圆曲线上的点乘运算21
- 2.3 椭圆曲线离散对数问题21-23
- 2.4 协议层应用23-26
- 2.4.1 椭圆曲线数字签名ECDSA23-24
- 2.4.2 椭圆曲线数据加密体制24-25
- 2.4.3 椭圆曲线密钥交换体制25-26
- 2.5 本章小结26-27
- 3 素数域算术运算研究27-43
- 3.1 有限域的基本运算理论27-29
- 3.1.1 素数域27-28
- 3.1.2 二进制域28-29
- 3.2 素数域上的基本运算研究29-42
- 3.2.1 素数域模加运算29-30
- 3.2.2 素数域模减运算30
- 3.2.3 素数域模乘运算30-37
- 3.2.3.1 几种经典的模乘算法30-33
- 3.2.3.2 素数域模乘算法的优化33-36
- 3.2.3.3 约减算法36-37
- 3.2.3.4 整数平方37
- 3.2.4 素数域求逆运算37-42
- 3.2.4.1 扩展的整数Euclidean算法38-42
- 3.2.4.2 Montgomery求逆算法42
- 3.3 本章小结42-43
- 4 点乘运算研究及其电路结构设计43-62
- 4.1 ECC中的点加和倍点运算43
- 4.2 ECC中的点乘算法简介43-47
- 4.2.1 二进制方法44-45
- 4.2.2 非相邻型NAF方法45-47
- 4.3 电路性能的影响因素47-48
- 4.4 点乘系统的三级电路结构48-50
- 4.5 点乘模块的电路结构50-51
- 4.6 点加和倍点模块的电路结构51-53
- 4.7 素数域算术运算模块的电路结构53-61
- 4.7.1 模乘运算电路设计54-58
- 4.7.1.1 模乘运算模块整体框图54
- 4.7.1.2 外部信号说明54-55
- 4.7.1.3 体系结构设计55-57
- 4.7.1.4 状态机的实现57-58
- 4.7.2 模逆运算的电路结构58-61
- 4.7.2.1 模逆运算模块整体框图58-59
- 4.7.2.2 外部信号说明59
- 4.7.2.3 体系结构设计59-60
- 4.7.2.4 模逆状态机的实现60-61
- 4.8 本章小结61-62
- 5 Verilog RTL模型的建立与FPGA实现62-71
- 5.1 Verilog模型的建立与功能仿真62-66
- 5.1.1 点乘系统各模块的verilog模型建立62-63
- 5.1.2 素数域运算模块功能仿真结果63-65
- 5.1.3 顶层模块功能仿真结果65-66
- 5.2 FPGA实现与验证66-68
- 5.2.1 本设计的FPGA测试系统66-67
- 5.2.2 FPGA电路测试结果67-68
- 5.3 电路测试结果分析与比较68-70
- 5.4 本章小结70-71
- 结论71-73
- 参考文献73-78
- 致谢78-79
- 攻读学位期间发表的学术论文目录79-81
- 符号说明81-83
- 附录83-91
【参考文献】
中国期刊全文数据库 前10条
1 王榕国;;数字签名技术研究[J];数字技术与应用;2015年02期
2 李浩正;杨璇;;基于地理坐标系组网雷达目标速度转换方法研究[J];火控雷达技术;2014年01期
3 赖忠喜;张占军;陶东娅;;椭圆曲线底层域快速算法的研究[J];计算机工程与应用;2014年03期
4 于璐;;WIFI无线登录安全性研究[J];软件;2013年12期
5 王宏俊;丁群;;RSA公钥算法研究与快速模幂运算设计[J];黑龙江大学工程学报;2013年02期
6 周学广;;椭圆曲线密码体制应用及脆弱性量子分析[J];吉首大学学报(自然科学版);2012年03期
7 桂金瑶;陈大军;;基于FPGA的多项式基下二进制域ECC点乘设计[J];微型电脑应用;2010年01期
8 程多明;霍成义;郑邦毅;;认证和密钥协商协议的分析与比较[J];甘肃科技;2009年22期
9 段有艳;;基于Xilinx ISE软件平台用VHDL实现FPGA电路设计[J];昆明冶金高等专科学校学报;2006年03期
10 英海燕;王友波;韩月秋;;基于FPGA椭圆曲线密码体制的研究[J];计算机工程与设计;2006年05期
,本文编号:852643
本文链接:https://www.wllwen.com/kejilunwen/xinxigongchenglunwen/852643.html