Classical-Cipher

關於 Hill Cipher 嬰兒床拖拽技術的說明

  • March 27, 2018

— 這已被編輯,因為我意識到這個問題很愚蠢。替換為有用的資訊 —

我想確認以下幾點:

給定密文“AGHTDIX …

$$ cont. $$“ (C) 和嬰兒床(我知道明文中存在的一個詞)“WITH”(P)

我試圖通過每次將“WITH”向下移動一個位置來找到密鑰(K),如下所示:

A   G   H   T   D   I   X
W   I   T   H   .   .   .
.   .   .   .   .   .   .
.   .   W   I   T   H   .
.   .   .   .   .   .   .

並使用公式計算它(將密文矩陣乘以明文/嬰兒床的模逆 - 抱歉,我不知道如何在此處插入正確的公式):

[K] = [C] x [P]-1 (mod 26)

我的問題 - 是 -真的很愚蠢,因為我忘記了希爾密碼成對加密。然後,嬰兒床拖動應適應包括可能出現在已知明文之前或之後的字母。

A   G   H   T   D   I   X
W   I   T   H   .   .   .
[?  W]  [I  T]  [H  ?]  .
.   .   W   I   T   H   .
.   .   .   .   .   .   .

下面的答案更詳細地解釋了。謝謝 :)

我想(當你使用長度 $ 4 $ 嬰兒床)你的加密矩陣 $ C $ 是形式

$$ \begin{bmatrix} k_{11} & k_{12}\ k_{21} & k_{22}\ \end{bmatrix} $$ 所以假設的話 $ (w_1, w_2, w_3, w_4) $ 在某個位置 $ m $ 給出兩個方程組

$$ \begin{bmatrix} k_{11} & k_{12}\ k_{21} & k_{22}\ \end{bmatrix} \begin{bmatrix} w_1\ w_2\ \end{bmatrix} = \begin{bmatrix} c_m\ c_{m+1}\ \end{bmatrix} $$和 $$ \begin{bmatrix} k_{11} & k_{12}\ k_{21} & k_{22}\ \end{bmatrix} \begin{bmatrix} w_3\ w_4\ \end{bmatrix} = \begin{bmatrix} c_{m+2}\ c_{m+3}\ \end{bmatrix} $$ 這使 $ 4 $ 四個關鍵條目中的方程式,改寫為,例如

$$ \begin{bmatrix}w_1 & w_2 \ w_3 & w_4\ \end{bmatrix} \begin{bmatrix} k_{11} \ k_{12} \end{bmatrix} = \begin{bmatrix}c_m \ c_{m+2}\end{bmatrix} $$和 $$ \begin{bmatrix}w_1 & w_2 \ w_3 & w_4\ \end{bmatrix} \begin{bmatrix} k_{21} \ k_{22} \end{bmatrix} = \begin{bmatrix}c_{m+1} \ c_{m+3}\end{bmatrix} $$ 這允許我們將候選鍵條目計算為

$$ \begin{bmatrix}k_{11}\k_{12}\end{bmatrix} = {\begin{bmatrix}w_1 & w_2 \ w_3 & w_4\\end{bmatrix}}^{-1} \begin{bmatrix}c_m \ c_{m+2}\end{bmatrix} $$ 等等,我們只需要提前計算一次明文矩陣的逆矩陣。

然後在密文的另一部分測試這些候選者(在 WITH 說之後)並檢查合理的文本。如果我們找到它,我們有正確的 $ m $ . 如果嬰兒床 WITH 開始於它被加密為 (W,I) (T,H) 的位置,則上述情況成立,您應該首先嘗試這樣 $ m $ 甚至。)。如果它在另一個位置,我們會在另外 2 個未知數(嬰兒床前後兩個缺失的兩個明文字元)中得到更多的方程(6 對 3 對密文),並且必須解決這些(通過電腦很容易)。

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