デジタル署名 ~基本情報技術者試験対策~

デジタル署名とは

データと一緒に添付する署名で、データが誰から送られたものなのか、またデータが改ざんされていないか確認できるもの。

ハッシュ関数とは

元のデータからまったく別の値を返す関数のこと。

例えばハッシュ関数を使うと下のように、まったく別の値が返されます。

コーヒーが好きなネコ ⇒ alO9au56Xk

返されるのは、「まったく別の値」ですが決まったルールに従って返されるものになるので、元のデータが同じであれば必ず同じ「まったく別の値」が返されます。

また、ハッシュ関数によって返される値をハッシュ値といいます。

そしてデジタル署名では、このハッシュ値をメッセージダイジェストと呼んでいます。

デジタル署名のながれ

  1. 送信者であるBさんは送信するデータからハッシュ関数を使ってダイジェスト(ハッシュ値)をつくる。
  2. Bさんは秘密鍵をつかって1でつくったダイジェストを暗号化して署名をつくる。
  3. 元データに署名をくっつけてAさんに送る。
  4. Aさんは署名をBさんの公開鍵をつかって復号(解読)する。
  5. 4とは別にBさんは送られたデータからダイジェストをつくる。
  6. 4と5のダイジェストを比較して一致している確認する。

上記のことからAさんはBさんの公開鍵を使ってデジタル署名を復号していることからデータはBさんのものだと確認することが出来ます。

また、メッセージダイジェストを比較することでデータが改ざんされていないか確認することもできます。

by
関連記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です