一部のファイル(フォルダーやtarアーカイブなど)を暗号化する場合、gpg
またはccrypt
のどちらを使用しますか?
これらのファイルを自分用に暗号化していますか、それとも他の当事者に転送するために暗号化していますか?
CcryptとGPGはどちらもAES暗号化を提供しますが、内部的にccrpytは、パスフレーズのソルトを含むいくつかのセキュリティのベストプラクティスを実装していません。 [1] GPGはソルトパスフレーズを実行します[2]。
GPGを使用すると、公開鍵暗号を使用してファイルを簡単に暗号化し、他の当事者に送信できます。あなたはお互いに公開鍵を電子メールで送ることができ、彼らは電話で指紋を確認します。内部的にGPGはAES暗号化を使用することが多く(暗号化方式のネゴシエーションに依存するため、双方がサポートします)、RSAなどの公開鍵暗号化を使用してAES鍵を暗号化します。これにより簡単になり、受信者が復号化できるように128ビットまたは256ビットのキーを安全に送信する必要がなくなります。
Example, AES 256-bit passphrase with appropriate ~260 bits entropy
f2@+4mhaq@6W?cM:477D|87pJe\CbOVPTO!HCa8\|`FyX
GPGははるかに成熟しており、何年にもわたって積極的に攻撃し、問題を修正する研究が行われています。たとえば、サイドチャネル攻撃によるコード漏洩情報を削減しました。
[1] https://crypto.stackexchange.com/questions/24163/ccrypt-and-its-security
[2] https://security.stackexchange.com/questions/15632/what-is-purpose-of-s2k-gnupg-options