gpg --decrypt はパスワードを要求せず、復号化だけを行います。なぜでしょうか?

gpg --decrypt はパスワードを要求せず、復号化だけを行います。なぜでしょうか?

そこで、対称 AES 暗号化を使用してファイルを暗号化しますgnupg 2.2.9

gpg -a --symmetric myfile # This produces myfile.asc as its output

パスワードの入力を求められ、それを入力します。この-aオプションでは、バイナリ暗号化ファイルではなく、印刷可能な文字のみを含む ASCII アーマード ファイルが生成されます。この種類のファイルは、添付ファイルとしてではなく、テキストとして簡単に電子メールで送信でき、電子メールの本文に配置できます。

これを復号化するには、次を使用します。

gpg --decrypt myfile.asc # This should decrypt myfile.asc to STDOUT after asking
                         # me for the password used during encryption

gpg は、ファイルが AES で暗号化され、1 つのパスフレーズで暗号化されたことを (STDERR への出力を通じて) 伝えます。わかりました。

しかし、gpg はその後、暗号化中にパスワード保護されていなかったか、まったく暗号化されていなかったかのように、パスワードの入力を求めることなく、ファイルを STDOUT に復号化します。

どうしてこれなの?

答え1

一つの答えがここにあります:GnuPG 復号化でパスフレーズが要求されない

ただし、次の方法も有効です。

gnupg --pinentry-mode loopback --decrypt ...

関連情報