デバイスのソフトウェアを更新するためのシステムを設定しており、私が生成した秘密鍵を使用して更新ファイルを暗号化し、公開鍵を使用して復号化しようとしています。私が見つけたすべての例は、暗号化に受信者の公開鍵を使用します。暗号化に私の秘密鍵を使用したいです。私は秘密鍵を使用し、受信者の公開鍵を使用してファイルを暗号化するBobとAliceの例を見ましたが、秘密鍵暗号化を実行する方法がわかりません。
答え1
これは、GPGが機能する方法ではありません。
公開鍵(おそらくあなたの鍵)を使用してファイルを暗号化し、秘密鍵を使用して復号化します。
したがって、インターネットで公開鍵を共有すると、誰でも公開鍵を使用してファイルを暗号化できますが、ファイルを復号化できる人は自分だけです。
望むより:http://www.dwinter.com/gnupg_howto/english/GPGMiniHowto-1.html
答え2
古い質問なのに…他を探して発見しました。
あなたが本当にしたいのは、ファイルを暗号化するのではなく、ファイルのソースであることを確認することです。これがファイル署名の目的です。
公開鍵暗号化のしくみに関する簡単な基本的なアイデア:秘密鍵で暗号化された内容は公開鍵でのみ復号化できます。公開鍵で暗号化された項目は、秘密鍵でのみ復号化できます。 (なぜそんなのかはこの回答の範囲外です。)
一般的な作業では、誰かがあなたにメッセージを送信しようとすると、秘密鍵だけがメッセージを復号化できるため、公開鍵を使用してメッセージを暗号化します。
署名はファイル/データの一方向ハッシュを生成し、公開鍵と秘密鍵の役割を置き換えます。公開鍵を持つ人は誰でもハッシュを解読でき、暗号化されたハッシュを作成した人は自分だけであることを確信できます。秘密鍵キーを使用して最初に暗号化できます。
ハッシュ値は、ファイルに署名してからファイルが改ざんされていないことを確認するために使用されます。ファイルが変更されると、ハッシュが変更され、変更されたことを明確に示します。秘密鍵がないため、公開鍵を使用して復号化するために新しいハッシュで新しい署名を生成することはできません。
多くのシステムでは、この方法を使用して他のファイルのチェックサム/ハッシュでファイルに署名し、そのチェックサム/ハッシュのあるファイルが本物であることを確認します。
また、データ/ファイル暗号化と署名を組み合わせて、暗号化されたデータを意図した受信者以外の人が復号化できないようにし、暗号化されたデータが改ざんされないようにすることもできます。
「ビハインドストーリー」、GPG、および関連プログラムがどのように機能するか。鍵データを使用してデータを暗号化すると、計算コストが高くなりすぎます。代わりに、より高速な暗号化方法を使用して暗号化するために、任意の「使い捨てパスワード」(OTP)を生成します。その後、パスワードは目的の受信者のキーを使用して暗号化され、暗号化されたデータと共に送信されます。秘密鍵だけがデータ暗号化に使用されたパスワードを復号化できるため、他の人がそれを復号化できないことを非常に合理的に保証できます。
最後の注意:暗号化は常に変化する状態にあります。私がこの記事を書いている間、誰かが使用されたアルゴリズムの1つで弱点を見つけたので、「合理的」または「保証された」ことが明日無効になる可能性があります。