第六題 解密運算 問題描述 假設 Alice 要傳送一份機密訊息 P 給 Bob,為了避免機密訊息曝光,Alice 打算使用一種加密換位技術來保護此機密訊息。加密換位的過程是先輸入一個大於 1 的數字 K 當作金鑰及一串機密訊息,金鑰值為列數、機密訊息長度為行數,然後將機密訊息依照順序以鋸齒狀的方式進行排列,排列完成後,從左至右、由上到下讀取,即可得到密文 C。 舉例 1:若輸入 K=3,機密訊息 P="university",則加密運算如下圖:
密文 C="uetnvriyis" 舉例 2:若輸入 K=2,機密訊息 P="university",則加密運算如下圖:
Alice 運算得到密文 C 後,再將密文 C 傳送給 Bob,Bob 收到密文 C 後,擬輸入相同金鑰 K 及密文 C,透過解密運算,還原回原來的機密訊息 P。 輸入說明 輸入一個大於 1 的正整數 K(K<100),例如:3,再輸入一個密文 C(C 的字母數<100),例如: uetnvriyis。 輸出說明 輸出答案為機密訊息 P,例如: university。 範例
|