希爾密碼是運用基本矩陣論原理的替換密碼,由Lester S. Hill在1929年發明。
每個字母當作26進制數字:A=0, B=1, C=2... 一串字母當成n維向量,跟一個n×n的矩陣相乘,再將得出的結果模26。
注意用作加密的矩陣(即密匙)在
必須是可逆的,否則就不可能解碼。只有矩陣的行列式和26互質,才是可逆的。
考慮訊息ACT,因為A=0,C=2,T=19,訊息是:
![{\displaystyle {\begin{pmatrix}0\\2\\19\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/85d9ae94a77a2d2999aeaeda1e4cf71e7e2f29db)
設密匙為
![{\displaystyle {\begin{pmatrix}6&24&1\\13&16&10\\20&17&15\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/93b997fb8b61b56bd670c74f34f98dd52461a7a5)
確認它是可逆的:
![{\displaystyle {\begin{vmatrix}6&24&1\\13&16&10\\20&17&15\end{vmatrix}}\equiv 6(16\cdot 15-10\cdot 17)-24(13\cdot 15-10\cdot 20)+1(13\cdot 17-16\cdot 20)\equiv 441\equiv 25\mod 26}](https://wikimedia.org/api/rest_v1/media/math/render/svg/07a6d7d19e16ab17614dd9892591e85864db8d55)
加密過程:
![{\displaystyle {\begin{pmatrix}6&24&1\\13&16&10\\20&17&15\end{pmatrix}}{\begin{pmatrix}0\\2\\19\end{pmatrix}}\equiv {\begin{pmatrix}67\\222\\319\end{pmatrix}}\equiv {\begin{pmatrix}15\\14\\7\end{pmatrix}}\mod 26}](https://wikimedia.org/api/rest_v1/media/math/render/svg/97303bbe5ff324b5816b2a28f6f8bbb143f303cf)
對應的密文便是「POH」。
假設對方知道密文和密匙,首先找出密匙的逆矩陣:
![{\displaystyle {\begin{pmatrix}8&5&10\\21&8&21\\21&12&8\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fcc894e9a6d22158970677969fda1e04f4becb27)
將逆矩陣和密文相乘:
![{\displaystyle {\begin{pmatrix}8&5&10\\21&8&21\\21&12&8\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fcc894e9a6d22158970677969fda1e04f4becb27)
![{\displaystyle {\begin{pmatrix}8&5&10\\21&8&21\\21&12&8\end{pmatrix}}{\begin{pmatrix}15\\14\\7\end{pmatrix}}\equiv {\begin{pmatrix}260\\574\\539\end{pmatrix}}\equiv {\begin{pmatrix}0\\2\\19\end{pmatrix}}\mod 26}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c5b14482e9ad08d59ee3698df3a120c52a34897a)
便得到「ACT」。
|
---|
| 密碼 家族 | 凱撒 | |
---|
| 空密码 | |
---|
| 一次性密碼本 | |
---|
| Polybius方格 | |
---|
| 方格密碼 | |
---|
| 替換 | |
---|
| 置换 | |
---|
| 其他 | |
---|
|
---|
| 密碼分析 | |
---|
| 其他 | |
---|
|
| | |
|