电子签名可以和手写签名类比,他们都是用来核实消息发送方的身份的。
电子签名有三个目的
- 验证:电子签名可以让消息接收方相信消息是由特定的消息发送者创建和发送的
- 不可否认:通过电子签名,发送者在发送消息后不能否认发送行为
- 完整性:电子签名确保消息在传输过程中没有被修改过
电子签名一般在软件分发,金融交易中使用,或者用在一些需要检测是否存在伪造或者篡改的场景中。
通过一个示例演示电子签名是如何工作的。以A给B发送邮件为例,B是如何验证邮件是否由A发送的,数字签名使用的加密算法是非对称加密算法。流程如下:
- 发送方A生成密钥对,公钥和私钥。私钥自己保留,而且不能泄漏给任何人。公钥发送给接收方B。
- A将邮件的内容通过hash算法生成数字摘要。
- A用私钥通过加密算法将数字摘要加密生成数字签名。将内容和数字签名一起发送给B。
- B接收到内容和数字签名后。通过公钥将数字签名解密生成数字摘要,记作digest1。
- B通过与A相同的hash算法将内容生成数字摘要,记作digest2。判断digest1和digest2是否相等。如果相等说明邮件没有被篡改。
❝误区:数字签名是使用非对称加密算法对内容的hash值加密,而不是对内容本身加密。
❞
具体内容请参见视频👇