【密码算法篇】数字签名基础知识(无保密性)

数字签名主要用于确认数据的完整性、签名者身份的真实性和签名行为的不可否认性等—【蘇小沐】

1、数字签名定义

数字签名(Digital Signature或Digitally Signed,公钥数字签名)是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。

2、数字签名原理

数字签名是指用户用"自己的密钥"对"原始数据的哈希摘要(Hash Digest)"进行加密所得的数据。主要用于确认数据的完整性、签名者身份的真实性和签名行为的不可否认性等。

数字签名技术大多基于哈希摘要和非对称密钥加密体制来实现。为提升效率和安全性,一般先使用密码杂凑算法对原始消息进行杂凑运算,再对得到的消息摘要进行数字签名。

数字签名

说明

私钥签名,加密过程

数字签名技术是将"原文通过特定Hash函数得到的摘要信息"用"发送者的私钥加密"所得的数据,然后与原文一起传送给接收者。

公钥验签,解密过程

接收者用"发送者的公钥"解密被加密的摘要信息,然后用Hash函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在"传输过程中"没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。

640-jJSJ

数字签名过程

640-BHRd

数字签名和密码技术组合运用

640-krlH

3、数字签名作用

数字签名具有"防冒充/伪造(信息的真实性)、防篡改(破坏信息的完整性)、可鉴别身份、防重放、抗抵赖性"。

数字签名作用

说明

完整性

数字签名能保障消息的完整性。一次数字签名采用一个特定的哈希函数,它对不同文件产生的数字摘要的值也是不相同的。

抗抵赖性

数字签名能确定消息的不可抵赖性,因为他人假冒不了发送方的私钥签名。发送方是用自己的私钥对信息进行加密的,只有使用发送方的公钥才能解密。

总结

数字签名保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生;⚠️但"数字签名不能解决加密传输",数字签名可以"加密要签名消息的杂凑值",不具备对"消息本身"进行加密。

书写片面,纯粹做个记录,有错漏之处欢迎指正。

著作所有权归作者 [蘇小沐] 所有,转载请注明文章出处

记录

开始编辑:2022 年 11 月 23 日

最后编辑:2022 年 11 月 23 日

本文转自 https://mp.weixin.qq.com/s/5nZJC5cAlayzme8TuKP3iA,如有侵权,请联系删除。