两种数字签名技术
0902班 贺信 学号:
1.数字签名的基本概念 1.1 数字签名的定义
所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir 数字签名算法、DES/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。
1.2 数字签名的基本要求
身份鉴别允许我们确认一个人的身份;数据完整性认证则帮助我们识别消息的真伪、是否完整;抗否认则防止人们否认自己曾经做过的行为。数字签名技术用来保证信息的完整性。“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并
核实报文是否发生变化的一个字母数字串。数字签名可以解决否认、伪造、篡改及冒充等问题。类似于手书签名,数字签名也应满足一下基本要求:
1) 收方能够确认或证实发方的签名,但不能伪造签名。 2) 发方向收方发出签名的消息后,就不能再否认他所签发的消息,以保证他不能抵赖之前的交易行为。
3) 收方对已收到的签名信息不能否认,即有收报认证。 4) 第三者可以确认收发双方之间的信息传递,但不能伪造这一过程。
1.3 数字签名的原理
数字签名是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图像化。它类似于手写签名或印章,也可以说它就是电子印章。我们对一些重要的文件进行签名,以确定它的有效性。但伪造传统的签名并不困难,这就使得数字签名与传统签名之间的重要差别更加突出:如果没有产生签名的私钥,要伪造由安全密码数字签名方案所产生的签名,计算上是不可行的。人们实际上也可以否认曾对一个议论中的文件签过名。但是否认一个数字签名却困难得多,这样做本质上证明在签名生成以前私钥的安全性就受到危害。这是由于数字签名的生成需要使用私钥,而它对应的公钥则用以验证签名。因而数字签名的一个重要性质就是非否认性,目前已经有一些方案,如数字证书,把一个实体(个人,组织或系统)的身份同一个私钥和公钥对
\绑定\在一起。这使得一个人很难否认数字签名。
1.4 数字签名的作用
网络的安全,主要是网络信息安全,需要采取相应的安全技术措施,提供适合的安全服务。数字签名机制作为保障网络信息安全的手段之一,可以解决伪造,抵赖,冒充和篡改问题。数字签名的目的之一,就是在网络环境中代替传统的手工签字与印章,其可抵御的网络攻击主要有:
1) 防冒充(伪造)。其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,所以其他人不可以构造出正确的签名结果数据。显然要求各位保存好自己的私有密钥,好像保存自己家门的钥匙一样。
2) 可鉴别身份。由于传统的手工签名一般是双方直接见面的,身份自可一清二楚;在网络环境中,接受方必须能够鉴别发送方所宣称的身份。
3) 防篡改(防破坏信息的完整性)。传统的手工签字,假如要签署一本200 页的合同,是仅仅在合同末尾签名呢还是对每一页都有签名,不然,对方会不会偷换其中几页这些都是问题所在。而数字签名,如前所述:签名与原有文件已经形成了一个混合的整体数据,不可能篡改,从而保证了数据的完整性。
4) 防重放。如在日常生活中, A 向B 借了钱,同时写了一张借条给B ;当A 还钱的时候,肯定要向B 索回他写的借条撕毁,不然,