GPGはインポートされたキーを変更するようです

GPGはインポートされたキーを変更するようです

私は今週まで gpg (2.0.14) を使ったことがなく、暗号化の専門家でもありませんが、gpg で得られた結果は奇妙に思えます。

OpenPGPによって生成されたキーをインポートすると(例:gpg --import public.key)、gpgはそれらを正常に処理し、エラーを報告しないようです。しかし、それらのキーをエクスポートして元のキーと比較すると、ない同じです。これが、gpg が元の公開鍵を使用して [他の場所] で作成されたメッセージを復号化できない理由だと思います。

再現手順:次のようなツールを使用する出典:キーセットを生成し、gpg にインポートし、gpg からエクスポートし、比較します。

互換性がないのでしょうか? 手順を忘れたのでしょうか? ソフトウェアの神々が、一連の小さな厄介な問題で私に陰謀を企て続けているのでしょうか?

答え1

私が見つけた唯一の違いは、GPG 2.0.14(CentOS 6にインストール)が、そのサイトで使用されている新しい形式のヘッダーではなく、古い形式のヘッダー(少なくとも過去数年間は互換性を高めるためと思われます)でキーパケットを出力することです(RFC4880 セクション 4.2)、デフォルトでは非装甲です(ただし、これは簡単に削除できます)。パケットの本体、つまりキーの値は、本来あるべき姿と同一です。

しかし、公共公開鍵暗号や「非対称」暗号のポイントは、鍵を所有する唯一の人だけが、プライベートGPGは歴史的な理由からこれを秘密キーは復号化や署名が可能ですが、公開キーは公開され、誰でも暗号化や検証に使用できます。

追加:ウェブサイトを使用してキーを生成することは、特にブラウザ内で生成が行われるとさえ書かれていない場合(私が見つけた限りでは)非常に疑わしい行為ですが(ProcExpによって示されるCPU使用率に基づいているにもかかわらず、おそらく)。そして、CSEA フラグを持つマスターキーと、基本的に役に立たず CPU の無駄である SEA フラグを持つ 2 つのサブキーを生成するのは奇妙です。

関連情報