哈希函数、数字签名与公钥基础设施详解
1. 哈希函数基础
哈希函数的主要目的是将可能很长的消息转换为一个从消息内容派生的唯一输出值,这个值通常被称为消息摘要。消息摘要由消息发送者生成,并与完整消息一起传输给接收者,主要有两个原因:
- 接收者可以使用相同的哈希函数从完整消息中重新计算消息摘要,然后将计算出的消息摘要与传输的消息摘要进行比较,以确保消息在传输过程中未被修改。即使消息在间距、标点或内容上有细微差异,消息摘要值也会完全不同。
- 消息摘要可用于实现数字签名算法。
消息摘要通常为128位或更大,一般来说,消息摘要越长,其完整性验证就越可靠。根据RSA Security的要求,加密哈希函数有五个基本条件:
- 输入可以是任意长度。
- 输出具有固定长度。
- 对于任何输入,哈希函数相对容易计算。
- 哈希函数是单向的,即很难从输出确定输入。
- 哈希函数是无碰撞的,即很难找到两条产生相同哈希值的消息。
常见的哈希算法有安全哈希算法(SHA)、消息摘要2(MD2)、消息摘要4(MD4)和消息摘要5(MD5),此外还有哈希消息认证码(HMAC)和可变长度哈希(HAVAL)。
| 名称 | 哈希值长度 |
|---|---|
| 可变长度哈希(HAVAL) - MD5变体 | 128、160、192、224和256位 |
| 哈希消息认证码(HMAC) |
超级会员免费看
订阅专栏 解锁全文
1252

被折叠的 条评论
为什么被折叠?



