web-dev-qa-db-ja.com

ファイルを暗号化するときに公開鍵暗号を使用することの欠点は何ですか?

私の公開鍵でファイルを暗号化したいのですが、友人はこれは良い考えではないと言いましたが、理由は説明しませんでした。誰かが説明してください。

8

非対称暗号には、2つの一般的な使用例があります。

  • 暗号化:他の誰かの公開鍵でメッセージまたはファイルを処理します。彼/彼女だけが彼/彼女の秘密鍵でそれを解読することができます。
  • 署名:自分のプライベートキーでメッセージまたはファイルを処理します。メッセージまたはファイル自体を暗号化せずに送信できます。メッセージ/ファイルのハッシュのみを処理/署名するのが一般的です。したがって、あなただけが(あなたの)秘密鍵にアクセスできるので、誰もがそれがあなたによって処理されたことをあなたの公開鍵で確認できます。

独自の公開鍵でファイルを暗号化することは、上記の使用例のいずれでもありません。暗号化されたファイルをコンピューターに保存しても意味がありません。コンピューターのハッカーが秘密キーにもアクセスできるためです。

ただし、安全性の低いクラウドストレージにファイル(バックアップなど)を保存する必要があるが、秘密鍵は必要なだけ秘密にしておく必要がある場合は、このアイデアは完全に理にかなっています。クラウドストレージに侵入したハッカーは、コンピューターにも侵入せずにファイルを復号化できません。

つまり、秘密鍵を暗号化されたファイルから分離しておけば、不都合はありません。

7
Fred42vid

あなたの友人は、秘密鍵の暗号化が仕事のためのツールではないという点で正しいです。 これ 回答 Cryptography.SE はその理由を説明するのに役立ちます。いくつかのハイライト:

公開鍵暗号化スキームは、それが暗号化するデータのサイズを増やすためにバインドされています。

より効率的なスキームがありますが、対称スキームは、少なくとも復号化に関して、非対称スキームよりも桁違いに速く、消費電力が少ないと言っても安全です。

秘密鍵暗号化は、暗号化を行う人と復号化を行う人が異なる場合に使用されます。当事者が簡単に鍵を交換できない場合、対称暗号化は処理できません。

(TLSのように)より大量のデータを転送するために秘密鍵暗号化を使用する場合、通常は最初にランダム対称鍵でデータを暗号化します。次に、受信者の公開鍵を使用して対称鍵を暗号化し、他の誰もがそれを読み取ってデータを復号化できないようにします。

8
Anders