古典密碼-希爾密碼Hill


本文目的在於整合了網上的Hill Cipher原理、解密及算法實現
大部分均為轉載,可以鏈接到原文地址查看,這里只是整合文章

簡介

以下直接搬運原文,便於查看,也可以直接鏈接到原文地址查看

ctf-wiki-Hill

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

  1. 在線網頁
    http://www.atoolbox.net/Tool.php?Id=914
    http://www.practicalcryptography.com/ciphers/hill-cipher/
  2. 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM