私は強化されたPGP暗号化メッセージを送信しましたが、それ以来元のメッセージが失われました。同じシステムでメッセージを暗号化するために使用されるアルゴリズムとキーも、メッセージを復号化できるように戻すことができる必要があります。そうですか?これを試しましたが、gpg --decrypt pgpmessage.txt
まだgpg --decrypt --recipient recipient pgpmessage.txt
エラーが発生します。可能ですか?
答え1
gpg --encrypt
非対称暗号化の使用:1つ以上の公開鍵で暗号化すると、その秘密鍵を使用してのみ結果を復号化できます。メッセージを復号化するには、受信者の一人の秘密鍵が必要です。自分で暗号化しないと、このキーがない可能性があります。
答え2
直接暗号化されたメッセージを作成していないと、そのメッセージを復号化できません。将来的には--encrypt-to
、またはを使用できます--hidden-encrypt-to
。これらのオプションは自分のキーIDと一緒に使用するように設計されており、自分に送信されるメッセージをさらに暗号化できます。
--encrypt-to name
Same as --recipient but this one is intended for use in the op‐
tions file and may be used with your own user-id as an "encrypt-
to-self". These keys are only used when there are other recipi‐
ents given either by use of --recipient or by the asked user id.
No trust checking is performed for these user ids and even dis‐
abled keys can be used.
--hidden-encrypt-to name
Same as --hidden-recipient but this one is intended for use in
the options file and may be used with your own user-id as a hid‐
den "encrypt-to-self". These keys are only used when there are
other recipients given either by use of --recipient or by the
asked user id. No trust checking is performed for these user
ids and even disabled keys can be used.
これらのオプションのいずれかを使用して暗号化する必要があるのは、公開鍵暗号化のしくみです。与えられた公開鍵を使用してメッセージを暗号化するために、GnuPGはランダムな対称暗号化鍵を生成し、それを使用してメッセージを暗号化します(通常AES-CFB)。その後、AES 鍵が公開鍵で埋められ、暗号化されます。複数の受信者が必要な場合は、同じ鍵を別の公開鍵で再暗号化してメッセージに追加してください。したがって、複数の受信者を持つ暗号化されたメッセージには、AESで暗号化されたメッセージの単一のコピーとAESキーの複数のコピーがあり、各コピーは1人の受信者だけを復号化できます。
あなたがこれらの受信者の1人でない限り、AESキーを復号化することはできません。つまり、メッセージを復号化できません。 GnuPGは生成された対称キーのコピーをどこにも保存しません。したがって、メッセージを暗号化するために使用され、各受信者に対して独自に暗号化されると、そのコピーは破棄されます。受信者の秘密鍵にアクセスしないと返信できません。