【发布时间】:2012-01-14 17:03:55
【问题描述】:
我正在解析大量网络跟踪数据。我想将跟踪分成块,对每个块进行哈希处理,并存储一系列结果哈希而不是原始块。我工作的目的是识别相同的数据块——我正在对原始数据块进行哈希处理以减少数据集大小以供以后分析。在我的工作中,我们可以权衡偶尔发生冲突的可能性以减小哈希大小(例如,相同块的 1% 错误识别的 40 位哈希可能优于 0.001% 错误识别的 60 位哈希)。
我的问题是,考虑到 a) 要散列的块数和 b) 允许的错误识别百分比,如何选择合适的散列大小?
举个例子:
1,000,000 个要散列的块,我们准备好有 1% 的错误识别(当原始数据中的散列块不相同时,1% 的散列块看起来相同)。我们如何选择满足这一点的最少位数的哈希?
我查看了有关Birthday Paradox 的材料,尽管这特别关注单个 碰撞的概率。我还查看了讨论根据单个碰撞的可接受概率选择尺寸的材料,但无法从中推断如何根据可接受的 n 概率选择尺寸(或更少)碰撞。
【问题讨论】:
标签: hash size probability collision