> 硕士毕业论文 > 30000字硕士毕业论文双域椭圆曲线协处理器体系结构的设计方法与探讨

30000字硕士毕业论文双域椭圆曲线协处理器体系结构的设计方法与探讨

论文类型:硕士毕业论文
论文字数:30000字
论点:密码,算法,椭圆
论文概述:

第一章绪论 1.11.1.1课题的研究背景、意义研究背景近年来,公钥密码加密系统以其便利的密钥分发管理、高度的安全性和易于实现数字签名算法等特性,逐渐在军用、商务政务等地方取得了广

论文正文:

双域椭圆曲线协处理器体系结构设计方法与探讨

第一章绪论        1.11.1.1课题的研究背景、意义研究背景近年来,公钥密码加密系统以其便利的密钥分发管理、高度的安全性和易于实现数字签名算法等特性,逐渐在军用、商务政务等地方取得了广泛的应用。而在公钥密码加密系统中,NealKoblitz[}]和VictorMiller分别提出的椭圆曲线密码体制又以密钥长度小,密钥单位比特安全强度高f31,计算速度快的特点,必将取代RSA算法,成为通用的公钥加密算法。这使得国内外许多公司、大学甚至个人都对它产生了浓厚的研究兴趣。椭圆曲线的吸引人之处在于提供了由“元素”和“组合规则”来组成群的构造方法,即利用椭圆曲线上的点构成Abelian加法群构造离散对数问题。基于特征为2的有限域GF(2\")和素数域GF(p)上的椭圆曲线基本运算单元都比较容易构造,并且n在130位到400位之间的实现也不复杂,所以可以利用基于有限域的椭圆曲线实现数据加密、密钥交换和数字签名等密码方案。椭圆曲线密码算法的实现目前主要是通过专用集成电路设计密码芯片或者采用微处理器方式用指令完成。采用专用集成电路ASICCApplicationSpecialedIntergatedCircuit)设计专用密码芯片是实现密码处理的一种主要方式。专用密码芯片能够直接针对一种或几种特定的算法进行硬件优化,密码处理性能高,可以以最小的硬件资源获得最高的密码处理性能,适用于大量应用成熟算法且算法固定的场合。但是,专用密码芯片在具有极高的处理性能的同时也存在一些不足。       芯片投产后,结构不能修改,无法进行二次开发。导致芯片兼容性差,不易扩展。一旦密码算法或密码标准发生改变,固定算法的专用密码芯片要想支持新的算法、已有算法的修改就必须重新设计生产,在设计、检测、生产等方面重复投资,使企业处于相当被动的地位。因此,提高专用密码芯片的通用性、扩展性越来越迫切,并逐渐成为目前研究开发的新方向。通用微处理器是实现密码处理的另一主要方式。通用微处理器具有软件可编程特性,具有很大的灵活性,其可以利用指令集作为硬件与软件(编程)的固定接口[[s]。通过这些统一规整的编程接口,一些不同的密码算法可以通过调用指令加以完成,使系统具备更多的灵活性。但是通用微处理器中没有针对密码算法的特定运算指令,也没有对密码算法进行结构优化,即使有,也仅仅是扩展了部分专用指令,优化效果相当有限。通用微处理器并不能从根本上满足密码算法的速度要求,在速度上与专用密码芯片不能同日而语。而且,微处理器中的控制逻辑并不都是密码算法所必需的,造成了一定的资源浪费。因为以上两种实现方式的缺陷,密码协处理器以其高性能和灵活性逐渐发展了起来。密码协处理器实质上是一种专用指令集处理器(ASIP:ApplicationSpecificInstruction-SetProcessor),即一类针对某类特定应用的专用指令系统的微处理器。       ASIP有专用指令集,设计者和最终用户可以通过软件开发平台编写出专门的处理程序在ASIP上运行,从而获得较好的性价比;同时,一旦应用发生改变,也可以通过迅速更新软件或者改变指令构造来适应应用的变化,特别适合使用在运算相对较大,控制相对简单的密码算法处理上。不可否认,专用指令密码处理器在性能上距离专用集成电路还有很大差距,设计适合密码处理特点的ASIP,通过加强ASIP数据通路的计算能力、简化控制通路的复杂度,使其更加匹配密码算法处理特点,达到更高的处理效率,形成高效、高灵活性的密码专用指令集处理器,是十分必要的。表1.1给出了三种计算平台的密码处理性能与灵活性的比较:表1.1三种密码处理平台的密码处理性能与灵活性比较┌─────┬──────┬─────────┬──────┐│计算平台│通用微处理器│专用指令密码处理器│专用密码芯片│├─────┼──────┼─────────┼──────┤│、灵活性-│最高│高│低│├─────┼──────┼─────────┼──────┤│处理性能│低│中│最高│└─────┴──────┴─────────┴──────┘从表中我们可以看到,依赖某一技术路线,无法从根本上缓解密码处理的灵活性与性能之间的矛盾。       尽管专用指令密码处理器设计技术使微处理器在密码处理性能上有了一定程度提高,但是仍然无法满足现代通信网络对密码处理实现方式灵活性和高速性的要求,迫切需要一种能够实现高速处理,满足不同密码算法处理需要的密码处理新技术与新模式。1.1.2研究内容密码算法是现代安全应用的基石,也是信息系统安全的根本所在,高效灵活地实现的密码算法是密码工程的重要课题,灵活性与高效性是密码处理追求的两大主要目标[f61h10论文力图从专用指令微处理器体系结构设计和双域椭圆曲线的并行调度算法入手,研究椭圆曲线密码算法性能和灵活性的问题。论文的主要研究内容有:(1)分析目前现有的椭圆曲线密码算法的各种实现方式研究椭圆曲线密码处理器的结构,首先必须要对目前现有的专用指令密码微处理器体系结构有一定的了解,研究各体系结构自身的特点,并结合椭圆曲线密码算法的实现方式,研究各体系结构对椭圆曲线密码算法的适应性,找到最适合椭圆曲线密码算法的体系结构。(2)研究椭圆曲线密码算法中并行处理的可开发程度及适应并行处理的体系结构要提高椭圆曲线密码协处理器的性能,可以通过改进运算算法、提高基本运算单元速度、进行流水设计、增加运算并行性等方法。本文主要研究椭圆曲线的实现算法中,在哪些层次能够较好地进行并行性开发,即在增加较少资源开销的情况下,最大幅度地提高系统性能。并根据现有并行微处理器的体系结构,找到一种适合椭圆曲线密码算法并行调度的体系结构。(3)设计椭圆曲线密码算法指令集系统根据椭圆曲线并行调度特性及其体系结构,结合结构特征、访存特性、计算粒度、两  参考文献[1]  Diffie,W.,and Hellman,M. New directions in Cryptography[J],IEEE Tran.-IT,VoI. IT 22, No,6, 1976,pp.644-654[2]   Odlyzko,A.,Discrete Logarithms in Finite Fields and Their Cryptographic Significance [C], Eurocrypt\' 84,LNCS 209,1985,pp.244-314[3〕白国强.椭圆曲线密码及其算法研究【D].西安电子科技大学博士论文.2000.[4]   Mugino Saeki. Elliptic Curve Cryptosystems[D]. School of Computer Science McGill University, Montreal. February 1997.   M. Emst, S. Klupsch, O. Hauck, and S. A. Huss. Rapid prototyping for hardware acceleratedelliptic curve public-key cryptosystem[C], Proc. of 12th Internat. Workshop on Rapid System Prototyping, 王尚平,侯红霞,李敏.基于椭圆曲线的前向安全数字签名方案[[J].计算机工程与应用.2006,18.f71王红.基于椭圆曲线的可转移不可否认的数字签名方案【D].大连理工大学硕士论文.2002.殷骏.基于椭圆曲线的数字签名及其应用研究【D].南京信息工程大学硕士论文.2000. [fesse] Lars Elmegaard-Fessel.Efficient Scalar Multiplication and Security against Power Analysis inCryptosystems     J.E.Smith, S.Weiss. PowerPC 601 and Alpha 21064: a tale of two RISCs. Computer[J], June 1994,Volume(27):46-58.   ANSI-X9.62-1998[S]: Public Key Cryptography for Financial Service Industry: The Elliptic CurveDidital Signature Algorithm (ECDSA). American Bankers Association, 1998.Working Draft.   ANSI-X9.63-1998[S]: Public Key Cryptography for Financial Service Industry: Key Agreementand Key Transport Using Elliptic Curve Cryptography, American Bankers Association August 1998.Working    Wei-Chang Tsai and Sheng-Jyh Wang. A systolic architecture for elliptic curve cryptosystems[C],Proc. of 5th Internat Conf. On Signal Processing Proceedings, 2000,vo1.1, pp.591-597                                               摘要 7-8 Abstract 8 第一章 绪论 9-14     1.1 课题的研究背景、意义 9-11         1.1.1 研究背景 9-10         1.1.2 研究内容 10-11         1.1.3 研究意义 11     1.2 论文的研究思路、结构与创新点 11-14         1.2.1 研究思路 11-12         1.2.2 论文结构 12-13         1.2.3 创新点 13-14 第二章 双域ECC协处理器设计综述 14-25     2.1 椭圆曲线密码体制的基本特征分析 14-22         2.1.1 椭圆曲线密码算法 14-16         2.1.2 椭圆曲线密码算法的相关参数 16-17         2.1.3 椭圆曲线密码处理的基本特征及研究方向 17-19         2.1.4 椭圆曲线密码体制 19-22     2.2 ECC实现概述 22-24         2.2.1 基于通用微处理器的ECC实现方式 22         2.2.2 固定参数 ECC密码芯片 22-23         2.2.3 参数可配置 ECC密码芯片 23         2.2.4 ECC密码协处理器 23-24     2.3 本章小结 24-25 第三章 ECC协处理器并行处理研究 25-46     3.1 概述 25-27         3.1.1 ECC运算层次 25-26         3.1.2 ECC并行处理 26-27     3.2 二进制域上点乘算法并行性研究 27-34         3.2.1 点加运算调度 29-30         3.2.2 倍点运算调度 30-31         3.2.3 坐标变换调度 31-34     3.3 素数域上点乘算法并行性研究 34-43         3.3.1 点加运算调度 35-39         3.3.2 倍点运算调度 39-43     3.4 椭圆曲线并行操作结构设计 43-45         3.4.1 并行微处理器体系结构 43-44         3.4.2 并行协处理器设计思路 44-45     3.5 本章小节 45-46 第四章 ECC密码协处理器指令系统设计 46-58     4.1 概述 46-47         4.1.1 指令设计 46         4.1.2 指令操作 46-47     4.2 模加/减指令 47-49         4.2.1 模加/减运算 47-48         4.2.2 模加/减指令设计 48-49     4.3 模乘指令 49-51         4.3.1 模乘运算 49-50         4.3.2 模乘指令设计 50-51     4.4 模逆指令 51-52         4.4.1 模逆运算 51         4.4.2 模逆指令设计 51-52