第二題 位移加密法

問題描述
       「位移加密法」是古典密碼器中常用的加密法,此處假設加密的對象侷限於 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