HOME Others
Cryptography
シーザー暗号

シーザー暗号

さて,これまでは下記のように文字を文字に置き換える方法でした.

今回は文字を数字に置き換える方法をとってみたいと思います.
数値に置き換える利点は,コンピュータでの処理をしやすくするところです.コンピュータで処理=計算することになるので,暗号化の鍵はキーワード(鍵語/上表ではKEYWORD)ではなく,計算式になります.
まず単純にA〜Zに数値を入れていきます.

ABCDEFGHIJKLMNOPQRSTUVWXYZ
0001020304050607080910111213141516171819202122232425
ココで肝心なのは,A=01からではなくA=00から置き換えるコトです.
0〜25という数値はアルファベット26文字と,どう関係しているのでしょうか?

今が深夜の0:00だとすると,今から50時間後は何時でしょう?
計算方法はいくつかあると思いますが,時間は24時間で0:00に戻るので50時間で24時間がいくつあるか(=何日経ったか)を計算し,残った数値はその日の何時であるかを表すことになるので…
 50−24=26
 26−24=2
もう少しスマートな計算式は
 50÷24=2余り2
これは24時間が2回と残り2
となり午前2:00となります.
では,今から130時間後は何時でしょう?
 130÷24=5余り10
となり10:00となります.

以上のコトは,また別の式=mod記数方でも表すコトができます.
50 mod 24 = 2
130 mod 24 = 10
これらは50や130を24で割ったときの[余り]を求める式です.

 0 mod 24 = 0
 1 mod 24 = 1
 2 mod 24 = 2
 3 mod 24 = 3
 ・・・
 23 mod 24 = 23
 24 mod 24 = 0
 25 mod 24 = 1
 26 mod 24 = 2
 ・・・
 47 mod 24 = 23
 48 mod 24 = 0
 49 mod 24 = 1
 50 mod 24 = 2
 ・・・
と表記できるのがおわかりでしょうか?