ROT13が自己逆元(対称)である理由

ROT13の自己逆元特性の数学的証明を探ります。剰余演算を理解し、シフト13がなぜ自身の逆元となる唯一のシーザー暗号バリアントであるかを学びます。

ROT13 Fundamentals

詳細な説明

ROT13の自己逆元特性

ROT13は25種類のシーザー暗号シフトの中で、2回適用すると必ず元のテキストに戻るという点でユニークです。この性質は自己逆元または対合的と呼ばれます。

数学的証明

各文字をその位置で表現します:A=0, B=1, ..., Z=25。

ROT13でエンコード:

E(p) = (p + 13) mod 26

結果にROT13を適用:

E(E(p)) = ((p + 13) + 13) mod 26
         = (p + 26) mod 26
         = p

26を加えてmod 26を取ることは恒等操作なので、ROT13は自身の逆元です。

なぜシフト13だけなのか?

シフトkのシーザー暗号が自己逆元であるためには:

2k mod 26 = 0

解はk = 0(シフトなし、自明)とk = 13です。1から25の間のその他のシフト値はこの方程式を満たしません。

実用的な意味

  • 実装が簡単: エンコードとデコードに1つの関数だけで済みます。
  • 鍵管理不要: 別の復号鍵を覚えたり送信したりする必要がありません。
  • 二重適用の安全性: ROT13が誤って2回適用されても、データは損なわれません。

剰余演算との関連

この性質は剰余演算における加法逆元の概念に直接関連します。Z₂₆(26を法とする整数)において、13の加法逆元も13です。なぜなら13 + 13 = 26 ≡ 0 (mod 26)だからです。

ユースケース

自己逆元特性の理解は、ROT13をソフトウェアライブラリに実装する際、エンコード/デコードのラウンドトリップのユニットテストを書く際、入門的な暗号学や離散数学のコースで剰余演算と群論を教える際に重要です。

試してみる — ROT13 / Caesar Cipher

フルツールを開く