Vigenere

給定密鑰長度分佈的 Vigenere 密碼機率

  • November 9, 2016

在這裡給出完全相同的問題和答案:https ://crypto.stackexchange.com/a/372​​12/40935 。

如何推導出/計算(使用方程式、方程式組合或“知識”)以下粗體標記的部分:

如何知道將0.5和**1/(26^2)**放在以下位置:

  • 公關$$ C=ff | M=dd $$x 镨$$ M=dd $$= [1/26 x 0.5 + 1/(26^2) x 0.5 ] x 0.2
  • 公關$$ C=ff | M=de $$x 镨$$ M=de $$= [0 x 0.5 + 1/(26^2) x 0.5 ] x 0.8

我預計條件部分的計算是:

  • 公關$$ C=ff | M=dd $$= [1/26 x 0.5 + 1/(26) x 0.5 ]
  • 公關$$ C=ff | M=de $$= [0 x 0.5 + 1/(26) x 0.5 ]

所以我想要一個可能基於總機率定律和/或貝氏定理(或我不知道的東西)的“方程”,這樣我就可以看到導致簡單替換的符號操作/計算如上所述的值。

好的,讓我們一塊一塊地拆開,用 $ l $ 表示密鑰長度:

你有:

  • $ P(l=1) = P(l=2) = 0.5 $
  • $ P(m=dd) = 0.8, P(m=de) = 0.2 $
  • 你要知道 $ P(c=ff) $
  • 隱含地,我們假設密鑰是統一隨機的(實際上對於具有實際關鍵字的 Vigenere 而言並非如此,但問題中沒有聲明)。因此對於任何組合 $ c,m $ ,我們得到一個機率 $ 1/26 $ 如果 $ l=1 $ 和 $ 1/26^2 $ 如果 $ l=2 $
  • 隱含地,密鑰獨立於消息 - 非常標準的假設。而且當然 $ l $ 也是獨立的。

那麼我們來看看案例 $ l= 1 $ . 正式地,我們將其表示為 $ P(.|l=1) $ . 這是一個條件機率,因為我們把條件 $ l=1 $ .

所以: $ P(c=ff|l=1) = P(c=ff| l = 1 \cap m=de) + P(c=ff | l = 1 \cap m=dd) $

$ = 0 * 1/26 + 1 * 1/26 $ (這 $ 0 $ 表示“這是不可能的”, $ 1 $ 表示“這完全可以 $ 1 $ 組合”)

分析: $ P(c=ff|l=2) = P(c=ff|l=2 \cap m=de) + P(c=ff|l=2 \cap m=dd) $

$ = 1 * 1/26^2 + 1 * 1/26^2 $ (兩者都可能只有一種組合,所以兩者 $ 1 $ s)

現在,我們想要得到 $ P(c=ff) = P(c=ff|l = 1) \cdot P(l=1) + P(c=ff|l=2) \cdot P(l=2) $

$ = (0+1/26) \cdot 0.5 + (1/26^2 + 1/26^2) \cdot 0.5 = 0.5(1/26 + 2/26^2) $

我們只是使用,事件 $ l=1 $ 和 $ l=2 $ 是互斥的。它們恰好是我們必須考慮的唯一可能性。

最後,我們得出與您其他問題相同的結論:您錯過了條件 $ l $ 在您的第一種方法中。然後在您的解決方案中合併它 - 但錯過了在公式中正確表達它。

引用自:https://crypto.stackexchange.com/questions/41323