デジタル署名 ~基本情報技術者試験対策~
デジタル署名とは
データと一緒に添付する署名で、データが誰から送られたものなのか、またデータが改ざんされていないか確認できるもの。
ハッシュ関数とは
元のデータからまったく別の値を返す関数のこと。
例えばハッシュ関数を使うと下のように、まったく別の値が返されます。
コーヒーが好きなネコ ⇒ alO9au56Xk
返されるのは、「まったく別の値」ですが決まったルールに従って返されるものになるので、元のデータが同じであれば必ず同じ「まったく別の値」が返されます。
また、ハッシュ関数によって返される値をハッシュ値といいます。
そしてデジタル署名では、このハッシュ値をメッセージダイジェストと呼んでいます。
デジタル署名のながれ
- 送信者であるBさんは送信するデータからハッシュ関数を使ってダイジェスト(ハッシュ値)をつくる。
- Bさんは秘密鍵をつかって1でつくったダイジェストを暗号化して署名をつくる。
- 元データに署名をくっつけてAさんに送る。
- Aさんは署名をBさんの公開鍵をつかって復号(解読)する。
- 4とは別にBさんは送られたデータからダイジェストをつくる。
- 4と5のダイジェストを比較して一致している確認する。
上記のことからAさんはBさんの公開鍵を使ってデジタル署名を復号していることからデータはBさんのものだと確認することが出来ます。
また、メッセージダイジェストを比較することでデータが改ざんされていないか確認することもできます。
2021-08-22 by
関連記事
コメントを残す