希尔密码是运用基本矩阵论原理的替换密码,由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方格 | |
---|
方格密码 | |
---|
替换 | |
---|
置换 | |
---|
其他 | |
---|
|
---|
密码分析 | |
---|
其他 | |
---|
|
|
|