希爾密碼是運用基本矩陣論原理的替換密碼,由Lester S. Hill在1929年發明。
將每個字母當作26進制數字:$A=0, B=1, C=2, ..., Z=25$
一串字母當成$n$維向量,跟一個$n$*$n$的矩陣相乘,再將得出的結果模26。
hank 看到這個加密方式以後,覺得十分新奇,不過運算實在太複雜了,所以 hank 將這個加密方式進行更改,而規則如下:
將長度為$2n$的字串先照上面規則轉為26進制數字,然後放到2*$n$的矩陣上,再跟密匙(2*2的矩陣)相乘,則加密完成
以"$GOOGLE$"為例,$G=6,O=14,L=11,E=4$
密匙為$\begin{bmatrix}4 & 3 \\1 & 2 \\\end{bmatrix}$
則加密過程為
$\begin{bmatrix}4 & 3 \\1 & 2 \\\end{bmatrix} \begin{bmatrix}6&14&14 \\6& 11&4 \\\end{bmatrix} = \begin{bmatrix}(4 \times 6 + 3 \times 6)&(4 \times 14 + 3 \times 11)&(4 \times 14 + 3 \times 4) \\(1 \times 6 + 2 \times 6)&( 1 \times 14 + 2 \times 11)&(1 \times 14 + 2 \times 4)\\\end{bmatrix} = \begin{bmatrix}42&89&68 \\18&36&22 \\\end{bmatrix} \equiv \begin{bmatrix}16&11&16 \\18&10&22 \\\end{bmatrix} \; mod \;26$
對應的密文就是"$QLQSKW$"
第一行輸入加密前的文字$S$
接下來輸入4個數$a, b, c, d$,代表密匙$\begin{bmatrix}a & b \\c & d \\\end{bmatrix}$
($S$由大寫英文組成,且中間沒有空格)
($0 \leq a,b,c,d \leq 10$)
輸出獲得的密文
GOOGLE 4 3 1 2
QLQSKW
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |