gpgが暗号化と復号化のためのキー割り当てを必要としないのはなぜですか?

gpgが暗号化と復号化のためのキー割り当てを必要としないのはなぜですか?

GNUプライバシーマニュアルは次のように述べています。

コマンドラインオプション--signはデジタル署名に使用されます。署名する文書を入力し、署名された文書を出力します。

alice% gpg --output doc.sig --sign doc

You need a passphrase to unlock the private key for
user: "Alice (Judge) <[email protected]>"
1024-bit DSA key, ID BB7576AC, created 1999-06-04

Enter passphrase:

どの秘密鍵を使用するかを尋ねないのはなぜですか?コマンドを実行しているユーザーは複数の秘密鍵を保持できませんか?

--symmetryオプションを使用すると、対称パスワードを使用して文書を暗号化できます。

alice% gpg --output doc.gpg --symmetric doc
Enter passphrase:

gpgは入力ファイルをパスワードで対称的に暗号化しますか?それとも、入力ファイルを対称的に暗号化するために使用されるキーにアクセスするためにパスワードを使用しますか?後者の場合、対称暗号化に使用する鍵を要求しないのはなぜですか?ユーザーは対称暗号化に使用できる複数のキーを持つことはできませんか?

対称的に暗号化されたファイルを復号化するとき、

alice% gpg --descrypt doc.gpg 

成功します。パスワード(および復号化キー)を要求しないのはなぜですか?doc.gpg 他人に渡した後、どのように復号化するのですか?

ありがとうございます。

ベストアンサー1

GnuPGは以下を使用します。最初--default-user両方が指定されていない場合は、秘密鍵リングでキーを見つけることができます--local-user。使用する主キーを定義することもできます。

default-key KEYID

存在する~/.gnupg/gpg.conf

対称暗号化はいいえ関連するすべての公開または秘密鍵。入力したパスワードは、メッセージを暗号化して復号化するために使用されます(したがって「対称」)。

gpg-agentこの例では、プロセスがメッセージを暗号化するために使用したパスワードをキャッシュしているため、復号化時にパスワードの入力を求められません。エージェントを終了してメッセージの復号を再試行すると、パスワードの入力を求められます。

ファイルを共有しdoc.gpgて暗号化されている場合対称暗号化するには、受信者がメッセージを復号化できるように、何らかの方法でパスワードを共有する必要があります。パスワードを知っている人は誰でもメッセージを解読できます。

暗号化と署名に秘密鍵を使用する場合は、公開鍵(署名の検証に使用されます)を共有するだけで十分です。署名がなければ、鍵を共有する必要はありません。鍵暗号化を使用すると、メッセージは1つ以上の暗号化で暗号化されます。特定したがって、暗号化を実行するには公開鍵が必要です。アクセス不可プライベート特定の受信者のキーを使用すると、メッセージを復号化できません。

おすすめ記事