论文总字数:17891字
摘 要
在高速发展的信息时代,信息安全问题已经成为了亟需解决的难题之一。因此我们提出了一个GF(P)算术的加解密系统。本文主要研究的是GF(2^571)上椭圆曲线密码算法的硬件实现,通过对GF(2^571)上模运算的研究,将所有的模运算转化为两种运算,即模乘和模加,并改进和完成了模乘和模加的运算,此算法具有的优点是面积小、速度快。在完成核心运算点乘的算法设计后设计了点乘模块的电路结构以及点乘模块 FPGA 方案。经过Modelsim软件的仿真得出波形 ,最后完成了加解密系统的功能要求。
关键词:点乘;椭圆曲线加密系统; FPGA
Based on GF (2^571) design of ECC encryption system
ABSTRACT
In the rapid development of the information age, information security has become one of theproblems to be solved urgently. Therefore, we propose a GF (P) arithmetic logic unit the arithmetic method can be 571 for up to 50 MHz clock speed. The main research of this paper is GF (2^571) on the elliptic curve cryptographic algorithms in hardware implementation, through research on GF (2^571) modulo will all die operation into two operations, such as modular multiplication and modular addition, and through the improvement of LSD multiplier had done to simulate the multiplication and modular addition operation. This algorithm has the advantages of small size, high speed. In the algorithm design take the core operation after the design of the circuit structure of multiplication module and multiplication module FPGAscheme. Through the simulation of Modelsim software draw waveform. Finally, through the analysis of the results of the experiment waveform.
Keywords: elliptic curve encryption system;design; FPGA
目录
摘要 I
ABSTRACT II
第一章 绪论 1
1.1研究背景 1
1.2国内外研究现状 1
1.3论文研究方向与论文结构 2
第二章 ECC概述 3
2.1椭圆曲线的基本概念 3
2.1.1椭圆曲线的定义 3
2.2 ECC运算层次 3
2.3 ECC 密码体制的优势 4
2.4 椭圆曲线密码算法设计软件 4
2.4.1 Verilog HDL简介 4
2.4.2 Modelsim简介 4
2.4.3 ISE简介 5
2.4.4 FPGA芯片简介 6
2.4.5 FPGA的设计流程 6
2.5 核心算法的设计 7
2.5.1点乘算法 7
2.5.2基本二进制方法 8
2.5.3冗余编码的二进制方法 8
2.5.4 Montgomery 方法 8
第三章 各个模块的实现及仿真 9
3.1 ECC层次结构 9
3.1.1 ECC总体结构 9
3.2 各个模块的介绍及其实现 9
3.2.1 点乘运算 9
3.2.2 底层运算模块的设计 10
3.2.3硬件实现原理 10
3.3 仿真结果 11
3.3.1 模加模块的仿真 11
3.3.2 模乘模块的仿真 11
3.3.3 模平方模块的仿真 11
3.3.4 模逆模块的仿真 12
第四章 总结 14
4.1 总结与展望 14
致谢 15
参考文献 16
第一章 绪论
1.1研究背景
随着科技的进步,个人电脑及手机的普及使得信息安全问题越来越显得突出,人们对信息安全的要求变得越来越苛刻。因此人们才发现了问题之后就一直在讨论如何解决。最终,研究者们提出了对文件进行加密的解决方案。而加密的算法繁多,本文中研究的算法是椭圆曲线加密算法。椭圆曲线加密(ECC)最早由米勒和Koblitz[1] 在1986年和1987年推出的[2]。它是一种非对称加密系统,可提供同等的安全性的公知的RSA 系统小得多的密钥长度。ECC的基本操作是点的标量乘法,其中所述的是曲线上的点乘以一个标量。一个点的标量乘法是通过计算一系列点加法和点倍增进行。通过他们的几何特性,点添加或通过一系列加法,减法,乘法和它们各自的坐标的分割一倍。点坐标是有限域的元素在黄金或约多项式关闭。因此,模块化操作是必要的。不同的ECC处理器在很多文献中提出。几个ECC系统参数影响的硬件ECC处理器的设计从椭圆曲线向下到底层有限域的上层,变化的系统参数提供了正式的硬件ECC实现一个设计框架是一个挑战。此外,应用公平比较并在文献中提出不同的ECC处理器的基准是一个复杂的过程。
为了确保一个系统的安全,各种密码协议是必需的。这些协议可以以硬件和软件来实现。然而,硬件似乎是最终的选择考虑到安全性,以及效率。的确,硬件实现是在一般更快,提供同时多固有的安全性。在“理想的设计的”硬件应该提供一个可扩展的体系结构,以克服有限的灵活性的公知缺点。在1976年,Diffie和Hellman的引入公钥加密的想法。他们用这个概念来消除需要的一个秘密协议之前交换的机密信息。此外,数字签名被引入,其允许消息唯一地绑定到其发送者。从那时起,许多公共密钥密码系统已经被提出,所有这些系统基于它们的安全上的一些数学问题的难度。最突出的例子是RSA,它的发明者Rivest,Shamir和Adleman的和椭圆曲线密码[3](ECC)的名字命名,由Koblitz和Miller提出。在比较这两种最流行的公开密钥密码系统中,有几个方面需要加以考虑,例如:安全性,密钥的长度,速度和执行问题。为了安全起见,基本的数学问题的硬度是必需的。它指出,ECC提供同等的安全性为RSA为小得多的密钥大小是重要的。其原因是,所有的算法求解在其上的ECC是基于充分指数时间的数学问题。其它益处包括更高的速度,更低的功耗和更小的证书,是在有限的环境特别有用(智能卡,移动电话,寻呼机等)。用于ECC的基本操作是依赖于有效的有限字段乘法点乘,ECC协议常用的有限域是GF(p)和GF(2n)的。用于RSA的基本操作是乘法是在GF(p)的。因此,大量研究的重点是有效和安全的执行模乘于硬件的。
Schaumont和Verbauwhede[4]呈现工程师的视图上的一个安全金字塔形式的安全域。 金字塔形式表示在多层次的抽象的设计空间。加密应用程序的最抽象表示是安全协议的体系结构,其中详细步骤是什么构成了一个安全的通信。下一级表示安全算法。 RSA和ECC是在这个水平。用于RSA和ECC的操作来源于数论,并创建一个新的水平。超越数论的水平,我们碰上了处理执行问题。最后,在底部的部分,我们表达了靶向平台技术方面安全性算法的各个方面。
剩余内容已隐藏,请支付后下载全文,论文总字数:17891字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;