数字签名是为了验证发送文件的完整性及发送者身份而诞生,类似现实世界的签字盖章,一封盖上唐伯虎印章的《小鸡啄米图》才值三十万两。数字签名基于非对称加密机制来实现签名方案,主要分为签名过程和验签过程。 签名过程 (1)北方小伙通过HASH算法对明文信息进行计算,生成信息摘要; (2)北方小伙使用自己的私钥对信息摘要进行加密,生成数字签名; (3)北方小伙使用南方姑娘的公钥对明文进行加密,得到密文信息; (4)北方小伙将附加有数字签名信息的密文信息发送给接收方。 验签过程 (1)南方姑娘使用北方小伙的公钥先对数字签名信息进行解密,得到信息摘要; (2)南方姑娘使用自己的私钥对接收到的密文信息进行解密,得到明文信息; (3)南方姑娘使用与发送方一致的HASH算法对解密后的明文信息进行计算,生成信息摘要; (4)南方姑娘将自己计算出来的信息摘要与从发送方获得的信息摘要进行比较,若一致,则接收明文,若不一致,丢弃明文。 从以上签名过程和验签过程可以保证被签名的内容在签名后没有发生任何的改变,即被签名数据的完整性得以保证。同时还可以确认签名确实是由认定的签名人完成,即签名人身份的真实性。同时一旦签名有效,签名信息还具有不可抵赖性。 但是数字签名还是存在一个问题,即南方姑娘验签的公钥默认是来自北方小伙的,可是要是攻击者通过非法手段将南方姑娘收到的公钥换成自己的,他又有南方姑娘的公钥,这样通信双方就变成了攻击者和南方姑娘,且无法察觉。结果可能一段姻缘的扼腕叹息。 为了证明公钥就是属于北方小伙的,出现了数字证书技术。 |
|