請實作 Atbash 密碼,這是一種源自中東的古老加密系統。
Atbash 密碼是一種簡單的替換式密碼,作法是將字母表中所有字母的順序反轉,讓產生的字母表變成反向排列。第一個字母由最後一個字母取代,第二個字母由倒數第二個字母取代,依此類推。
拉丁字母的 Atbash 密碼如下:
Plain: abcdefghijklmnopqrstuvwxyz
Cipher: zyxwvutsrqponmlkjihgfedcba
這種密碼的強度非常弱,因為它只有一種可能的金鑰,而且只是簡單的單表替換式密碼。不過,在這種密碼誕生的年代,這或許算不上問題。
密文會以固定長度分組寫出,傳統的分組大小是 5 個字母,數字保持不變,標點符號則會省略。這麼做是為了讓人更難依照詞語邊界猜出內容。所有文字都會編碼成小寫字母。
test編碼會得到gvhg
x123 yes編碼會得到c123b vh
gvhg解碼會得到test
gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt解碼會得到thequickbrownfoxjumpsoverthelazydog
這是個有趣的小練習,照著測試做就對了喔。