椭圆曲线在密码学中的应用毕业论文.doc
《椭圆曲线在密码学中的应用毕业论文.doc》由会员分享,可在线阅读,更多相关《椭圆曲线在密码学中的应用毕业论文.doc(34页珍藏版)》请在三一办公上搜索。
1、椭圆曲线在密码学中的应用毕业论文1 前 言密码学是一种非常古老但同时又很年轻的科学,为什么这样讲呢,因为大约从人类社会开始出现战争的时候密码就产生了,而后逐渐地发展形成了一门学科1,然而到今天为止学者对于密码学的研究仍在继续,所以说密码学既古老又年轻。密码学的出现和成长都与科技飞速发展及各类大小战争脱离不了关系,在它们的刺激下密码学逐步成长并渐渐成熟,其中战争发挥了巨大的作用,直接地积极推进密码学的快速发展。密码学普遍被认为是数学的一个分支,而椭圆曲线作为其中的一种数学研究对象也有大概一百多年的历史了,并随着密码学的发展特别是之后公开密钥密码学的出现及发展而大放异彩,自此开始了从理论知识走向实
2、际应用的道路。 现在国际上比较时髦的密码体制也就是我们说的主流密码有:基于大整数因子分解困难的问题而设计的RSA密码体制、基于离散对数问题的困难性而设计的ELGamal密码体制、还有基于椭圆曲线离散对数问题的困难性而设计的椭圆曲线密码体制1。本文主要是在前人的基础之上,对密码学中的一个分支即椭圆曲线密码学进行相关的研究讨论。本文的框架结构是:第一部分是前言;第二部分主要介绍密码学的基本概念以及分类。比方说如果按照历史的发展时间来分类,可以将其划分成古典密码和现代密码;而按照密码学的发展历程来看,又可以将其划分成对称密码和非对称密码1,其中公开密钥密码就属于非对称密码,比如使用较为广泛的RSA算
3、法以及本文将着重研究讨论的椭圆曲线密码算法;第三部分则是对椭圆曲线进行介绍,椭圆曲线并不是我们通常认为的椭圆图形的曲线,而是在平面上光滑的三次曲线;在第四部分中介绍的内容是本文的核心,也就是基于椭圆曲线的密码体制,而这个密码体制主要由椭圆曲线上点的算术运算决定,该算术运算则是依据这条椭圆曲线所依靠的有限域的算数运算来进行定义的2;第五部分介绍了椭圆曲线密码体制的应用同时也是本文着重讨论的部分,其中在电子商务中的应用是最实用的,另外还有智能卡、数字签名、指纹识别等领域的重要应用;最后就是对椭圆曲线密码学的未来发展给予总结并阐述自己的见解和看法。2 密码学概述2.1 密码学的基本概念及密码体制2.
4、1.1 密码学基本概念密码学可以被简单的定义为设计密码和分析密码以保证在不安全信道上的安全通信,由于密码学的应用原理与数学理论知识息息相关,所以也可以说密码学是数学技术中的一种。其实密码学可以简单的理解为将已知的消息进行伪装,方便保护消息使得没有得到授权的人,无法截获信息理解消息的真实含义。为避免这种情况发生可以将数据消息进行一种或几种可逆的数学运算,当完成一次或多次的运算之后就完成了对信息的伪装过程也就是加密过程,最初的原始消息(message)被称为明文(plaintext),通过某种方法一般都是数学运算将其伪装处理后的数据消息叫做密文(ciphertext),伪装隐藏即数据信息处理的过程
5、被称为加密2(encrypyion),与之相对应的是解密(decryption)过程:将密文经过与加密过程中相逆运算的变换,也就是处理密文信息消除它的伪装隐藏之后恢复出原始的明文消息2。其中加解密的过程都需要在密钥(key)的控制下进行,所以密钥是加密和解密的关键所在1。2.1.2 密码体制一种密码体制也可以称为一个密码系统,它一般都是由五个部分构成:明文空间(全体明文的集合,用来表示),密文空间(全体密文的集合,用来表示),密钥空间2(全体密钥的集合,用来表示),加密算法(到的变换由来表示)和解密算法(到的变换由来表示)。其中每个密钥都是由解密密钥和加密密钥构成,即。对于具体的密钥,加密算法
6、就会确定一个加密变换,解密变换就是加密变换的逆交换。明文空间中的每个明文都可以在密钥的控制下通过加密算法来加密成密文,即,同样地在密钥的控制下通过解密算法将密文解密出来同一个明文2,即。图1-1表明了这个过程。明文密文明文加密密钥解密密钥加密算法解密算法安全通道图1-1 密码体制如果密钥和相等或者通过其中的一个非常容易推出另外一个的话,就称其为单密钥密码体制或者是对称密码体制也可称为传统密码体制,反之就称为双密钥密码体制2。还有一种情况是即使将加密密钥公开也无法在计算上推出解密密钥,这样就算公开了加密密钥也不会危及到解密密钥的安全,这种公开了加密密钥的体制称为公开密钥密码体制,这也是密码发展历
7、史上的一个里程碑。2.2密码学的分类密码学可以分为密码编码学和密码分析学,而最开始出现的时候是用于战争中,之后便主要应用在军事、外交及政治等相关部门。而除了应用在传统的例如保密通信、安全信息传递外,现如今计算机的操作系统、网络系统、应用系统及数据库的安全保密问题也都成为了密码学研究的新方向。从密码学的成长历程来看,可以将密码学分成三个在逐渐变得成熟的阶段:首先是手工加密阶段,然后发展成经典加密阶段也就是使用密码机进行加密,最后就是现在的计算机加密阶段3,其实还有一个阶段是位于经典加密之后,出现了使用一种很少人使用的语言加密方式,本质上就是定义一种新的语言作为密码语言,但是由于这种密码的难解性以
8、及不能普遍使用的特点导致其并没有广泛流传。而如果依据在使用过程中加密算法是否会发生变化来划分,又可以将密码体制分为变化算法密码体制及固定算法密码体制。如果在把明文加密成为密文的过程中加密算法是一成不变的,那么就有,其中是加密算法,是明文,是密钥,是加密后的密文,此时就将其称为固定算法密码体制;反之,如果在加密的过程中加密算法是不断变化的,那么就有,称这种密码体制为变化算法密码体制2。由于加密算法在加密的过程中时受到密钥的控制可任意不断地变化的,所以这也就极大地提高了密码的强度,未来的密码体制不断变化,如果能够演变成为一种逐渐变强的可以自己发展的密码就称其为演化密码。还有一种分类也是最广为流传的
9、分类方法就是将密码从时间的维度上划分,可以分为古典密码和现代密码,古典密码中许多的密码在现在看来都是非常不安全的,但是设计编制古典密码的基本思想对现代的密码还是有很多启发的。下面简单的介绍几种古典密码和现代密码。2.2.1 古典密码置换密码的应用原理是将明文中的字母通过不同的变化方法重新进行排列,明文中的字母本身是不会发生改变的,但原本所在的位置产生了变化3。最简单的就是将全部的字母顺序都倒过来重新排列,再根据明文中字母固定的长度将其划分成相同长度的一组组字母作为密文。复杂一点的就是将明文按照某一种变化的顺序将明文中的字母重新排列成一个矩阵,再用另外一种不同的变化顺序选择矩阵中的字母,然后进行
10、排列形成密文,最后按照固定的长度划分成与原文对应的字母组作为密文3。代替密码的加密需要使用一个或多个密文的字母表,也就是说先架构一个这样的密文字母表,然后使用这个表将明文中的字母替换成表中的字母形成密文。密文中字母及其组成的字母组都不再是原来明文中的字母和字母组,但是字母及其组成的字母组的位置并没有改变,只是本身改变了。根据构架出的并使用的密文字母表的个数,将代替密码分为单表代替密码和多表代替密码,其中单表代替密码就是通过使用一个密文的字母表将需要加密的字母替换形成密文,由此又可以分为四种密码,首先是加法密码,利用密文字母表把明文中的字母按照密文字母表循环的向某个固定方向移动某个固定的位数之后
11、得到密文3;其次是乘法密码,就是通过某个映像函数将二十六个字母互相替换后得到相应的密文字母表;第三种是仿射密码,就是将前两种替换密码组合在一起,使加法密码和乘法密码结合在一起,可以构造更多更复杂的多项式密码;最后一种就是密钥词语代替密码,选择一个词语或者词组作为密钥,然后将密钥中一样的字母删除,将剩余的字母放在矩阵的第一行,再从明文字母表中删去密钥,即现在矩阵的第一行字母,余下字母也写入矩阵的其它行,再按照某一个顺序将构造的矩阵中的字母输出构成密文字母表3。而多表代替密码就是不再单一的使用一个密文字母表而是转而使用多个密文字母表,同时也就提高了密码强度。而多名代替密码的出现则是为了抵抗分析攻击
12、中的频率攻击,显而易见的方法就是讲密文中字母的频率拉平。通常使用的有用字母替换的Vigenre方阵以及使用数字替换字母的方法,因为选取是随机的,所以替换后密文的字符频率将会是持平的也就是说增强了密码的强度及安全性。代数密码就是将密码的密文、密钥和明文都用二元数字的序列表示,也就是说代数密码其实是属于序列密码的,它有一个非常突出的优点就是它的加密算法和解密算法是相同的一个运算。2.2.2 现代密码学在古典密码之后出现的就是将要介绍的现代密码学了,按照密钥是否公开进行分类可以将现代密码分为对称密码和非对称密码2。下面详细介绍对称密码中的分组密码和非对称密码中的公钥密码2。2.2.2.1对称密码通过
13、使用不同的密钥以及对明文的差别处理方法,我们可以划分为序列密码和分组密码两种密码体制。序列密码是将密钥和明文均划分成以位(bit)或字符为单位的序列,然后用密钥序列里对应的分量将明文序列中每一位或每一字符加密3,即,和,其中的。而分组密码就是将明文的数据信息划分为明文块,通常这些明文块中每一部分都含有若干的字符,使用同一个密钥对每个明文块进行加密,即:其中。序列密码体制进行加密的是一个比特或者一个字符,分组密码体制则是对一个明文块进行加密3。对称密码中使用最为广泛的算法就是DES及AES算法了,DES算法的全称是Data Encryption Standard,它是由美国国家标准局公布的一种加
14、密标准4。从这种加密标准公布开始就成为了世界各大领域尤其是金融领域关注的焦点。DES算法是对称密码中最为显著的代表,DES的出现使得人们的生活也发生了改变,尤其体现在POS机,ATM以及高速公路收费站等领域的应用,同时DES也是世界上第一个被公布使用的标准加密算法。DES算法使用了近三十年,期间致力于破译密码的学者通过计算机来对其进行破解,但实际上并没有取得真正意义上的成功。这种算法存在的主要缺点是密钥短。所以之后在美国就出现了征集评选新的加密密码体制,而其中加密思想和运算方法都与DES基本一致的一个算法脱颖而出,与DES所不同的是AES资料加密算法所需要的密钥长度是能够自主选择的,分别可以使
15、用128、192和256位的密钥。通过对这两种算法的比较,从算法的安全性能以及实现的效率上考虑就能够发现 AES是优于DES的数据加密算法。DES算法中所利用的加解密的密钥是相同的,只是在加密算法和解密算法的过程中使用的先后顺序不同7,这也是对称密钥的特点。DES加密和解密的过程如下:DES加密过程:DES解密过程:在DES算法之后出现并被广泛认可投入使用的算法就是AES算法了,全称是Advanced Encryption Stardand,由美国国家标准技术研究所研究发现的,研究的目的就是获得更高安全性的加密算法来取代之前使用的DES加密算法4。所以对于AES算法来说,至少要实现比DES算法
16、速度快,同时具有高于DES算法安全性的性能。AES算法是具备块长及密钥长度可以改变的特点的一种多轮迭代的分组密码算法,其中对于密钥长度的选择有128、192和256比特三种7。虽然AES算法较DES算法可以及时加密并传输小于分组的数据信息,但是如果其中的一个明文单位遭到破坏或信息损坏就会影响到其他单位中的明文信息,事实上AES与DES算法在总体流程上是非常类似的,但是因为加密过程和子密钥生成过程由两个部分组成,所以最终成为了一种新的加密标准即AES。2.2.2.2 公钥密码公钥密码的基本概念及密码协议的三种方式随着现代社会的发展,越来越多的更高程度要求的保密通信出现在生活中,如果采用传统原始的
17、密码进行加密来达到保密的要求,就必须要求通信的双方拥有至少一个事先约定好的密钥,只有持有正确的密钥才能进行通信活动。如果只是两个人或几个人之间的通信还可以方便的管理密钥,但是伴随着私人与商业活动之间越来越多的联系,有时需要洽谈生意但又不得不保持商业秘密的私密性及安全性,在这种情况下是很难做到提前约定好密钥的。再比如说计算机网络的应用中,任意的两个用户之间都可以进行通信,为了使每个用户与其它用户之间的通信均能保持私密,每一个密钥都必须经常性的更换4,而在网络上管理从产生密钥、存储密钥到分配密钥、更换密钥等如此大批量的操作时,复杂程度和不安全程度都是非常高的。因此出现了一种新的概念-公开密钥密码,
18、也就是非对称密码,同时也开创了一个崭新的现代密码新时代。通过第一部分关于公开加密密钥而不会暴露解密密钥的介绍我们可以知道一个可以公开密钥的密码是需要满足三个条件的:1.解密算法和加密算法是互逆的运算,也就是说要满足,同时这也是设计构成一个密码的基本条件;2.解密算法和加密算法都应该是高效的运算,这是公开密钥密码的工程实用条件,也只有满足这个条件才有实际的使用价值,否则就只有理论价值;3.不能通过加密密钥计算出解密密钥,在我看来这个条件是最为重要的,因为这是公开密钥密码的安全基础,只有满足了这一点的密码才能是一个有效的高安全性的密码,但是由于现在相关数学方面的研究并没有达到一定的水平,这一条件尚
19、且不能在数学方面证明出来4。一般来说,只要满足了以上的三个条件就可以构成一个公开密钥密码了,但是如果还要确定保证数据的真实性就还需要满足一个条件,即对于明文应该需要满足,这是确保数据信息真实性的基本条件。公钥密码与传统的密码相比在密钥的分配上容易了许多,使用公开密钥密码进行保密通信时需要建立一个密钥管理结构(KMC,Key management structure),每一位用户都将自己的真实数据比如姓名、地址、公开的加密密钥以及其它的一些重要信息在密钥管理结构登记注册,然后再将公开的密钥加入共享的公开密钥数据库(PKDB,Public key database)4。这样一来用户就可以十分方便地
20、使用公开密钥进行保密通信,再也不需要互相约定好一个密钥使用了。这种方式特别适合用于计算机的网络应用中,再加上公开密钥密码较传统密码还很容易实现数字签名,所以十分受欢迎。而公开密钥密码的基本工作方式如下:我们将明文用来表示,将密文用来表示,将加密密钥作为公开密钥用来表示,将解密密钥作为保密密钥用来表示,将解密的算法用来表示,将加密的算法用来表示,并为每一位用户提供一对密钥,将所有用户的公开加密密钥存储在公开的密钥库PKDB中。如果某位用户(用来表示)想要将某个数据信息(即)保密安全的传送给另外一位用户(用来表示),将有三种通信协议可以使用:第一种,为了确保数据的保密安全,想要传送信息的用户要在公
21、开密钥库PKDB中查询另一位用户的公开加密密钥,然后使用将明文加密后得到密文即,最后用户将密文发送给用户,之后用户会收到,然后使用他的解密密钥,将密文解密就获得了明文4即。因为只有用户才有解密密钥,而公开的加密密钥又不能通过计算得到解密密钥4,所以只有用户才能获得到最初用户想要发送给用户的明文,也就确定保证了数据信息的私密安全性,但是由于公开密钥库是共享的,所以如果有其它的用户假借用户的名义也同样发送给用户一些数据信息,那么假的密文发送给用户时,用户是无法发现的,也就是说这样的协议是无法保证数据信息的真实性的,所以可以采用第二种协议来进行通信。第二种通信就是用户使用自己保密的解密密钥将明文解密
22、得到密文即,再将得到的密文发送给用户,之后由用户的接收密文并通过公开密钥库PKDB查询用户的公开加密密钥,再用加密得到的密文即。因为只有用户有解密的密钥而公开的加密密钥是不能计算出解密的密钥的,所以只有用户才能发送数据信息明文,其它人是无法传送同样或虚假的信息给用户,也就是保证了数据信息的真实。但是,却不能保证数据信息的私密性,因为公开密钥库是所有用户共享的,而任何一个用户都能查到用户的公开加密密钥,也就是说随便的一个用户都可以获得用户想要发送的数据信息。第三种就是将前两种方式结合在一起的协议,这样就既能保证数据信息的私密性又能保证数据信息的真实性了。首先用户用他保密的解密密钥对明文解密,获得
23、密文即,然后通过查找公开密钥库PKDB找到用户公开的加密密钥,再利用加密密文得到新的密文即,将新的密文传送给用户。接收密文,用自己保密的解密密钥解密密文即可得到,之后用户查询用户的公开加密密钥利用其加密得到4。这个协议满足了数据的私密性和真实性,因为只有用户才有自己保密的解密密钥,并且通过公开解密密钥是无法计算出的,也就是只有这位用户才能发送密文,同样只有用户才有自己保密的解密密钥,公开的加密密钥是无法在计算上推断出的,也就是只有用户才能获得明文,其它人都是无法获取的。由于公开密钥密码具有很好的密码学特征和很宽广的应用领域,所以公开密钥密码的出现给密码学界带来了空前的繁荣。 RSA公钥密码RS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 椭圆 曲线 密码学 中的 应用 毕业论文

链接地址:https://www.31ppt.com/p-3971964.html