【从零开始学习计算机科学】信息安全(五)数字签名

数字签名

数字签名概述

如何保证一份文件(合同)的真实特性?现实中人们采用手写签名的形式。在网络中如要进行交易,也需要保证这真实性。真实性内涵:信源与信宿真实,内容真实(没有被篡改),双方都不能抵赖。加密不能提供者这种特性,主要防止信息被非法使用;消息摘要也不能提供这种特性,主要防止信息被篡改。

消息鉴别用于收发双方无利害冲突,防止第三方破坏。收方能够验证消息发送者身份是否被篡改;收方能够验证所发消息内容是否被篡改。数字签名用于收发双方有利害冲突,必须采用数字签名技术。数字签名能确定消息来源的真实性,数字签名能保证实体身份的真实性,数字签名是不可否认的。

如何保证一份文件(合同)的真实特性?现实中人们采用手写签名的形式。在网络中如要进行交易,也需要保证这真实性。

手写签名的特性概括为:(1)签名目的:签名者认可文件内容,不会抵赖。(2)主要形式:手写签名、签章、手指纹印(其他生物技术)(3)具有不可伪造,特异性;不可重用,日期和时间相关性;不可改变,能发现涂改、转移意义或用途;不可抵赖,不能抵赖,能够质证;可仲裁的,可做为法律证据。

数字签名应实现以下目标:签名的比特模式是依赖于消息报文的,也就是说,数字签名是以消息报文作为输入计算出来的,签名能够对消息的内容进行鉴别;数字签名对发送者来说必须是惟一的,能够防止伪造和抵赖;产生数字签名的算法必须相对简单易于实现,且能够在存储介质上保存备份;对数字签名的识别、证实和鉴别也必须相对简单,易于实现;伪造数字签名在计算上是不可行的,无论攻击者采用何种方法(利用数字签名伪造报文,或者对报文伪造数字签名)。

数字签名的特性概括为:(1)不可伪造性。如果数字签名是伪造的,则无法通过验证。(2)可信性。如果数字签名通过验证,接收者可以确认该文件由签名者签名。(3)不可更改性。如果文件被签名者以外的人改变,则无法通过验证。(4)不可重用性。对该文件的签名不能被移植到其它文件中去,否则无法通过验证。(5)抗抵赖性。如果数字签名通过验证,签名者无法否认对该文件的签名。

数字签名主要算法有Hash签名、DSS签名、RSA签名体制、ElGamal签名体制等等。

基于公钥体制RSA的数字签名

RSA的加密过程概括为:发送者S,接收者R,发送时用R的公钥加密,接收时用R的私钥解密。RSA签名过程概括为:签名用S的私钥签名(加密),验证用S的公钥验证(解密)。

RSA签名的特点有:(1)签名不可伪造、也不可重用。由于S是用其私钥签名,故没有人能伪造S的签名;该签名也不能被移植。S的签名具有唯一性。(2)发方S不能否认发送过签名的文件。由于S的公钥是公开的,任何人都可以验证该签名的有效性,因此收方R和公证方都能把签名后的文件解开,且其内容一致。故可据此判断该签名的文件是S发出来的。(3)收方R不能篡改签名的原文件。发方S: M , C = D s k p ( M ) M,C=D_{skp}(M) M,C=Dskp(M)(skp为S的私钥),传输M + C,收方R: E s k o ( C ) = M E_{sko}(C) = M Esko(C)=M(sko为S的公钥)。收方不能把M修改为M’,验证方法描述为:若R告知S,其收到的是M’,则S要求R交出M’对应的签名文件C’,并通过第三方验证即可发现M’是伪造的,因为R是无法构造出C的。

具有保密特性的RSA签名方案如下所示:
发方: M , C = D s k p ( E r k o ( M ) ) M,C=D_{skp}(E_{rko}(M)) M,C=Dskp(Erko(M)),传输:M + C,收方: D r k p ( E s k o ( C ) ) D_{rkp}(E_{sko}(C)) Drkp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值