今日はハッシュ関数について学びました。
まず・・・ハッシュ関数とはそもそもなんなのでしょうか?
ハッシュ関数とは
ハッシュ関数とは、改ざん、なりすましを防ぐためにつかう方法です。
重要な書類を相手に送る際に、そもそも、書類を送ってくる相手が本当に本物なのか?送る途中で、改ざんなどがされていないのか?
そんな不安が付きまといますよね。
そんな時に使われるのがこのハッシュ関数なのです。
使われる場面としては、電子署名、プロバイダーにパスワードを振る時などがあります。
一方で、この前学んだ暗号化というのは、第三者に見られるのを防ぐために、内容に鍵をかけて、暗号化することを言います。
暗号化→第3者に見られるのを防ぐ
ハッシュ関数→改ざん、なりすましを防ぐ
こんな感じです。
電子署名
では、電子署名を使って契約書を送るケースについて見ていきたいと思います。

AからBに大切な書類を送る場合に使われるのが電子署名です。
契約書などの大切な文書にハッシュ関数をかけます。
これを要約値と言い、この要約値と、契約書を合わせて、電子署名付き契約書と言います。
この電子署名付き契約書にAの秘密鍵をかけてBに送るのです。
これは唯一、Aの公開鍵をつかって開けることができます。
Bは開けれることによって、送り主はAのなりすましではないということがわかります。
しかし、送ってきたAは本人でも、契約書自体が、誰かに改ざんされている場合がありますよね。
この時に、この改ざんを防ぐ方法があるんです。
Bに送られてきた契約書にハッシュ関数をかけることによって、要約値が出てきます。
この要約値と、Bに送られてきた電子署名(要約値)を見比べるのです。見比べた結果、同じだった場合、この文書は改ざんされていないということがわかるのです。
プロバイダーの仕組みも同じで、パスワードをハッシュ関数をかけることで、かいざん、なりすましを防いでいます。
しかし、ここで疑問が・・・。
そもそもこの公開鍵自体が本物でなかったら?
それを防ぐための役所があります。それが認証局(CA)と呼ばれる場所なんです。
認証局とは?
認証局はそもそもの公開鍵が正しいのかを証明する場所です。
会社は認証局に公開鍵をお金を払い預けておくことで、この公開鍵は本物だということを証明できます。
認証局で有名なところはベリサインがあります。
https://www.verisign.com/
最後に
ということで、この記事ではハッシュ関数について書かせていただきました。
少しわかりにくい分野かもしれませんね。。。
この記事を含めネットワーク関連の勉強はこの本を使用しています。図や絵を使って説明されているため、初めてネットワークを勉強する人にとってもとてもわかりやすいですよ♪