本文目的在於整合了網上的Hill Cipher原理、解密及算法實現
大部分均為轉載,可以鏈接到原文地址查看,這里只是整合文章
簡介
以下直接搬運原文,便於查看,也可以直接鏈接到原文地址查看
ctf-wiki-Hill
希爾密碼(Hill)使用每個字母在字母表中的順序作為其對應的數字,即 A=0,B=1,C=2 等,然后將明文轉化為 n 維向量,跟一個 n × n 的矩陣相乘,再將得出的結果模 26。注意用作加密的矩陣(即密匙)在 Zn26Z26n 必須是可逆的,否則就不可能解碼。只有矩陣的行列式和 26 互質,才是可逆的。下面舉一個例子
明文:ACT
將明文化為矩陣。
\[\left[ \begin{matrix} 0 \\ 2 \\ 19 \end{matrix} \right] \]
假設密鑰為:
\[\left[ \begin{matrix} 6&24&1 \\ 13&16&10 \\ 20&17&15 \end{matrix} \right] \]
加密過程為:
\[\left[ \begin{matrix} 6&24&1 \\ 13&16&10 \\ 20&17&15 \end{matrix} \right]\left[ \begin{matrix} 0 \\ 2 \\ 19 \end{matrix} \right] ≡\left[ \begin{matrix} 67 \\ 222 \\ 319 \end{matrix} \right] mod\ 26 \]
密文即為
密文:POH
practicalcryptography.com-Hill
practicalcryptography.com-Hill
該網站詳細地介紹了Hill密碼,包括歷史、運用等等
但是在線的腳本只能支持 2 × 2 矩陣
Decrypto
- 在線網頁
http://www.atoolbox.net/Tool.php?Id=914
http://www.practicalcryptography.com/ciphers/hill-cipher/ - C語言實現解密算法
https://blog.51cto.com/xmwen1/1751672
相關題目
ISCC 2015 base decrypt 150
這里我們以 ISCC 2015 base decrypt 150 為例進行介紹,題目為
密文: 22,09,00,12,03,01,10,03,04,08,01,17 (wjamdbkdeibr)
使用的矩陣是 1 2 3 4 5 6 7 8 10
請對密文解密.
首先,矩陣是 3 × 3 的。說明每次加密 3 個字符。我們直接使用 Cryptool,需要注意的是,這個矩陣是按照列來排布的。即如下
1 4 7
2 5 8
3 6 10
參考WP:
github.com/purpleroc/ISCC-2015-Writeups
最后的結果為 overthehillx
。