密码学:完整性与真实性
在当今数字化的时代,数据的完整性和真实性至关重要。为了保护数据的这些特性,我们可以使用哈希函数、消息认证码和数字签名等密码学机制。下面将详细介绍这些机制。
1. 哈希函数
哈希函数是一种将任意长度的输入数据转换为固定长度输出的函数。哈希值具有固定的比特长度,常见的有 160、256 或 512 比特。其计算方式为将哈希函数 H() 应用于任意长度的数据集 𝑚,得到哈希值 ℎ:
[
ℎ \leftarrow H(𝑚), ℎ \in {0, 1}^{\lambda}, 𝑚 \in {0, 1}^*
]
哈希值就像是数据 𝑚 的密码学校验和。与编码理论中的校验和不同,即使 𝑚 中只有一位发生改变,哈希值也会发生不可预测的变化。
可以将哈希函数类比为人的指纹,几乎不可能找到两个指纹完全相同的人,也无法从指纹重构出一个人,但当人在场时,很容易获取其指纹。
1.1 标准化哈希函数
构造优秀的哈希函数并非易事,因此在实际应用中,常用的哈希函数家族屈指可数:
- MD5 :由 Ron Rivest 在 1992 年提出,哈希值长度为 128 比特。不过,MD5 已被破解,但仍在一些旧应用中使用。
- SHA - 1 :于 1995 年推出,哈希值长度为 160 比特,同样已被破解。
- SHA - 2 家族 :包括 SHA - 224、SHA - 256、SHA - 384 和 SHA - 512,于 2001 年被标准化,数字表示哈希值
密码学中的完整性与真实性
超级会员免费看
订阅专栏 解锁全文
3019

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



