「位移加密法」是古典密碼器中常用的加密法,此處假設加密的對象侷限於 26 個英文字母。其原理如下:先對 26 個字母進行編碼,A->0、B->1、C->2、D->3、…、Y->24、Z->25。接著,當要對明文(加密前的資料)每一個字母加密時,採用 c=(p+key)mod26 進行計算,可獲得對應之密文(加密後的資料)字母,上式中,p 表示明文某一字母的編碼,c 表示所得到的對應之密文字母的編碼,key 是金鑰,mod 是取餘數運算。
舉例:現要對一明文字串「HELLO」進行位移加密法,假設金鑰 key=15,首先對其明文每一字母進行編碼 H->07、E->04、L->11、L->11、O->14,接著對每一字母的編碼,採用 c=(p+key)mod26 進行計算,可獲得對應之密文字母 的編碼,最後進行解碼,即可得到密文字串:
(07+15)mod26=22->W 、 (04+15)mod=19->T 、 (11+15)mod26=0->A 、
(11+15)mod26=0->A、(14+15)mod26=3->D,最後得到密文字串為「WTAAD」。
[注意]:規定明文字串及密文字串一律以大寫字母顯示。
輸入一個不定長度(最多 64 個字母)的明文字串及金鑰 key(小於 65536 的正整數)。
輸入格式如下:
第一行輸入明文字串。
第二行輸入加密金錀。
依照位移加密法及金鑰 key,輸出加密後的密文字串。
SECURE 7
ZLJBYL
HACKING 12
TMOWUZS
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |