a708: H. 矩陣加密
標籤 : 110學年度初階班上學期期末考
通過比率 : 28人/28人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2021-12-17 20:34

內容

希爾密碼是運用基本矩陣論原理的替換密碼,由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
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (10%): 1.0s , <1K
公開 測資點#1 (10%): 1.0s , <1K
公開 測資點#2 (10%): 1.0s , <1K
公開 測資點#3 (10%): 1.0s , <1K
公開 測資點#4 (10%): 1.0s , <1K
公開 測資點#5 (10%): 1.0s , <1K
公開 測資點#6 (10%): 1.0s , <1K
公開 測資點#7 (10%): 1.0s , <1K
公開 測資點#8 (10%): 1.0s , <1K
公開 測資點#9 (10%): 1.0s , <1K
提示 :
標籤:
110學年度初階班上學期期末考
出處:
[管理者:
fdhsj311038428 (unknown)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」