密码技术学习(7.1)-数字签名简介

版权声明:转载请注明出处 https://blog.csdn.net/laozhaishaozuo/article/details/82018045
  • 数字签名简介
  • 常用的数字签名算法

数字签名简介

数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。百度百科

数字签名它必须具备 5 个特性。 
(1)签名是可信的。 
(2)签名是不可伪造的。 
(3)签名是不可重用的。 
(4)签名的文件是不可改变的。 
(5)签名是不可抵赖的。

这其中使用消息摘要算法来验证数据的完整性,使用非对称加密算法来确保消息的不可抵赖性

所以数字签名算法可以看做是带有密钥(公钥和私钥)的消息摘要算法,是非对称加密算法和消息摘要算法的结合体。

数字签名算法包含签名和验证两个操作,“私钥签名,公钥验证”。而签名使用的是甲方(签名方)的私钥和待签名数据,而乙方(验证方)使用甲方公钥、甲方签名值和待签数据来验证信息。因为签名使用的是甲方独有的信息,且验证方式也是由甲方公布的。而非对称加密算法很容易实现该需求。

常用的算法

  • RSA 与消息摘要算法结合
  • DSA数字签名算法 基于整数有限域离散对数难题
  • ECDSA ECC(椭圆曲线加密算法)与DSA算法的结合

注意: 
RSA算法既包含加密/解密算法,同时包含数字签名算法 
而DSA只是数字签名算法,没有加密/解密功能 
ECDSA 是微软操作系统和office组件的序列号验证算法

参考资料

关于本章内容,参考了一下书籍和文章

  1. Java加密与解密的艺术
  2. 图解密码技术-第二版 图解密码技术-第三版
  3. 数字签名

本系列其他文章

密码技术学习系列文章

猜你喜欢

转载自blog.csdn.net/laozhaishaozuo/article/details/82018045