はじめに
暗号化技術のうちの古典暗号をまとめる。
古典暗号とは
古典暗号とは、コンピューターが登場する以前に用いられていた暗号です。
古典暗号の特徴としては、以下があげられます。
- 復号するための鍵の総数が少ない
- アルゴリズムが単純
この記事では、以下の古典暗号について書きます。
- シーザー暗号
- スキュタレー暗号
- 転置式暗号
- 単一換字式暗号
シーザー暗号
アルゴリズム
以下のようにアルファベットを 3 文字ずらして暗号化します。
平文 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
暗号文 | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C |
例
apple
を暗号化する際は、上記の表の対応からDSSOH
になります。
スキュタレー暗号
アルゴリズム
細長い紙を決まった太さの棒に巻きつけ、横に読んだときに平文になるというものです。
この場合の鍵にあたるのは「棒」で、同じ太さの棒を事前に共有しておくことで復号することができます。
(引用: https://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%AD%E3%83%A5%E3%82%BF%E3%83%AC%E3%83%BC)
転置式暗号
アルゴリズム
平文を n 文字ずつのブロックに区切り、決められた規則で文字を置き換えるものです。
例
n=4
の場合で、以下の様に文字を置き換えるとします。
平文 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
暗号文 | 4 | 1 | 2 | 3 |
この場合、
- 1 文字目は 4 文字目に置き換える
- 2 文字目は 1 文字目に置き換える
- 3 文字目は 2 文字目に置き換える
- 4 文字目は 3 文字目に置き換える
i love you
を暗号化する場合、(空白は今回取り除いてiloveyou
)
ilov
とeyou
の 2 つのブロックに分けられます。
それぞれを暗号化すると、
ilov
→ VILO
eyou
→ UEYO
になり、最後にこれらをつなげてVILOUEYO
にして暗号化が完了です。
復号化はこの逆をすれば良いです。
単一換字式暗号
アルゴリズム
1 つの文字を別の文字に 1 対 1 で対応させたものです。
例えば、以下のような表です。
平文 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
暗号文 | D | I | C | O | X | V | U | T | P | A | Y | Q | L | H | B | G | S | W | R | F | Z | M | E | N | K | I |
例
上記の表で、apple
を暗号化する場合はDGGQX
になります。
最後に
古典暗号は人間が暗号化・復号化をする必要があるので、比較的単純なアルゴリズムで出来ています。
今度は、現代暗号をある程度学び、普段身の回りで使われている暗号について考えれればと思います。