次のような対称暗号化を使用してファイルを暗号化しました。
gpg --symmetric myfile
その結果、ファイルmyfile.gpg
。
よし。次に、ファイルをもう一度復号化します。
gpg -o myfile --decrypt myfile.gpg
身につけたパスフレーズを求められて、
gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: WARNING: message was not integrity protected
そこの最初と最後の行についてはわかりません。
CAST-5 は、GnuPGが最初に作成された時点では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
これにより、ファイルの整合性が検証されるだけでなく、ファイルの受信者が送信元を確認できるようになります。ファイルを変更すると、署名チェックが失敗します。