(论文 页数:41 字数:14124 带程序)前 言 根据密钥类型的不同,我们将现代密码技术分为两类:一是对称加密体系,另一类是公开密钥体系。其中公开密钥(以下简称公钥)体系的加密密钥和解密密钥是不同的,并且加密密钥可以公开,使得密钥的管理和分配很简单。公钥体系的特点使得其十分适合目前网络的最重要应用――电子商务,例如电子商务中经常需要使用的数字签名,数字水印利用公钥体系可以很容易实现。因此,自从近年来公钥体系受到越来越多的研究者的关注,发展十分迅速,专家们提出了许多种公钥加密方法,如RSA,DSA和ECC,它们的安全性都基于复杂的数学难题,其中目前最受关注的当属基于离散对数问题的椭圆曲线加密。 1985年,Neal Koblitz 和V.S.Miller提出了基于椭圆曲线群上的离散代数问题的公钥密码机制,椭圆曲线密码机制(简记为ECC) a ECC与RSA比具有密钥长度短、安全性更高的特点,譬如163位的ECC密钥长度能够提供1024位RSA密钥长度的安全性,571位的ECC密钥长度能够提供15360位RSA密钥长度的安全性。ECC是目前所有公钥密码系统中单位密钥安全性最高的密码系统。因为ECC的密钥较短,所以运算耗费的资源较少,所以目前ECC广泛应用于无线连接设备中譬如PDA, smart cards等等。目前,欧洲、俄罗斯、韩国和中国等等都己经或正在将ECC作为国家密码标准。 椭圆曲线密码系统的基域包括素域GF(P)和二进制域GF( ),椭圆曲线密码算法的实现依赖于基域上基本运算的实现。二进制域GF( )上的基本运算相对于素域GF(P)来说,最大的特点就是“无进位”。这个特点使得在硬件实现上有限域GF( )上椭圆曲线密码系统占用系统资源更少、效率更高。因此最近几年有限域GF( )上基本运算的硬件实现、有限域GF( )上椭圆曲线密码系统的硬件实现都得到了充分的研究。 相对于软件实现的椭圆曲线加密/解密体制,使用硬件的方法实现椭圆曲线有以下优势: (1) 硬件系统可以提供比软件系统更高的安全性 通常情况下,软件系统不仅要直接面对非法攻击者,随时承受大量的非法攻击,而且软件系统抵抗攻击的能力也相对较弱。而经过仔细设计的硬件系统要比软件系统强健,在硬件系统中内置某些机密信息,攻击者无法篡改甚至无法读取。一般硬件系统在有人看护情况下能提供与加密算法同等的安全性能,精心的设计可以做到甚至在无人看护的情况下也能防止大量攻击。
目 录
前 言 1 第1章 密码学基础 3 1.1 密码学的基本概念 3 1.1.1 密码系统的组成 3 1.1.2 密码学的代数基础 4 1.2 密码体制 4 1.2.1 密码学分类 4 1.2.2 公钥密码加密系统 4 第2章 椭圆曲线加密、解密理论 6 2.1 椭圆曲线 6 2.1.1 椭圆曲线定义 6 2.1.2 椭圆曲线的运算规则 6 2.2 素域和二进制域上的椭圆曲线 7 2.2.1 素数域 7 2.2.2 二进制域 7 2.2.3 的多项式表示法及乘法运算 8 2.2.4 素数域上的椭圆曲线 11 2.2.5 二进制域上的椭圆曲线 11 2.2.6 二进制域上的椭圆曲线举例 11 2.3 椭圆曲线密码系统 12 2.3.1 椭圆曲线的点乘 12 2.3.2 椭圆曲线离散对数问题 13 2.3.3 椭圆曲线加解密 13 2.3.4 安全的椭圆曲线 14 2.3.5 椭圆曲线加密算法与其他公钥密码体制的简单比较 15 第3章 二进制域椭圆曲线加密设计实现 16 3.1 VERILOG语言简单介绍 16 3.2 椭圆曲线加密算法相关模块设计 16 3.2.1 椭圆曲线加法算法介绍及加法模块程序设计 17 3.2.2 椭圆曲线乘法算法介绍及乘法模块程序设计 18 3.2.3多项式的平方算法介绍及多项式的平方模块程序设计 19 3.2.4 椭圆曲线求逆算法介绍及求逆模块程序设计 21 3.3 椭圆曲线加密算法设计 24 第4章 总 结 27 附录:程序 29 致 谢 38 参考文献 39
|