- 送信者はキーペアを生成して、あらかじめ送信者に公開鍵と署名内容を伝える
- 送信者がデータを送信する際には、自分の秘密鍵で署名内容を暗号化し送信データに付与する
- 受信者は暗号化した署名内容を公開鍵で復号化し事前に知らされた署名内容と同じであれば本人であると確認できる
署名内容がいつも同じであると、暗号化された署名内容が漏洩した際、その内容を利用して そのため、送信するたびに署名内容を変更することが望ましい。 この署名内容として、電子署名を付加するデータから生成したダイジェストを利用するのが良い。
ダイジェストは署名対象データを元にハッシュ関数を用いて生成する。 署名内容にダイジェストを用いた場合の送信フローは以下である。
送信者
- 送信データからダイジェストを生成する
- ダイジェストを秘密鍵で暗号化し送信データに付与する
- データを送信する
受信者
- 受信データからダイジェストを生成
- 署名を公開鍵で復号化
- 1と2が同様であるか比較する