Modular-Arithmetic

Hill-Chiffre - 我如何找到矩陣XXX

  • October 11, 2016

這是經典密碼學的一個問題:Hill-Chiffre Where the matrix $ A $ 是明確的資訊和矩陣 $ C $ 編碼的消息。

我怎樣才能找到矩陣 $ X $ ?

我可以使用哪種方法?

$$ \underbrace{\begin{pmatrix} 15 &4 & 17 \ 12 &20 & 19\ 0 &19 &8\ 14 &13 &18\ 10 &17 &24\ 15 &19 &14\ 18 &24 &18\ 19 &4 &12\ \end{pmatrix}}{A} \cdot X = B\pmod{26} = \underbrace{\begin{pmatrix} 8 &3 &0\ 18 &1 &23\ 19 &13 &7\ 15 &5 &13\ 11 &23 &17\ 23 &19 &0\ 8 &12 &2\ 16 &24 &5 \end{pmatrix} }{C} $$ 提前謝謝了。


更新 - 我的嘗試:

$$ X=(A^T \cdot A)^{-1}\cdot A^T \cdot B $$

$$ A^T = $$ $ \begin{pmatrix} 15 &4 &17\ 12 &20 &19\ 0 &19 & 8\ 14 &13 &18\ 10 &17 &24\ 15 &19 &14\ 18 &24 &18\ 19 &4 &12\ \end{pmatrix}^T= \begin{pmatrix} 15 &12 &0 &14 &10 &15 &18 &19\ 4 &20 &19 &13 &17 &19 &24 &4\ 17 &19 &8 &18 &24 &14 &18 &12\ \end{pmatrix} $ $$ A^T \times A = $$ $ \begin{pmatrix} 15 &12 &0 &14 &10 &15 &18 &19\ 4 &20 &19 &13 &17 &19 &24 &4\ 17 &19 &8 &18 &24 &14 &18 &12\ \end{pmatrix} \times \begin{pmatrix} 15 &4 &17\ 12 &20 &19\ 0 &19 & 8\ 14 &13 &18\ 10 &17 &24\ 15 &19 &14\ 18 &24 &18\ 19 &4 &12\ \end{pmatrix}= $ $$ \begin{pmatrix} 1575 &1445 &1737\ 1445 &2188 &1988\ 1737 &1988 &2278\ \end{pmatrix} (\mod 26) = \begin{pmatrix} 15 &15 &21\ 15 &4 &12\ 21 &12 &16\ \end{pmatrix} $$

$$ (A^T \times A)^{-1} = $$ $$ \begin{pmatrix} 15 &15 &21\ 15 &4 &12\ 21 &12 &16\ \end{pmatrix}^{-1}= \begin{pmatrix} \frac{-20}{249} &\frac{1}{83} &\frac{8}{83}\ \frac{1}{83} &\frac{-67}{332} &\frac{45}{332}\ \frac{8}{83} &\frac{45}{332} &\frac{-55}{332} \end{pmatrix} $$

$$ ?? $$

首先註意 X 必須是一個 3x3 矩陣。

然後使用以下過程:

讓 $ X_k $ 是 X 的第 k 列和 $ C_k $ C的第k列。

然後你可以解三個方程 $ A X_k = C_k $ 通過高斯消去:

一般情況下,讓 $ A\cdot X=B $ . 然後:

$$ {(A^T\cdot A)^{-1}}\cdot A^T\cdot A \cdot X={(A^T\cdot A)^{-1}}\cdot A^T \cdot B $$ 所以

$$ X={(A^T\cdot A)^{-1}}\cdot A^T \cdot B. $$

**編輯:**解決這個問題的另一種方法是求解從矩陣乘法定律導出的波紋管方程(當 $ A^T\cdot A $ 是不可逆的,這個方法很有用):

$$ 15x_{1,1}+4x_{2,1}+17x_{3,1}=8\15x_{1,2}+4x_{2,2}+17x_{3,2}=3\\vdots\19x_{1,2}+4x_{2,2}+12x_{3,2}=24\19x_{1,3}+4x_{2,3}+12x_{3,3}=5. $$

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