0

PGP を使用してメッセージを暗号化し、友人に送信しています。メッセージが対称鍵を使用して暗号化され、次に対称鍵が受信者の公開鍵を使用して暗号化されることを読みました。複数の受信者がいる場合、対称キーは受信者ごとに 1 回ずつ複数回暗号化され、暗号化されたメッセージに追加されます。フラグを設定すると、独自の公開キーでキーを暗号化し、メッセージに追加して、後で送信済みアイテム フォルダーから復号化できるようになります。

ここで、暗号化された対称キーが、メール アドレスと暗号化された対称キーの列を含むテーブルとしてメッセージに埋め込まれていると想像しました。したがって、受信者の 1 人 (例: ジョン) は、このテーブルを調べて自分の電子メール アドレス (john@somewhere.com など) を探し、それを見つけて、そのエントリが彼がデコードして対称キーを取得するためのものであることを知ります。

私の質問は、暗号化されたメッセージの受信者のリストが表示されないのはなぜですか? それがなければ、受信者はテーブル内の各エントリを調べて、解読できるエントリが見つかるまで解読を試みる必要があります。結果が乱数である対称鍵であることを考えると、受信者はそれが適切に復号化されたことをどのように知ることができるでしょうか。

繰り返しになりますが、暗号化されたメッセージの受信者のリストを復号化せずに表示できるはずだと思っていましたが、できません。どうしたの?

4

1 に答える 1

0

OpenPGP 用語では、受信者の公開鍵で暗号化された対称鍵を保持するパケットは、「公開鍵暗号化セッション鍵パケット」として知られています。RFC 4880 で定義されています https://www.rfc-editor.org/rfc/rfc4880#page-17

このパケットには、公開暗号化キーのキー ID のみが格納されます (ほとんどの場合、電子メール アドレスであるユーザー ID は格納されません)。そして、受信者はキー ID で検索して、復号化する必要のあるパケットを見つけます (実際には、これは PGP ソフトウェアによって行われます)。

受信者は、対称キーが適切に復号化されていることを常に認識しています。そうしないと、復号化アルゴリズムが失敗するためです。

同じことが、ランダム キーを使用したデータ パケットの復号化にも当てはまります。各ブロック暗号は、最後のブロックのチェックサムを検証するときに最後に失敗します。対称暗号の実装のチェックサム計算を削除しても、ガベージ データだけを受け取ります:)

于 2013-08-29T08:19:12.457 に答える