在希尔密码中要解密就要求密钥矩阵在剩余系下的逆矩阵.这篇文章主要是简述求逆的方法,备查备忘.
[
1
2
3
4
5
6
7
8
9
]
\left[ \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix} \right]
⎣⎡147258369⎦⎤
像这样的矩阵.
理论准备
对于低阶矩阵,最适合的方法是使用伴随矩阵.即:
A
∗
=
[
A
j
i
]
A^*=\left[ \begin{matrix} A_{ji} \end{matrix} \right]
A∗=[Aji]
其中需要注意的几点:
- A ∗ A^* A∗是转置的.最好按行算,按列写;
- A i j A_{ij} Aij= ( − 1 ) i + j × S o m e t h i n g (-1)^{i+j}\times Something (−1)i+j×Something.注意-1.
然后 A − 1 = A ∗ ∣ A ∣ A^{-1}=\frac{A^*}{|A|} A−1=∣A∣A∗.
Steps
- 计算 ∣ A ∣ |A| ∣A∣.确定是否可逆.
- 逐行计算 A i j A_{ij} Aij,注意-1.
- 计算 A − 1 A^{-1} A−1.
在剩余系内几点方法
- 在计算 A i j A_{ij} Aij的时候记得对模取余.
- 最后相除的时候:
由于 ∀ a ∈ Z m , a e q u a l s t o a + k m , k ∈ Z \forall a\in \mathbb{Z}_m,a\ equals\ to\ a+km,k\in \mathbb{Z} ∀a∈Zm,a equals to a+km,k∈Z,就是要找出 ∃ k , ∣ A ∣ ∣ a + k m = a ∣ A ∣ . \exists k,|A|\ |a+km=\frac{a}{|A|}. ∃k,∣A∣ ∣a+km=∣A∣a.
比如, Z 26 下 的 9 ÷ 7 , ∃ k = 1 , 9 + 1 × 26 = 35 , 7 ∣ 35 , ∴ 9 ÷ 7 = 35 ÷ 7 = 5. Z_{26}下的9\div 7,\exists k=1,9+1\times 26=35,7|35, \therefore 9\div 7=35\div 7=5. Z26下的9÷7,∃k=1,9+1×26=35,7∣35,∴9÷7=35÷7=5.