1) 選定一個祕密鍵,祕密鍵是由 0 ~ n-1 的數字所構成,但是排列 的順序卻是他們任意挑選的。
2) 把要編碼的訊息(明文)寫在秘密鍵下面,每個字元與秘密鍵的一數字對齊。位於位置i的字元 經編碼後其位置為 ai,ai為秘密鍵中第i個位置的值。明文中的每個字元編碼後就得到密文了。這密文還可以用同樣的策略再加密,經過了 k 次加密後產生密文。
3) 本題假設明文的長度剛好等於祕密鍵的長度。
Patrick 在練習這個題目時,發現當 k 值很大時,結果會逾時,
於是他假設一定存在一個值 ( 以下稱 oscar )
當加密的次數達到 oscar 時,又會變回原來的明文。
所以只要做 k % oscar 次即可。
請你幫忙找出 oscar 值。
假設祕密鍵為 2 3 5 4 1 6 0
明文為分解為 p a t r i c k
加密回次及結果如下:
1: kipartc
2: crkiapt
3: tacrikp
4: pitarck
5: krpiatc
6: cakript
7: ticarkp
8: prtiack
9: kapritc
10: cikarpt
11: trciakp
12: patrick