在密碼學的演進史上, ROT3 cipher 是最古老的加密技術之一。它源自凱撒大帝的戰場通訊策略,以簡單的字母位移實現資訊保護,至今仍是學習加密原理的最佳入門案例。 ROT3 的加密原理 ROT3 屬於 單字母取代加密法(Monoalphabetic Substitution Cipher) ,核心規則極為直觀:將每個英文字母在字母表中向右位移 3 位。例如, A → D、B → E、Z → C (超過 Z 則從頭循環)。加密與解密使用同一把「金鑰」(位移量 3),因此屬於 對稱式加密 。解密時只需反向位移 3 位,將 D → A、E → B 依此類推即可還原原文。大小寫字母分別獨立處理,非字母字符(數字、標點)則保持不變。這種設計讓 ROT3 操作門檻極低,無需任何工具即可手動完成加解密。 def rot3(text, decrypt=False): shift = -3 if decrypt else 3 result = [] for ch in text: if ch.isalpha(): base = ord('A') if ch.isupper() else ord('a') result.append(chr((ord(ch) - base + shift) % 26 + base)) else: result.append(ch) return ''.join(result) 歷史意義與安全侷限 ROT3 直接對應史書記載的 凱撒密碼(Caesar Cipher) 原始版本——據《高盧戰記》記載,凱撒正是使用位移量 3 與盟友通訊。這使 ROT3 具備獨特的歷史地位,有別於泛稱所有位移量的「凱撒密碼」。然而,其安全性幾乎為零:英文字母只有 26 種,攻擊者只需嘗試 25 次便能暴力破解。加上 頻率分析攻擊 (Frequency Analysis)可透過字母出現頻率快速識別位移量,ROT3 在現代密碼學中毫無實戰價值。它的意義在於揭示加密的最基本概念: 混淆(Confusion) ,為後續複雜加密演算法的學習奠定認知基礎。 ...