版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息安全期末报告题 目数字签名技术学生姓名班 级学 号任课教师完成日期2013年 6 月 11 日评 分数字签名技术在平常生活中,使用手写签字与印章签署合同、文件、命令、条约等。但是,当计算机网络出现之后,如何对电子文档!电子文件签名就成了一个需要解决的问题。该问题不解决,就会严重阻碍计算机网络的进一步应用,如电子商务、电子政务等。在数字签名技术出现之前,曾经出现过一种数字化签名技术,简单地说就是在手写板上签名,然后将签字的图像传输到电子文档中,这种数字化签名可以被剪切,然后粘贴到任意文档上,由于非法复制非常容易,所以这种签名方式是不安全的。数字签名技术与数字化签名技术是两种截然不同的安全技术
2、,数字签名与用户的姓名和手写签名形式毫无关系,它使用了信息发送者的私有密钥变换需传输的信息。对于不同的文档信息,发送者的数字签名是不相同的。没有私有密钥,任何人都无法完成此变换,也就是不能冒充别人进行签名。现在,数字签名技术的常见应用方式是使用一个智能卡,甚至还附加采用指纹、视网膜扫描以及语音识别测试等其他技术,或者使用这些东西的合成技术以提高签名和认证的准确性。1、 数字签名的定义所谓数字签名(Data Signature),是指一种能为接收者验证数据完整性和确认数据发送者身份,并可山第三方确定签名和所签数据真实性的算法方案。数字签名方案通常包括三个主要过程:系统初始化过程、签名产生过程和签
3、名验证过程。系统的初始化过程产生数字签名方案用到的一切参数:签名产生过程中,用户利用给定的算法对消息产生签名;签名验证过程中,验证者利用公开的验证方法对给定的消息的签名进行验证,得出签名是否有效的结论。数字签名的形式化定义是数字签名描述性定义的一种抽象和形式化的概括。签名过程和验证过程本质上是两个不同的算法。通俗我们讲的数字签名,实际上就是数字签名方案。所谓数字签名方案,是指由消息集合M、密钥集合K、签名集合S、以及签名算法SIG和验证算法VER组成的5元组。其中K是包括公钥和私钥在内的所有密钥的集合,并要求满足下列条件:(l)签名算法:对于密钥集合K,相应的签名算法为,对任意的消息,有,那么
4、为消息的签名,将传送到签名验证者。(2)验证算法:对于密钥集合K,有签名验证算法签名接受者或验证者受到后,计算,签名有效;否则,签名无效。2、 数字签名的分类(1)基于数学难题的分类根据数字签名所基于的数学难题,数字签名方案可分为基于离散对数问题的签名方案、基于素因子分解的签名方案、基于椭圆曲线离散对数问题的签名方案、基于离散对数和素因子分解的签名方案、基于二次剩余问题的签名方案等。(2)基于签名用户的分类根据数字签名用少/的多少,分为单用户签名和多用户签名的数字签名方案。多个用户的签名方案又称多重数字签名方案。根据签名过程的不同,多重数字签名方案可分为有序多重数字签名方案和广播多重数字签名方
5、案。(3)基于数字签名是否具有恢复特性的分类根据数字签名是否具有恢复特性,数字签名分为两类:一类是不具有消息自动恢复的特性,另一类是具有消息自动恢复的特性。(4)基于签名人对消息是否可见的分类根据签名人对消息是否可见,数字签名分为普通数字签名方案和盲签名方案。盲签名方案表示签名者对消息不可见,但事后可以证明消息的存在。又根据签名者是否可以对消息拥有者进行追踪分为弱盲签名方案和强盲签名方案。(5)基于签名人是否受别人委托签名的分类根据签名人是否受别人委托,数字签名分为普通数字签名方案和代理签名方案。如果授权的不是一个人,而是多个人,这时的数字签名方案称为代理多重数字签名方案。3、 数字签名的功能
6、归纳起来,数字签名技术可以解决伪造、篡改、冒充、抵赖等问题,其功能主要表现在以下几方面:(1)机密性.数字签名中报文不要求加密,但在网络传输中,可以将报文信息用接收方的公钥进行加密,以保证信息的机密性。(2)完整性。数字签名与原始文件或其摘要一起发送给接收者,一旦信息被篡改,接收者可通过计算摘要和验证签名来判断该文件无效,从而保证了数据的完整性。(3)身份认证。在数字签名中,用户的公钥是其身份的标志,当其使用私钥签名时,如果接收方或验证方用其公钥进行验证并获通过,那么可以肯定签名人就是拥有私钥的那个人,因为私钥是签名人唯一知道的秘密。(4)防伪造。除签名人外,任何其他人不可能伪造消息的签名,因
7、为签名密钥即私钥只有签名者自己知道,其他人不可能构造出正确的签名数据。(5)防抵赖。数字签名既可作为身份认证的依据,也可作为签名者签名操作的证据,防止抵赖。要防止接收者的抵赖,可以在数字签名系统中要求接收者返回一个自己签名的表示收到的报文,给发送者或受信任第三方。如果接收者不返回任何信息,此次通信可终止或重新开始,签名方也没有任何损失,由此双方均不可抵赖。(6)防重放攻击。如在电子商务中,公司A向公司B发送了一份商品订单,如果有攻击者中途截获订单并发送多份给公司B,这样会导致公司B以为公司A订购了多批商品。在数字签名中,通常采用了对签名报文加盖时间戳或添加处理流水号等技术,可以防止这种重放攻击
8、。下面介绍一种数字签名算法椭圆曲线签名算法。4、 椭圆曲线签名算法椭圆曲线在代数学和几何学上已有一百五十多年的研究历史,有着复杂的数学背景,涉及到数论、群论和射影几何等学科。1985年N.Koblitz和V.Miller分别提出了椭圆曲线密码体制(ECC),其安全性依赖于椭圆曲线群上离散对数问题(ECDLP)的难解性,即已知椭圆曲线上的点P和kP,计算k的困难程度。ECC具有安全性高、计算量小、存储空间占用小、带宽要求低等特点。这些优点使得椭圆曲线公钥密码体制将应用到越来越多的领域,具有特别重要的意义。带宽要求低使ECC在无线网络领域具有广泛的应用前景。4.1 密码学中的椭圆曲线在代数学和几何
9、学中所涉及到的椭圆曲线都是连续的,这是因为椭圆曲线上点的坐标,是实数的(因为在代数学和几何学里的椭圆曲线是定义在实数域上的),实数是连续的,导致了曲线的连续。这样的曲线并不适合用于加密,所以,我们必须把椭圆曲线变成离散的点。因此,我们要把椭圆曲线定义在有限域上(顾名思义,有限域是一种只有由有限个元素组成的域)。下面,给出一个有限域,这个域只有有限个元素,同时满足下列条件:(1)中只有p(p为素数)个兀素;(2)的加法法则是;即的余数和的余数相同。(3)的乘法法则是;(4)的除法法则是;即;(也是一个0到之间的整数,但满足)。(5) 的单位元是1,零元是0。并不是所有的椭圆曲线都适合加密。是一类
10、可以用来加密的椭圆曲线,也是最为简单的一类。我们首先需要把这条曲线定义在上,然后再利用这样的曲线进行加密签名。选择两个满足下列条件的小于p(p为素数)的非负整数a、b。则满足下列方程的所有点,再加上无穷远点,构成一条椭圆曲线。其中x,y属于0到间的整数,并将这条椭圆曲线一记为。图1是的图像。图1 的图像。在图1中,椭圆曲线表现为一个一个离散的点。椭圆曲线在不同的数域中会呈现出不同的样子,但其本质仍是一条椭圆曲线。上的椭圆曲线同样有加法,但己经不能给出几何意义的解释。不过,加法法则和实数域上的差不多。(1)穷远点是零元,有,。(2)的负元是,有。(3),和有如下关系:其中,若,则;若,则。最后,
11、还要介绍一下椭圆曲线上的点的阶。如果椭圆曲线上一点P,存在最小的正整数n,使得数乘,则将n称为P的阶;若n不存在,我们说P 是无限阶的。事实上,在有限域上定义的椭圆曲线上所有的点的阶n都是存在的。4.2 椭圆曲线上简单的加密与解密公开密钥算法总是要基于一个数学上的难题。比如RSA依据的是:给定两个素数p、q很容易相乘得到n,而对n进行因式分解却相对困难。ECC当然也是基于椭圆曲线上的难题。考虑如下等式:其中,K,G为上的点,k为小于n(n是点G的阶)的整数。根据上述等式,给定k和G,根据加法法则,计算K很容易;但给定K和G,求k就相对困难了。这就是椭圆曲线加密算法采用的难题。我们把点G称为基点
12、(base point),k(kn,n为基点G的阶)称为私有密钥(private key),K称为公开密钥(public key)。利用椭圆曲线进行加密通信的过程如卜所述:(1)用户A选定一条椭圆曲线,并取椭圆曲线上一点,作为基点G。(2)用户A选择一个私有密钥k,并生成公开密钥。(3)用户A将和K,G传给J日户B。(4)用户B接到信息后,将待传输的明文编码到上一点M,并产生一个随机整数r(rn)。(5)用户B计算点;。(6)用户B将、传给用户A。(7)用户A接到信息后,计算,结果就是点M。因为,再对点M进行解码就可以得到明文。在这个加密通信中,如果有一个偷窥者H,他只能看到、K、G、而通过K
13、、G求k或通过求r都是相对困难的。因此,H无法得到A、B间传送的明文信息。图2 ECC传输加密过程密码学中,描述一条上的椭圆曲线,常用到六个参量:。P、a、b用来确定一条椭圆曲线;G为基点;n为点G的阶;h是椭圆曲线上所有点的个数m与n相除的整数部分。这几个参量取值的选择,直接影响了加密的安全性。参量值一般要求满足以下几个条件:(1)p当然越大越安全,但越大,计算速度会变慢,200位左右可以满足一般安全要求;(2);(3);(4);(5)n为素数;(6)。4.3 椭圆曲线签名方案从理论上讲,凡是基于离散对数的签名方案都可以平移到椭圆曲线密码体制中来,但椭圆曲线签名方案涉及的参数较为复杂,因此,
14、先介绍ECDSA算法(ECDSA算法就是在椭圆曲线上实现DSA算法)所需的参数,然后再介绍签名过程和验证过程。4.3.1 ECDSA参数ECDSA全局参数表示为,其中q为有限域的大小,当时,p为奇素数,当时,通常取,表示一个有限域;为中的一个元素;,椭圆曲线E的参数,定义椭圆曲线:或;基点,的阶为素数n,。用户私钥为随机整数,相应的公钥为。4.3.2 签名过程(1) 对于待签消息m,用哈希函数SHA-l计算,并转化为一个160位的整数;(2)任意选取一个随机整数k,计算;(3)计算,如果,则返回第二步重新选择k;(4)计算,如果,则返回第二步。消息m的签名为(r,s)。4.3.3 验证过程(1
15、)判断r,S是否属于,否则签名无效;(2)计算;(3)计算;(4)计算,;(5)计算,如果,表示签名无效;否则,计算;(6)如果,则签名有效;否则无效。4.3.4 ECDSA算法的正确性证明如果(r,s)是消息m的合法签名,有,从而有又因为 , (其中x认G)表示点的横坐标,即x坐标),既有。所以ECDSA签名成立。4.4 椭圆曲线签名算法的优点椭圆曲线密码体制(ECC)的研究历史较短,但是由于它的优点突出,己经得到了密码学界的重视并广泛应用。其是目前已知的所有公钥密码体制中能够提供最高比特强度(strength-per-bit)的一种公钥密码体制。椭圆曲线加密算法有着很多技术优点:第一,安全
16、性能更高。加密算法的安全性能一般通过该算法的抗攻击强度来反映。ECC和其他另外几种公钥系统相比,其抗攻击性具有绝对的优势。椭圆曲线的离散对数问题(ECDLP)计算困难性在计算复杂度上目前是完全指数级的,具体体现为ECC的每bit安全性能更高。第二,计算量小和处理速度快。在相同的计算资源条件下,虽然在RSA中可以通过选取较小的公钥(可以小到3)的方法提高公钥处理速度,即提高加密和签名验证的速度,使其在加密和签名验证速度上与ECC有可比性,但在私钥的处理速度上(解密和签名),ECC远比RSA、DSA快得多。因为ECC总的速度比RSA、DSA要快得多,同时ECC系统的密钥生成速度比RSA快百倍以上。所以,在相同条件下,ECC有更高的加密性能。第三,存储空间占用小。ECC的密钥尺寸和系统参数与RSA、DSA相比要小得多。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 主题教育策划与实施
- 传播学职业发展指南
- 廉洁自律类排比句
- 青少年高尿酸血症与痛风的管理2026
- 2026年新能源汽车充电站全流程管理制度
- 某预制构件厂停电应急处置办法
- 项目部安全生产责任制制度
- 飞行技术就业前景
- XX中学2025-2026学年春季学期校园德育教育实施方案
- 医学人文质性研究的创新方法
- GB/T 47064-2026温室气体产品碳足迹量化方法与要求钢铁产品
- 2026年内蒙古民族幼儿师范高等专科学校单招综合素质考试题库附参考答案详解(a卷)
- 湖北省圆创高中名校联盟2026届高三2月第三次联合测评英语试卷(含答案解析)
- 集中公寓运营管理制度
- 上海市普陀区2026届初三一模语文试题(含答案)
- 国企投融资培训课件模板
- 医院后勤服务PDCA质量提升路径
- 疼痛护理中的康复与物理治疗
- 意大利雇佣白皮书-万领均
- 中标广西哲社课题申报书
- 2026年郑州铁路职业技术学院单招职业适应性考试题库附答案解析
评论
0/150
提交评论