Modular-Arithmetic

Hill’s Cipher - 已知明文攻擊

  • January 23, 2017

我知道這個問題已經被問過幾次了,但我在一個問題上有點掙扎。

我有一個明文FRIDAY及其密文PQCFKU,使用 $ M = 2 $ , 對應的整數 $ x = fr id ay = (5, 17),(8,3),(0,24) $ 和 $ y = pq cf ku = (15, 16),(2,5),(10,20) $ .

為了找到鑰匙 $ k $ :

$$ \pmatrix{y1 \y2 \} = \pmatrix{x1 \x2 \}k $$ $$ \pmatrix{15&16 \2&5} = \pmatrix{5&17 \8&3 \}k $$ 現在 $ x $ 行列式, $ det(x) $ 是(誰)給的:

$$ det(x)=53-817 = -121 $$並且,使用模 26: $$ -121\pmod{26} = 9 $$ 然後, $ det(x^{-1}) $ 是(誰)給的: $$ 9^{-1}\pmod{26} = 3 $$ 現在 $ X^{c} $ 是:

$$ X^{c}=\pmatrix{3&8\-17&5} $$ 和 $ (X^{-1})^{T} $ 是: $$ (X^{-1})^{T}=\pmatrix{3&-17\-8&5} $$ 所以,為了找到 $ k $ :

$$ k=(\pmatrix{3&-17\-8&5}det(x^{-1}))\pmod{26} $$ 這是: $$ k=(\pmatrix{3&-17\-8&5}3)\pmod{26} $$ $$ k=\pmatrix{9&-51\-24&15}\pmod{26} $$ $$ k=\pmatrix{9&1\2&15} $$

現在問題來了,使用解密 $ k $ 和 $ pq $ 我無法得到 $ fr $ 背部。

如果我沒記錯的話:

$$ x1 = (15,16)\pmatrix{9&1\2&15}=(159+161, 152+1615)=(151, 270) $$ 現在,要獲取明文:

$$ (151, 270)\pmod{26} = (21, 10) $$

和,

$$ (21, 10) $$導致 $ vm $ 這顯然不是 $ fr $

我的推理錯了嗎?我做錯了嗎?

我一直在摸不著頭腦,但找不到有效的解決方案。提前致謝。

實際上,在我看來,您使用了錯誤的基礎並獲得了相反的密鑰:

假設你有純文字 $ x_1 = \pmatrix{5\17} $ 和 $ x_2= \pmatrix{8\3 \} $ 以及對應的密文 $ y_1=\pmatrix{15 \16} $ 和 $ y_2=\pmatrix{2\5} $ 請注意我如何將它們表示為向量而不是線矩陣,那麼您的方法似乎一切正常:

希爾的密碼翻譯成:

$$ \pmatrix{k_{11}&k_{12}\k_{21}&k_{22}}\times x_1 \equiv y_1 \mod 26 $$ $$ \pmatrix{k_{11}&k_{12}\k_{21}&k_{22}}\times x_2 \equiv y_2 \mod 26 $$ 這導致您正在求解的系統(但您也可以使用 4 個方程來表示它)並且您得到:

$$ \begin{cases}5k_{11}+17k_{12} &= 15\ 5k_{21}+17k_{22} &= 16\ 8k_{11}+3k_{12} &= 2\ 8k_{21}+3k_{22} &= 5\end{cases} $$ 對應於,一旦使用矩陣表示,解決: $$ \pmatrix{5&17 \ 8&3} \times \pmatrix{k_{11}\k_{12}} \equiv \pmatrix{15\2} \mod 26 $$ $$ \pmatrix{5&17 \ 8&3} \times \pmatrix{k_{21}\k_{22}} \equiv \pmatrix{16\5} \mod 26 $$ 既然你已經計算過了,你就知道 $$ X^{-1} \equiv \pmatrix{9&1 \2&15 \} \mod 26 $$ 為了 $ X=\pmatrix{5&17 \8&3 \} $ . 但是現在,在我看來,這就是您做錯了什麼:要獲得密鑰,您可以簡單地通過左乘來解決上述方程 $ X^{-1} $ 以便:

$$ \pmatrix{k_{11}\k_{12}} \equiv X^{-1}\times X\times \pmatrix{k_{11}\k_{12}} \equiv X^{-1}\times y_1\equiv \pmatrix{9&1 \ 2&15} \times \pmatrix{15\2}\mod 26 $$ 同樣適用於 $ X^{-1}\times y_2 $ : $$ \pmatrix{k_{21}\k_{22}} \equiv X^{-1}\times X\times \pmatrix{k_{21}\k_{22}} \equiv X^{-1}\times y_2\equiv \pmatrix{9&1 \ 2&15} \times \pmatrix{16\5}\mod 26 $$ 在計算最新結果之後,您最終得到的關鍵似乎是: $$ \begin{cases}k_{11}=7\ k_{12}=8 \k_{21}=19\k_{22}=3\end{cases} $$ 這轉化為$$ K=\pmatrix{7&8\19&3} $$ 你可以檢查一下 $ ay $ 加密成 $ ku $ $$ K \times \pmatrix{0\24}\equiv \pmatrix{10\20} \mod 26 $$ 但要解密任何內容,您需要反轉密鑰以獲得: $$ K^{-1}=\frac{1}{det(K)}\pmatrix{3&-8\-19&7}\equiv 25 \pmatrix{3&-8\-19&7} \equiv \pmatrix{23&8\19&19} \mod 26 $$ 所以你可以解碼 $ fr $ 來自 $ pq $ 經過: $ K^{-1}\times \pmatrix{15\16} \equiv \pmatrix{5\17} \mod 26 $ 檢查出來。 這是因為解碼希爾的密碼需要將密碼左乘以密鑰的倒數。

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