TrueCryptの主な違いは、コンテナーが作成され、7-Zipがファイル自体を暗号化するため、ファイルサイズを推測できます。次に、暗号化の強さと破壊可能性について話しましょう。
正しく実装されている場合、AESはAESです。 2つの異なる実装間の出力は同一であるため、事後比較で区別はできません-正しく行われた場合、1つはまったく同じです他のように。
ただし、違いが生じる可能性があるいくつかの点があります。
操作モード
Truecryptは、XTSと呼ばれる変更されたカウンターモードを実装します。これはかなり入念に吟味されており、一部の強力な攻撃者(米国政府など)による深刻な悪用に耐えています。
P7Zipソースコードを調べると、7-Zip形式のAESエンコーディングはCBCモードで動作しているようです。これは確かに必ずしも安全ではありません。これはTLSなどのプロトコルで最も一般的に使用されているモードですが、Oracle攻撃のパディングに対して潜在的に脆弱です。詳細については、 操作モードに関するこの説明 を参照してください。
鍵の導出
TruecryptはPBKDF2を使用してパスワードを暗号化キーに変換します。それより良い代替案を思いつくのは難しい。 p7Zipは、設定可能な反復回数にわたって繰り返されるソルトSHA256ハッシュを使用します。 PBKDF2はもう少し構成可能ですが、7-Zipの代替は機能的に類似しており、ほぼ同じ目標を達成します。
認定された実装
おそらく最大の違いは次のとおりです。TrueCryptのコードは暗号技術者によって流用されており、実装の間違いについて慎重に調査されています。 7-Zipにはありません(少なくとも同じ程度ではありません)。これは、7-Zipのコードにある種のミスが含まれている可能性があるより高い確率があることを意味します。それは、そのような間違いが存在すると言っているわけではなく、そのような間違いが代わりにTrueCryptで見つけられなかったと言っているわけではありません。しかし、これは確率の問題であり、確実性の問題ではありません。
全体として、違いはわずかであり、ほとんどのユースケースでは、セキュリティの観点からまったく違いを期待するべきではありません。それが生死の問題なら、おそらくTrueCryptを選ぶでしょう。しかし、単なる秘密の問題のために、私はあなたの問題に最も適したソリューションを使用することをお勧めします。
暗号のセキュリティは、ソフトウェアユーティリティでの特定の実装に依存します。私の知る限り、7-ZipまたはTrueCryptに既知のAES実装の問題はありません。
AESは高速な暗号であり、AES-NIなどのハードウェアアクセラレーション機能により、はるかに高速になります。したがって、ブルートフォースから保護するには、key extensionメカニズムを通じてキーを強化する必要があります。
ブルートフォーシングツールは 7-Zip と TrueCrypt の両方に存在し、ハードウェアアクセラレーションをサポートしています。
7-Zipは、キー拡張を使用して、総当たりする時間を増やします。ユーザーパスワードは、SHA256を使用して130,000から524,288回(バージョンによって異なります)ハッシュされます。
TrueCryptも PBKDF2を使用 7 zipより2桁小さい1000反復のキー拡張。問題は、TrueCryptが10年前に推奨された最小数の反復を使用することです。
PBKDF2標準が2000年に作成されたとき、推奨される反復の最小数は1000でしたが、このパラメーターは、CPU速度の増加に伴い、時間とともに増加することを目的としています。
また、512ビットのソルティングを使用して、辞書攻撃やレインボーテーブル攻撃に対する脆弱性を減らします。
したがって、ブルートフォースの観点から見ると、7-ZipはTrueCryptよりも少し優れていますが、どちらもブルートフォース攻撃に対しては耐性があります。
FBIがTrueCryptを解読しようとした ボリュームが12か月間失敗したという話があります。
実装のバグがなければ、7-Zipの暗号化はTrueCryptよりも堅牢です。TrueCryptの方がはるかに難しいからです。
セクターレベルのフルディスク暗号化は難しいです:
比較すると、7-Zipの仕事は簡単です。一度ファイルを書き込んで完了です。何かを変更する必要がある場合は、別のIVを使用してファイル全体を再暗号化でき(キーが同じであっても)、新しい暗号化ファイルは古いファイルとは完全に異なって見えます。
これが意味することは、7-Zipがよく理解されているCTRまたはCBCブロック暗号化モードを使用する余裕があるということです。その間、TrueCryptはXTSを使用する必要があります。これは、フルディスク暗号化の追加の制約を満たすために、多くの妥協を行います。
詳細については、この フルディスク暗号化の制限に関する記事 を参照してください。
私はタイラーの回答とは異なります。質問と回答の執筆時点では、TrueCryptのソースコードは暗号技術者によって監査されていませんでした。実際、現時点では 尊重された暗号技術者による部分的な監査が完了しています のみです。
したがって、現在、両方のプロジェクトのコア暗号ルーチンは、専門家の暗号技術者による同じレベルのレビューを持っています。両方のコードベースですぐに変更されることを願っていますが、7ZipのコードAFAICTを監査する取り組みは行われていません。
2016年3月更新:
TrueCryptはもはや開発されていないようで、将来のセキュリティバグは修正されません。
これは、TrueCryptのWebサイトを開くと表示されます:「警告:TrueCryptを使用すると、未修正のセキュリティ問題が含まれている可能性があるため、安全ではありません。このページは、TrueCryptによって暗号化された既存のデータを移行するためにのみ存在します。TrueCryptの開発は、Microsoftが終了した後、2014年5月に終了しましたWindows XPのサポート。」