密码学与网络安全:原理、应用与挑战
1. 哈希与加密的区别
在安全领域,哈希通常指的是基于加密算法的加密哈希,与可能使用直接映射的常规哈希不同。加密同样使用加密算法来保护数据,但二者的主要区别在于:哈希是单向函数(仅加密),而加密是双向函数(加密和解密)。
1.1 哈希函数
常见的加密哈希函数如下:
| 哈希函数 | 哈希摘要长度 | 安全性情况 |
| ---- | ---- | ---- |
| MD5 | 16 字节 | 由于存在碰撞问题,已不安全 |
| SHA - 1 | 20 字节 | 已发现碰撞,被认为不安全 |
| SHA - 2(包含 SHA 256 和 SHA 512) | SHA 512 为 64 字节 | SHA 512 更安全且速度更快,优于 SHA 256 |
| SHA - 3(Keccak) | 与 SHA - 2 输出大小相同 | 是 SHA - 2 的替代实现 |
1.2 HMAC
基于哈希的消息认证码(HMAC)是一种使用加密哈希函数结合密钥来计算消息认证码的工具,可用于验证消息的完整性和真实性。HMAC 算法对密码分析攻击有很强的抵抗力,因为它两次使用哈希概念。RFC 2104 和 FIPS 198 NIST 标准都发布了 HMAC,并且在 IP 安全中必须实现。其工作流程如下:
graph LR
A[消息 M] --> B[添加输入签名]
B --> C[输入哈希函数]
C --> D[临时消息摘要 MD’]
超级会员免费看
订阅专栏 解锁全文
1072

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



