单向哈希函数与密码学应用
在密码学领域,单向哈希函数和数据加密标准(DES)是两个至关重要的概念。单向哈希函数在数据认证、数字签名等方面发挥着关键作用,而DES则是商业世界中广泛使用的加密算法。下面将详细介绍基于背包问题的哈希函数以及如何利用DES构建单向哈希函数。
基于背包问题的哈希函数
- 硬件实现优势 :某些函数非常适合硬件实现。在超大规模集成电路(VLSI)中,可以并行更新所有位来计算函数 $g$,一次 $g$ 的应用仅需 1 或 2 个时钟周期,与输入长度 $n$ 无关。即使时钟速度适中,也能达到 Mbit/秒级别的速度,而且硬件实现简单且成本低廉。
- 背包问题在密码学中的应用挑战 :背包问题是 NP 完全问题,在最坏情况下可能非常困难。然而,将其用于密码学并非易事,许多基于该问题的公钥系统的命运就证明了这一点。加密函数必须是可逆的,因此使用的背包必须具有一些内置结构,这在很多情况下对密码分析者是有用的。而哈希函数不需要可逆,因此可以使用完全随机生成的背包。
- 简单方法的不足与改进 :简单的做法是在区间 $1..M$ 中随机选择数字 $a_1, …, a_s$,其中 $s$ 是预期消息的最大长度。但对于较大的 $s$,这种方法是不安全的。为了解决这个问题,建议将 $s$ 固定为相对于 $M$ 较小的值,并使用相关定理构建实际的哈希函数。例如,选择 $s$ 约为 $2\log(M)$,这意味着函数 $f$ 将 $s$ 位块压缩为 $9/2$ 位块,并且能避免某些不安全条件。具体可以选择 $s = 256$ 和 $M = 2^{
超级会员免费看
订阅专栏 解锁全文
2443

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



