图解密码技术 - 数字签名
Contents
数字签名(Digital Signature)
是一种相当于现实世界中的盖章、签字的功能在计算机世界中实现的技术,使用数字签名可以识别篡改
、伪装
、防止否认
。
公钥密码与数字签名
在公钥密码中,发送者拥有接收者的公钥,发送者使用公钥对消息进行加密,接收者使用与之对应的私钥进行解密。公钥私钥一一对应。任何人都可以使用公钥对消息进行加密,发送给接收者。
在数字签名中,与公钥密码正好相反。发送者通过私钥对消息进行加密,接收者通过公钥对加密后的消息进行解密。任何人都可以通过公钥对加密后的密文
进行解密
。
用私钥加密的过程相当于是生成签名
,用公钥解密的过程相当于是验证签名
。
数字签名的方法
对数字签名的方式有两种:
- 直接对消息进行签名
- 对消息的散列值进行签名
不推荐直接对消息进行签名
的方式,因为在使用公钥密码计算签名时,速度会很慢。
数字签名的用途
- 安全信息公告:防篡改
- 软件下载:防篡改
- 公钥证书:
- SSL/TLS
针对数字签名的攻击
中间人攻击,假设发送者Alice
向接收者Bob
发送的公钥被攻击者Eve
截获,攻击者Eve
将自己的公钥发送给接收者Bob
。这样攻击者Eve
就能对发送者Alice
伪装成接收者,对接收者Bob
伪装成发送者。