新プログラミング言語『Zero』を開発しました! 本サイトの記事数は「589」!!

シーザー暗号の暗号化と復号化!カエサル「サラダじゃないよっ!!」

シーザー暗号の暗号化と復号化!カエサル「サラダじゃないよっ!!」
Advertisement

 

タイトルが意味不明すぎてやばい。。

 

最近暗号技術にはまっていて、『暗号技術のすべて』という本を読んどります。

で、古典暗号である「シーザー暗号」が分かりやすくて楽しいのでまとめてみるんご。

でゅふふっでゅふふふふふふふふっでゅふふふふふふふふふふふふっ

 

僕のプロフィールはこちら

 

 

シーザー暗号とは

サラダじゃないよ。

ジュリアス・シーザー(ユリウス・カエサル)が考案した暗号です。

ガリア戦争の際、味方とのやりとりにシーザー暗号を用いていたらしいです。

 

 

シーザー暗号の特徴

  • シーザー暗号は「古典暗号のひとつ」である
  • シーザー暗号は「単一換字式暗号のひとつ」である。

 

 

シーザー暗号の仕組み

シーザー暗号の仕組みは「アルファベットを3文字分ずらす」というものです。

対応表は以下。

平文 暗号文
a D
b E
c F
d G
e H
f I
g J
h K
i L
j M
k N
l O
m P
n Q
o R
p S
q T
r U
s V
t W
u X
v Y
w Z
x A
y B
z C

※暗号化された文字列は「大文字」であることが多いので、暗号文は大文字とする。

 

 

Advertisement

 

シーザー暗号の暗号アルゴリズム・復号アルゴリズム

暗号アルゴリズム 平文の各文字を右に3文字ずらす
復号アルゴリズム 暗号文の各文字を左に3文字ずらす

※復号アルゴリズムに関して、アルファベットであれば26文字と決まっているので「暗号文の各文字を右に23(26-3)文字ずらす」でも可。

 

 

シーザー暗号を使ってみる

シェルで実行した場合はこうなるんご。

 

暗号化

 

復号化

 

 

caesal

実際にshellで打ち込んでみたらこんな感じ。

 

 

ROTって何?

シーザー暗号は「ROT3」とも呼びます。

ROTとは、rotate(回転)という意味で、ROTの後に付く数字は「何文字ずらしたか」の数字を表します。

n文字ずらすという時点で、シーザー暗号ではなく「シフト暗号」になるのでここで詳細は書きません。

 

3文字ずらす場合は「ROT3」だし、10文字ずらす場合は「ROT10」となります。

 

 

おすすめ書籍

この本、スーパー分かりやすくて超好き。

 

 

 

まとめ

シーザー暗号って面白いよね。

おわり。

うんちょこちょこちょこぴーーーーーーーーーーーーーーーーーーーーーーーーーー!!!

 

 

関連記事

以下の記事も合わせて読まれています。

Travelerを知らないの?