クイックノート

ちょっとした発見・アイデアから知識の発掘を

暗号のしくみ

Webページを見ていると
暗号化されているページ、
暗号化されていないページ、
というワードを見かけることがあります。

例えば、下のように表示されるページは暗号化されています。 f:id:u874072e:20180327144700p:plain:w300

では、暗号化というのは何をしているのでしょうか、
そして、何のために暗号化が必要なのでしょうか。

暗号化の必要性

私たちは、普段あまり意識していませんが、
インターネットで特定のサイトにアクセスする時、
いくつもの地点を経由して、そのサイトのサーバーに接続しています。

当然、サーバーとの間のやり取りも、それらの地点を経由して行うので、
間に誰が入っているかも分からないまま、やり取りを垂れ流しています。

そんな状態で、例えばログインのためにパスワードを入力すると、
誰かがそのパスワードを見てしまう可能性があります。

f:id:u874072e:20180327145448p:plain:w400

そのため、自分とサーバー以外には分からない形で、
文章を暗号化し、
他の人が見たとしても、
パスワードなどの情報が漏れないように、
しておく必要があります。

f:id:u874072e:20180327150252p:plain:w400

暗号化されているサイトにアクセスしている時は、
常に、暗号化された状態でやり取りを行います。

つまり、インターネットに情報を送り出す側が暗号化し、
インターネットから情報を受け取った側は暗号を元に戻します(復号化)。
これをサイトへのアクセスが終わるまで常に続けることで、
自分とサーバー以外には情報が漏れることがありません。

暗号の鍵

では、暗号化とはどのように行っているのでしょう。

最も簡単な暗号化は、特定の文字を入れ替えるというものでしょう。
例えば、「パスワード」をローマ字に直して「pasuwa-do」として、
次の表で文字を入れ替えます。

元の文字 入れ替え後の文字
p o
a s
s d
u y
w e
- 0
d f
o i

すると、暗号「osdyes0fi」を得ます。
実は先ほどの画像の暗号は、このルールに則って作られたものです。

文字を入れ替える暗号は換字式暗号と呼ばれます。

この場合、上の表のように、対応を決めると、
具体的に暗号を作ったり、逆に暗号を読み解くことができます。

この暗号を作ったり、暗号を読み解く時に必要となる情報を暗号のと呼びます。

共通鍵暗号

上の換字式暗号では、どの文字とどの文字を入れ替えるのかが分かってしまえば、
暗号を作ることも、復号することも両方できてしまいます。

つまり、暗号化する側も、復号化する側も同じ表を使うことになります。
このように、暗号化側と復号化側で同じ鍵を使う暗号を、
共通鍵暗号と呼びます。

共通鍵暗号では、鍵を持っている人が、
メッセージのやり取りに参加することができます。

逆に、第三者に鍵が知られてしまうと、
その人にメッセージの内容を読み取られてしまいます。

そのため、メッセージのやり取りをする前に、
安全な方法で、やり取りをする相手と鍵を共有しておく必要があります。
このため、共有鍵暗号とも呼ばれます。

プライバシーポリシー