本稿では,シーザー暗号の一つであるROT13の暗号化と復号が同一の操作であることを証明する.
ROT13とは,アルファベットをそれより13文字後のアルファベットに置き換える暗号である.
"I love math."をROT13で暗号化すると"V ybir zngu."になる.
このような暗号を数学的に扱うには,割り算の余りの問題に置き換えるのが良いだろう.各アルファベットに対して,Aに0,Bに1,...,Zに25,と整数をあてはめることで,ROT13を次のように定義することができる.
整数$n$に対して,$n+13$を$26$で割ったときの余りを$\text{ROT}_{13}(n)$と定める.
ROT13によって暗号化されたものを復号するには,再びROT13を適用すればよい.
"V ybir zngu."をROT13で暗号化すると"I love math."になる.
この事実を数学的に証明してみよう.そのためには,ROT13の逆関数がROT13自身であることを示せばよい.
$n=0,1,\cdots,25$に対して$\text{ROT}_{13}(\text{ROT}_{13}(n))=n$が成り立つ.
ROT13の定義より,整数$n$に対し,ある整数$k$が存在して
$$
n+13=26k+\text{ROT}_{13}(n)
$$
すなわち
$$
\text{ROT}_{13}(n)=n-26k+13
$$
が成り立つ.よって
$$
\text{ROT}_{13}(\text{ROT}_{13}(n))=\text{ROT}_{13}(n-26k+13)\tag{1}\label{prf1}
$$
となる.ここで,
$$
(n-26k+13)+13=n-26k+26=26(1-k)+n
$$
であることに注意すると
$$
\text{ROT}_{13}(n-26k+13)=n\tag{2}\label{prf2}
$$
である.従って,\eqref{prf1}と\eqref{prf2}より$\text{ROT}_{13}(\text{ROT}_{13}(n))=n$が得られる.