文章目录
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。百度百科
数字签名它必须具备 5 个特性。
(1)签名是可信的。
(2)签名是不可伪造的。
(3)签名是不可重用的。
(4)签名的文件是不可改变的。
(5)签名是不可抵赖的。
这其中使用消息摘要算法来验证数据的完整性,使用非对称加密算法来确保消息的不可抵赖性
所以数字签名算法可以看做是带有密钥(公钥和私钥)的消息摘要算法,是非对称加密算法和消息摘要算法的结合体。
数字签名算法包含签名和验证两个操作,“私钥签名,公钥验证”。而签名使用的是甲方(签名方)的私钥和待签名数据,而乙方(验证方)使用甲方公钥、甲方签名值和待签数据来验证信息。因为签名使用的是甲方独有的信息,且验证方式也是由甲方公布的。而非对称加密算法很容易实现该需求。
注意:
RSA算法既包含加密/解密算法,同时包含数字签名算法
而DSA只是数字签名算法,没有加密/解密功能
ECDSA 是微软操作系统和office组件的序列号验证算法
关于本章内容,参考了一下书籍和文章