RSAキーを使用してOpenSSLで大容量ファイルを暗号化する方法は?

RSAキーを使用してOpenSSLで大容量ファイルを暗号化する方法は?

秘密鍵を持つ人以外は誰も復号できないように公開鍵を使用して大容量ファイルを暗号化する方法は? GPGを使いたくない!

答え1

/にすでにmypic.png秘密鍵と公開鍵のペアがあると仮定すると、それを使用してファイルを暗号化できます。 (キーペアの作成に関するガイドラインは、以下にあります。ccbild-key.pemccbild-crt.pemこの回答.)

# encrypt
openssl smime -encrypt -aes-256-cbc -binary -in mypic.png -outform DER -out mypic.png.der ccbild-crt.pem

# decrypt
openssl smime -decrypt -binary -in mypic.png.der -inform DER -out mypic.png -inkey ccbild-key.pem

これらの設定は、暗号化標準の選択に関するベストプラクティスを反映していない可能性があります(特に後でこの内容を読む場合)、パフォーマンスの点では良い選択ではありません。 (アプリケーションでは1M未満のファイルにのみ使用します。)

答え2

ファイルを暗号化したいので-これを達成するためにGPGを使用することができます

また、ファイルの種類について心配しないでください。 gpgはすべてのファイルを暗号化できます。

簡単な説明:

  1. gpg-agent実行中であることを確認してください。

    gpg-agent -s --daemon --write-env-file --use-standard-socket

  2. キーを生成してください。

    gpg --gen-key

自分が何をしているのかわからない場合、または知っている人が他に何も言わない限り、デフォルトのkeを選択してください。キーサイズを尋ねる場合は、1024と入力します。 (ビット単位のサイズ)

  1. GPGがキーを生成すると言ったら、キーボードをランダムに押します(ただし、CTRL+Zなどの信号の組み合わせを送信しないでください)。

  2. ファイルを解読する準備が整いました。デフォルトでは、次を使用します。

    gpg -e -r user_id my_file

user_id をキー生成時に提供されたメールに置き換えます。指示は以下に基づいています。インディアナ大学の記事

関連情報