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+1326で割ったときの余りをROT13(n)と定める.

ROT13による暗号化(割り算の余りによる定義)
  • ROT13(1)=14(AはNに置き換わる)
  • ROT13(20)=7(TはGに置き換わる)

ROT13の復号

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

ROT13の復号

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

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

ROT13の逆関数はROT13

n=0,1,,25に対してROT13(ROT13(n))=nが成り立つ.

ROT13の定義より,整数nに対し,ある整数kが存在して
n+13=26k+ROT13(n)
すなわち
ROT13(n)=n26k+13
が成り立つ.よって
(1)ROT13(ROT13(n))=ROT13(n26k+13)
となる.ここで,
(n26k+13)+13=n26k+26=26(1k)+n
であることに注意すると
(2)ROT13(n26k+13)=n
である.従って,(1)(2)よりROT13(ROT13(n))=nが得られる.

投稿日:416
更新日:416
OptHub AI Competition

この記事を高評価した人

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

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

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

電気魚
電気魚
26
32708

コメント

他の人のコメント

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