旋轉密碼

旋轉密碼

中等

說明

建立旋轉密碼的實作,它有時也稱為凱薩密碼。

凱薩密碼是一種簡單的移位密碼,它會用介於0和26之間的整數金鑰,把字母表中所有字母位移。

由於模運算的關係,使用0或26當作金鑰時,永遠會得到相同的輸出。 字母會位移的量等於金鑰的值。

旋轉密碼的一般記法是ROT + <key>。 最常用的旋轉密碼是ROT13。

對拉丁字母套用ROT13會像這樣:

Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: nopqrstuvwxyzabcdefghijklm

它比埃特巴什密碼更強,因為它有 27 種可能的金鑰,以及 25 種可用的金鑰。

密文會以和輸入相同的格式寫出,包括空格和標點符號。

範例

  • ROT5:omg會得到trl
  • ROT0:c會得到c
  • ROT26:Cool會得到Cool
  • ROT13:The quick brown fox jumps over the lazy dog.會得到Gur dhvpx oebja sbk whzcf bire gur ynml qbt.
  • ROT13:Gur dhvpx oebja sbk whzcf bire gur ynml qbt.會得到The quick brown fox jumps over the lazy dog.

暫存器

暫存器 用途 型別 說明
$a0 輸入 位址 以 null 結尾的輸入字串
$a1 輸入 整數 位移量
$a2 輸入/輸出 位址 以 null 結尾的結果字串
$t0-9 暫時 任意 供暫時儲存使用

出處

Wikipedia連結會在新視窗或分頁中開啟
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
MIPS Assembly Exercism

準備好開始 旋轉密碼 了嗎?

註冊 Exercism,透過 70 個練習 和真人引導來學習並精通 MIPS Assembly,全部免費。