椭圆曲线密码的硬件实现研究毕业论文
2021-03-15 20:34:34
摘 要
随着互联网的快速发展,在日常的行为中,通信的信息量不断加大并需要进行保密通信,但是又由于电子信息技术的进步,信息处理的能力也进一步提高,使得原有的密码系统的可靠性便被削弱从未更加容易被部分的密码研究者或者非法者破解,所以急需更加安全的、快速的加密系统来实现。椭圆曲线密码(ECC)相对于其他的密码体制有着更高的安全性的优势,硬件实现也有着数据处理会更加快速的优势,所以对于ECC用FPGA硬件来实现的研究便有着实在的重要的意义。
本文就椭圆曲线密码(ECC)的硬件实现进行了相关的研究,首先分析了EC的数学理论基础,从而分析ECC的优势之处。其次,介绍基于ECC和椭圆曲线数字签名(ECDSA
)的原理和相应的算法。第三、介绍FPGA硬件的相关知识,包括FPGA的的特性、原理、应用和开发流程,以及部分的硬件描述语言(HDL)的大致介绍。第四、在了解学习FPGA和椭圆曲线的相关部分的理论基础,研究如何通过使用FPGA的硬件来实现相应的ECC的算法,主要包括了乘法和求逆等核心部分的算法实现以保证能正常实现最终的功能,满足设计的要求。第五、利用相关的开发软件和仿真软件来实现对研究成果的理论验证,观察输入输出和对其的分析,并对最后的结果进行总结。
关键字:椭圆曲线密码、FPGA、硬件实现、签名验证
ABSTRUCT
With the rapid evolution in the aspect of the Internet, in the daily behavior, the total amount of communication information is increasing and the need for confidential communication, but also because of the progress of electronic information technology, information processing capacity is further improved, making the original password system Reliability is weakened has never been easier to be part of the password researchers or illegal crack, so the need for a more secure, fast encryption system to achieve. Elliptic Curve Cryptography (ECC) has a higher security advantage than other cryptosystems. The hardware implementation also has a faster advantage in data processing, so there is a real significance for the implementation of ECC hardware with FPGA.
In this paper, the hardware implementation of elliptic curve cryptography (ECC) is studied. Firstly, the mathematical theory of EC is analyzed, and the advantages of ECC are analyzed. Secondly, we introduce the principle of ECC and elliptic curve digital signature (ECDSA) and the corresponding algorithm. Third, the introduction of FPGA hardware-related knowledge, including FPGA features, principles, applications and development processes, as well as part of the hardware description language (HDL) of the general introduction. Fourth, to understand the theoretical basis of learning the relevant parts of FPGA and elliptic curve, we study how to implement the corresponding ECC algorithm by using FPGA hardware, including the algorithm of multiplication and inversion to ensure the normal implementation The ultimate function to meet the design requirements. Fifthly, the relevant development software and simulation software are used to realize the theoretical verification of the research results, observe the input and output and analyze it, and summarize the final results.
Key Words: elliptic curve password, FPGA, hardware implementation, signature verification
目 录
摘 要 I
ABSTRUCT II
第1章 绪论 1
1.1 课题研究背景 1
1.2 课题研究现状 1
1.3 课题研究的内容、目标和意义 2
1.3.1 课题研究内容 2
1.3.2 课题研究目标 2
1.3.3 课题研究意义 2
第2章 椭圆曲线密码体制理论基础 3
2.1 数学基础 3
2.1.1 基本数学概念 3
2.1.2 群理论基础 3
2.1.3 有限域 3
2.2 椭圆曲线数学理论基础 4
2.2.1 椭圆曲线定义 4
2.2.2 椭圆曲线上的运算法则 6
2.3 椭圆曲线密码、数字认证及算法 8
2.3.1 椭圆曲线密码 8
2.3.2 椭圆曲线数字签名 10
第3章 FPGA硬件基础 12
3.1 FPGA基本概念 12
3.2 FPGA的硬件结构 12
3.2.1 FPGA的硬件概念 12
3.2.2 FPGA的最小系统 12
3.3 FPGA的开发流程 13
3.4 硬件描述语言(HDL) 14
第4章 椭圆曲线密码算法的基本运算模块设计实现 16
4.1 模加运算 16
4.2 模乘运算 18
4.2.1 模乘算法 18
4.2.2 模乘硬件实现及仿真 19
4.3 模平方运算 22
4.4 有限域求逆运算 23
4.5 点加运算 25
4.5.1逆点的运算实现及仿真 25
4.5.2 点加运算及仿真 26
4.5.3 倍点运算及仿真 27
4.5.4 点乘运算及仿真 28
第5章 椭圆曲线密码、签名的综合仿真及硬件实现 30
5.1 椭圆曲线密码加密与解密 30
5.1.1 椭圆曲线密码加密 30
5.1.2 椭圆曲线密码解密 31
5.1.3 ECC仿真结果分析 32
5.2 椭圆曲线数字签名与验证 33
5.2.1椭圆曲线数字签名 33
5.2.2椭圆曲线数字验证 34
5.2.3 ECDSA仿真结果分析 37
5.3 硬件实现 37
第6章 结论 40
致 谢 41
参考文献 42
第1章 绪论
1.1 课题研究背景
网络使用的大幅度普及化,人们通过网络可以做很多的事。包括通过网络传递消息,通过网络进行在线交易,其中有敏感的操作也有并不敏感的操作。其中的一些行为是一对一的,对于敏感的操作行为,我们并希望不会有第三方的人员知道通信双方的的沟通的消息,所以有很多的信息需要进行加密后再进行传输。密码学起源比较早,最先应用于军事,后来逐渐普及到民用(商用),随着互联网发展,对密码的需求更高了,使用范围也就更加宽广了。信息技术的不断发展,尤其是Intel的创始人Gordon Moore提出来的Moore's law表明了信息技术发展的速度是非常惊人的,同时使得已有的密码被破解的成本会大幅度降低,最终会使得部分密码也将会不再安全。虽然提升密码长度在一定程度可以大大提高可靠性,但是同时代价也是非常惨重的,会消耗更多的资源,例如存储资源和CPU资源,所以需要普及化更新的、更加高效的密码体制,同时通过利用硬件实现来提高对大量数据的处理,加快速度[1]。然而基于椭圆曲线的密码技术,正能解决这个难题,因为在相同的密钥长度下,椭圆曲线密码却拥有更高的安全性能。
1.2 课题研究现状
椭圆曲线密码(ECC)自1985年被Neal Koblitz 和 Victor Miller 提出来,经过众多的各界科学家、研究者的多年不断研究和努力,ECC得到了很多新的发展,目前最流行的有限域是特征为2的伽罗华域GF()和以素数为模的整数域GF(p),其运算分别在通用处理器和硬件实现上更为有效。椭圆曲线密码体制经过20多年的发展,其理论的标准都更加趋于工业化、标准化。先后经历过众多的公认的标准:1998年的ISO14888-3标准;1999年的ANSI X9.62-1998、ANSI X9.63;以及2000年的IEEE1363-2000和FIPS186-2。在中国国内,于2010年公布了中国版本的ECC标准,即是SM2.
在国际上,有加拿大公司Certicom的椭圆密码技术,已经授权众多的国际大公司使用。在中国,白国强等人[2]解决了ECC的中国标准SM2的集成电路实现难题,为中国的加密发展作出了巨大的贡献。