簡體   English   中英

新 Hash 碰撞的概率,以無當前碰撞為條件

[英]Probability of New Hash Collision, Conditional on No Current Collisions

鑒於現有 hash 表中尚未發生沖突,我試圖了解新哈希的沖突概率。

為了說明,假設我有一個表,我在其中存儲每行的哈希值。

  1. 該表目前有 10 億行
  2. 在這 10 億行中沒有 hash 沖突。
  3. 我正在使用 64 位 hash 算法。

現在想象一下,我將 1000 萬行新數據插入到表中。 我現在發生 hash 碰撞的概率是多少? 我認為答案如下:

每個新行的 hash 不能與任何現有行或在其之前處理的新行具有相同的值。 這從 2^64 個可能性中刪除了 10 億個 hash 值,因此新碰撞的概率應該是:

聽起來對嗎?

感謝 James K. Polk 總統,我意識到我最初的解決方案是錯誤的。 沒有碰撞的概率是

另一種思考方式是使用條件概率的定義。

...這減少到...

...可以簡化為 (*) 處的乘積公式。

條件概率公式的好處是可以使用任何在線 hash 碰撞概率計算器輕松估算。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM