X

図で説明するディジタル署名の仕組み

ハッシュ関数を使うと、送信メッセージの改ざんを検出できます。つまり、メッセージの完全性を維持することができます。
これに、公開鍵暗号の技術を組み合わせることで、送信者を特定する「ディジタル署名」を実現することができます。

ディジタル署名の仕組みを図で見てみましょう。

送信メッセージの準備

改ざんの検出のために、送信する平文をハッシュ化してメッセージダイジェストを作成します。

暗号化ダイジェストの作成

平文をハッシュ化したメッセージダイジェストを、公開鍵暗号の技術を使って、送信者の秘密鍵で暗号化します。暗号化したものを「暗号化ダイジェスト」とします。これを正しく復号できるのは送信者の公開鍵だけです。

送信者の秘密鍵を持っているのは、送信者だけなので、この暗号化ダイジェストを作れるのは送信者だけです。
暗号化されたダイジェスト=ディジタル署名
です。

平文とディジタル署名を送信する

送信しましょう。
(本当は平文とディジタル署名も公開鍵暗号を使って、受信者の公開鍵で暗号化しますが、ややこしくなるので今回の図は省略しました。)

ディジタル署名を検証する

受信した平文をハッシュ化して、①メッセージダイジェストを作ります。

送信者から公開鍵を取り寄せて、受信した暗号化ダイジェストを復号します。②復号したメッセージダイジェストが手に入ります。

①と②を比較します。

同じならば、メッセージが改ざんされておらず、
正しく複合できたので、送信者は本物だということが言えます。

 

スズキシゲキ: