1

ROT13の暗号化と復号が同一であることの証明

36
0
$$$$

本稿では,シーザー暗号の一つであるROT13の暗号化と復号が同一の操作であることを証明する.

ROT13の定義

ROT13

ROT13とは,アルファベットをそれより13文字後のアルファベットに置き換える暗号である.

ROT13による暗号化

"I love math."をROT13で暗号化すると"V ybir zngu."になる.

このような暗号を数学的に扱うには,割り算の余りの問題に置き換えるのが良いだろう.各アルファベットに対して,Aに0,Bに1,...,Zに25,と整数をあてはめることで,ROT13を次のように定義することができる.

ROT13(割り算の余りによる定義)

整数$n$に対して,$n+13$$26$で割ったときの余りを$\text{ROT}_{13}(n)$と定める.

ROT13による暗号化(割り算の余りによる定義)
  • $\text{ROT}_{13}(1)=14$(AはNに置き換わる)
  • $\text{ROT}_{13}(20)=7$(TはGに置き換わる)

ROT13の復号

ROT13によって暗号化されたものを復号するには,再びROT13を適用すればよい.

ROT13の復号

"V ybir zngu."をROT13で暗号化すると"I love math."になる.

この事実を数学的に証明してみよう.そのためには,ROT13の逆関数がROT13自身であることを示せばよい.

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$が得られる.

投稿日:27日前
更新日:27日前
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

電気魚
電気魚
25
32025

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中