バックグラウンド
CAST-5は、GnuPGが最初にsourceを作成した時点ではまだAESが存在していなかったため、GnuPGが使用する古い暗号化アルゴリズムです。広く使用されていません(互換性の理由からGnuPGを除く)。
これWARNING: message was not integrity protected
は、暗号化時にこの機能がデフォルトで有効になっていないためです。これをオンにすると、GnuPGはファイルが転送中に変更されたかどうかを知ることができます。
更新:Ubuntu / Debianに同梱されている最新バージョンのGnuPGでは、デフォルトで MDCが有効になっています。これらの新しいバージョンで署名されたものについては、このメッセージは表示されません。
解決策
より強力なAES-256を使用するには、コマンドラインまたは構成ファイルで指定する必要があります。
コマンドライン:--cipher-algo AES256
オプションを追加して、暗号化する行全体が
gpg -o myfile.gpg --cipher-algo AES256 --symmetric myfile
構成ファイル(推奨):~/.gnupg/gpg.conf
構成ファイルに次の行を追加します。
cipher-algo AES256
このユーザーアカウントでの今後のすべてのGPG操作に使用されるため、このアプローチをお勧めします。
ユーザーがファイルを復号化するために変更するものは何もありません-GnuPGはこれを自動的に検出します。
AES-256暗号を使用すると、メッセージは整合性のために自動的に保護されます。これが有効になっていない他の暗号(CAST-5など)で整合性保護を手動で有効にするには--force-mdc
、暗号化するときにオプションを追加します。
さらに良い:サイン!
さらに良い方法は、キーペアでファイルに署名することです(もしあれば)。--sign
次のように、暗号化コマンドにオプションを追加するだけです。
gpg -o myfile.gpg --cipher-algo AES256 --sign --symmetric myfile
これにより、ファイルの整合性が検証されるだけでなく、ファイルの受信者が発信元を確認できるようになります。ファイルを変更すると、署名チェックが失敗します。
gpg -c myfile
暗号化とgpg myfile.gpg
復号化だけを行うことができますが、出力はmyfile
デフォルトで復号化されます。