数字签名简介

一、数字签名简介
数字签名是基于公钥密码体制(非对称密钥密码体制)的。

1.1.基本特征
数字签名必须保证以下三点:

报文鉴别——接收者能够核实发送者对报文的签名;
报文的完整性——接收者不能伪造对报文的签名或更改报文内容。
不可否认——发送者事后不能抵赖对报文的签名;
1.2.数字签名的验证过程
image-20200203210110403

上图位用户A使用数字签名向用户B传输一份文件的过程:

首先,文件经过单向散列函数的处理得到一份占128位的摘要(无论文件多大,经过单向散列函数的处理,生成的摘要都是128位),这份摘要相当于该文件的"指纹",能够唯一地识别文件。注意:只要文件发生改动,经过单向散列函数处理后得到地摘要都会不一样。所以,文件和文件的摘要具有很强的对应关系。
随后,用户A使用自己地私钥对这份128位地摘要进行加密,得到一份加密地摘要。
然后,用户A把文件、加密的摘要和公钥打包一起发给用户B。传输的过程中并没有对文件进行加密处理。
用户B将收到的文件经过单向散列函数处理得出一份128位摘要,这份摘要是通过收到的文件得到的,存在被更改的可能;使用A提供的公钥对收到的"加密的摘要"进行解密得到另一份128位摘要,这份摘要是通过原始文件得到的,一般认为代表真正的文件;然后将两份摘要进行比较。
如果两份摘要相等,说明文件经过用户A签名之后,在传输的过程中没有被更改;若不相等,说明文件在传输过程中被更改了,或者说已经不是原来的文件了,此时用户A的签名失效。
数字签名三个特征的验证

不可否认——只有用户A拥有私钥A,并能使用私钥A产生"加密的摘要",这样用户A就不能否认给用户B发送了经过签名的密文。
报文的完整性——用户B通过比较得出的两份摘要是否相等,可以判断签名或文件内容是否发生改变。
报文鉴别——用户B可以使用收到的公钥对"加密的摘要"进行解密,从而核实用户A对文件的签名。
需要强调

用户A使用私钥对由文件生成的128位摘要进行加密的过程称为数字签名的过程,得到的"加密的摘要",称为该文件的数据签名。

用户A使用私钥加密的是摘要而不是文件。
用户B验证签名实际上是比较得出的两份摘要是否相等。

1.3.数字签名使用的场合
什么时候使用这种不对文件加密,而对文件的摘要加密(对文件进行签名)的技术呢?

数字签名解决的核心问题是:确保收到的文件没有被更改。
比如:公司的领导给员工下发放假通知,这时候就需要对邮件进行数字签名来证明这个通知是领导发的。员工收到通知,看到上面有领导的签名,于是就可以放心休假了。如果有人冒充领导发通知,上面没有领导的签名,员工休假回来就要扣工资。同样的,通知有了领导的签名,领导想抵赖也不行。

参考:cnblogs.com/itps/p/12359865.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值