信息摘要
- 它是什么:信息摘要,也叫哈希值,是一段数据的**“数字指纹”。它通过一个特殊的数学函数(哈希函数,如MD5、SHA-256),将任意长度的数据映射为一个固定长度**的唯一字符串。
- 核心特性:
- 唯一性:输入数据稍有不同,输出的摘要就会完全不同。
- 不可逆性:无法从摘要反向推算出原始数据。
- 主要用途:确保数据的完整性。接收方只需对收到的数据用同样的算法计算一次摘要,并与发送方提供的原摘要对比,即可知道数据在传输过程中是否被篡改。
数字签名
- 它是什么:数字签名相当于现实世界中的公章或手写签名在数字世界的实现,用于验证信息的真实性和不可否认性。
- 工作原理(结合了信息摘要和非对称加密):
- 发送方:
- 先对要发送的消息计算信息摘要。
- 然后用自己的私钥对这个摘要进行加密,加密后的密文就是数字签名。
- 将原始消息和数字签名一起发送出去。
- 接收方:
- 收到后,用发送方的公钥对数字签名进行解密,得到发送方计算的摘要A。
- 同时对收到的原始消息用同样的哈希函数计算一次,得到摘要B。
- 比较摘要A和摘要B:如果两者完全相同,则证明:
- 消息未被篡改(完整性)。
- 消息确实来自声称的发送方(真实性),因为只有他拥有对应的私钥。
总结
- 信息摘要 → 保证数据没被改过(完整性)。
- 数字签名 → 保证数据是谁发的,并且没被改过(真实性 + 完整性 + 不可否认性)。