どのTrueCryptアルゴリズムが最も安全ですか?


83

パフォーマンスが重要でない場合、どのTrueCryptアルゴリズムが最も安全に使用できますか?

  • AES
  • トリプルDES
  • 二匹
  • AES-Twofish
  • AES-Twofish-Serpent
  • 蛇AES
  • サーペントツーフィッシュAES
  • Twofish-Serpent

13
それらはすべて安全です。そうでなければ、製品には含まれません。ただし、AESが標準なので、AESを使用します。
イアン・ボイド

13
あなたの後に政府機関がない限り、パスワードの品質は暗号化アルゴリズムよりも問題になる可能性が高いと思います。

3
それはとても奇妙です。私はタイトルがどれが最速かを尋ねると誓ったかもしれません。ಠ_ఠ
Synetech

回答:


37

これらは、AESコンテストの最終ラウンドでの投票の結果です。

Rijndael 86-10 = 76
Serpent 59-7   = 52
Twofish 31-21 = 10
RC6 23-37 = -14
MARS 13-83 = -70 

http://csrc.nist.gov/archive/aes/round2/comments/20000523-msmid-2.pdf、truecrypt serpent経由でリンクされている、それも読んでください)。

そのため、さまざまな理由で、ラインダールはAESになりました。これは、DES(および3DES)の後継です。

そして、それが今日news.ycombinator.comに現れたという理由だけで、AESの物語:

http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html


62

TrueCrypt 7.0aを使用する場合、暗号化の最も安全な方法は次のとおりです。AES-Twofish-Serpentカスケード暗号化とXTSメソッドを使用します。Whirlpoolハッシュアルゴリズムを使用します。(SHA-512は非常に近い2位です...議論の余地があります...私はワールプールに傾いています最も重要なのは、非常に強力なパスワードを使用することです。20〜30文字以上、大文字、小文字、数字、記号。強度テストには、Microsoftのオンラインパスワードチェッカーを使用してください。キーファイルを使用して、パスワードをさらに保護することもできます。

AES-Twofish-SerpentをSerpent-Twofish-AESよりもお勧めします。これは、最も外側の暗号化(AESが解読する必要がある最初のレイヤー)を業界で最も標準にするためです。それは最も試行された真実であり、それらすべての中で最もテストされたものです。さらに、誰かがファイルがAESで暗号化されていると想定した場合、それがTwofishで暗号化されていることを確認する方法はありません... そして、Twofishの後、彼らはすべて最大の獣であるSerpentに遭遇します(AESよりも使用/テストが少なくても、AESよりもはるかに高いセキュリティマージンがあります)

キーファイルを使用する場合は、TrueCryptで3つのキーファイルを作成することをお勧めします。提供するハッシュアルゴリズムごとに1つのキーファイルを作成します。また、いくつかの.jpgファイルといくつかの.mp3ファイルを追加することもできます。ただし、各キーファイルは必ず読み取り専用にしてください。

ただし、これはおそらくやり過ぎです。


2
あなたは20-30文字を使用すると言いますが、それはやり過ぎではありませんか?10文字の小文字でも26 ^ 10 = 141,167,095,653,376の組み合わせになります(1秒に1回のチェックで400万年)。きっと十分すぎるほど?
ダンW

12
@ダンW:確かに1秒に1回のチェックで。ただし、ハッシュ方式のパフォーマンスは大きく異なります、コンシューマグレードのハードウェアは、1秒あたり数十億個のパスワードのテストにかなり近づきます。10文字の小文字のパスワードは数時間で解読されます。
マルクストーマス

7
カスケード順序の論理的根拠は意味をなしません。攻撃者は、AESが最初であるか最後であるかに関係なく、各レイヤー(それぞれが独立したキーを使用)を突破する必要があります。
jjlin

15

カスケードされた暗号(AES-Twofish-Serpentなど)が最も安全です。データは1つのアルゴリズムで暗号化され、その出力は2番目のアルゴリズムで暗号化され、その出力は3番目のアルゴリズムで暗号化されます。TrueCryptのドキュメントによると、各アルゴリズムはパスフレーズから派生した異なるキーを使用します。

これらの暗号の1つ(または2つ)に脆弱性が見つかった場合でも、攻撃者は残りの暗号を破ることができないため、データは引き続き安全である必要があります。


8
暗号を1つだけ選択する場合、Serpentが最も安全である可能性が高いが、AESよりも大幅に遅いことを付け加えます(政府がAdvanced Encryption Standardを選択したのは、セキュリティだけでなくパフォーマンスにも関係していることに注意してください)。
bwDraco


5

Rijndaelのは、それが最も速く、最も容易には、ハードウェアで実装することだ主な理由AES大会優勝ではない、それはほとんどのだから「安心」TwofishとSerpentは通常、より安全であると考えられていますが、これらはすべて非常に堅実であるため、非常に主観的な主張です。そしてもちろん、複数のアルゴリズムによる暗号化はさらに「安全」になりますが、速度はさらに低下します。

繰り返しますが、それらはすべて堅実ですので、私のアドバイスは、お使いのマシン(通常はAES)で最速のものを使用することです。


1

アルゴリズムを一緒に連鎖させると、アルゴリズムを互いに追跡するために使用されるアルゴリズムにより、セキュリティが弱くなる可能性があることを読みました。

さらに、組み合わせた暗号のいずれかを使用した場合、効率と速度が大打撃を受けます。

Rijndael(AES)またはSerpentのいずれかをお勧めします。安全にしたい場合、最も重要な要素はキーです。したがって、大文字、小文字、数字、記号の各セットの少なくとも1つで非常に長いキーを作成します。


1

複数の暗号をカスケード接続することにはいくつかの危険がありますが、Truecryptはできる限り最善の方法でそれらを処理するようです。最初の暗号の出力に既知の平文を追加せず、それぞれに独立したキーを使用するため、異なるアルゴリズムをチェーン化することでセキュリティが向上します。

しかし、私は3DESを避けようとします。アルゴリズムの選択肢をリストしたTruecryptページを読んだ後、トリプルDESもリストしていないため、最近削除された可能性があります。


3
複数の暗号をカスケードする際の「危険」についてより詳細に議論したい方は、このトピックをチェックしてください:crypto.stackexchange.com/questions/6486/…–
Tiago

3DESの主な欠点は、最新の暗号と比較して痛みを伴うほど遅いが、せいぜい同様のセキュリティを提供することです。(3DESは、ミドルアタック攻撃により112ビットのセキュリティを実現できますが、AES-128は現在、はるかに優れたスループットで128ビットのセキュリティにかなり近づいています。)さらに、DESの64ビットブロックの使用は、より小さなブロックで可能な拡散の制限による責任。
CVn

0

キーファイルを使用している場合は、より短いパスワードを使用できます。パフォーマンスヒットを心配していない場合は、AES TwofishとSerpentを使用すると、暗号化された素材を取得しようとする人に大きな頭痛の種を引き起こします。ただし、1つの暗号化されたファイルを取得して、より大きな暗号化されたファイルの内側に配置することもできます。このようにして、攻撃者に外部のコンテナを「許可」させ、コンテナ全体を持っていると思わせることができます。実際には、彼らはまったく何も持っていません。外部ファイルに少し怪しいものを入れてください。しかし、実際に問題を引き起こすものは何もありません。たくさんのポルノ写真がこの法案にうまく合うと思います。ここに誰かが隠したいものがあるので、あなたには正当な理由があります。外側のコンテナは、内側のコンテナが存在することさえ明らかにしません。実際の材料を内側の容器に入れます。さらに良いのは、パスワードが不十分で、キーファイルがない外部コンテナを「弱く」することです。攻撃者に暗号化を破ったと思わせ、肩をすくめて、「くそー、いい人だ、私は権利を失った」と言ってください。


0

256ビットのバリアントを想定して、それぞれに最適な公開暗号解析(時間の複雑さが高いほど優れていますが、あらゆる種類の注意事項):

  • Rijndael:2 ^ 254.4時間の複雑さ(ここでは問題にならない関連キー攻撃を無視)
  • 蛇:12ラウンドの32、2 ^ 228.8時間の複雑さ(ただし、2 ^ 118の既知の平文が必要)
  • Twofish:6ラウンドの16(ただし、選択したプレーンテキストは2 ^ 51)
  • 3DES:2 ^ 118(2 ^ 32の既知のプレーンテキスト。3DESは168ビットを使用するため、ブルートフォースは2 ^ 256ではなく2 ^ 168です)

疑いもなく、3DESは最も安全性が低いですが、必ずしも安全ではありません(通常の未公開のバックドアの懸念がない限り)。しかし、私はそれを避けます。他のアルゴリズムはすべて、一般に安全であると考えられています。それらのいずれかに意図的に配置されたバックドアの存在を判断するには、Snowdenがさらにドキュメントをリリースする必要があります。正直なところ、トップ3のいずれかにバックドアがあった場合、それは絶対的な爆弾の暴露になります。彼の実績を考えると、個人的にはまだ安全だと思います。


3つの独立したキー(168ビットのキー素材)を使用する3DESは、meet-in-the-middle攻撃に対して脆弱です。つまり、有効なセキュリティは112ビットキーのセキュリティです。en.wikipedia.org/wiki/Triple_DES#Security
CVn

0

2001年に、米国国立標準技術研究所(NIST)はAdvanced Encryption Standard(AES)を開始し、5つの候補を(複数の候補者会議を通じて)候補リストに追加しました。サーペント暗号はそれらの1つであり、セキュリティの高いクドゥスを獲得しましたが、最終的にはラインダール暗号の次点となりました。これは数年前に行われましたが、電子データの暗号化とパフォーマンスとセキュリティのトレードオフを魅力的に垣間見ることができます。興味深いことに、パフォーマンスが勝ちました!

他の5つの候補と比較して、Serpent暗号の安全係数は3.56で最高でした。これは、次の最適なものが安全係数2.67のTwofish暗号であるという事実を考慮すると非常に良好でした。Rijndael-256の安全係数は1.56でした

https://www.100tb.com/blog/security-performance-serpent-cipher-rijndael/

https://veracrypt.codeplex.com/wikipage?title=Serpent


-1

強引な実行を可能にするAESに対する既知の攻撃はないので(参照:https : //en.wikipedia.org/wiki/Advanced_Encryption_Standard#Known_attacks)あなたのドライブをクラックする千年、AESは行く方法です。TrueCryptの最新バージョンとそのフォークはAES-NIをサポートしています。これは私のCore i7 3770で2.5 GB /秒以上のスループットを提供します。

このドメインによってアドバタイズされたIPアドレスへの接続は、ほとんどのブラウザーでAES暗号化を使用します(ただし、CloudFlareはブラウザーに表示されるキーを保持し、StackExchangeサーバーに送信する前にデータを復号化および再暗号化するため、TrueCryptを使用しないでくださいStackVacryパスワードの/ VeraCrypt / CipherShedパスワード。3文字の代理店がドライブを解読すると、CloudFlareプロキシでパスワードをインターセプトし、仕事に出ないブルートフォースを試みる前に最初にそれを試すからです。


-2

Whirlpoolハッシュはこれらのアルゴリズムで最も強力なので使用することをお勧めします。

暗号化アルゴリズムには、カスケードを使用する必要があります。AES、Twofish、Serpentをお勧めします。AESは非常に弱く(他のアルゴリズムと比較して最も高速ですが)、業界標準であるため、外部層として有効です。Twofishはさらに強力であり、AESレイヤーを解読した後、さらに強力な別のレイヤー(Twofish)があります。蛇は最強であり、このカスケードは効果的です。

いくつかの追加情報:パスワードについては、NSAには非常に迅速に解読できる量子コンピューターがあります。私はNSA(彼らはAESを設計した)を信用しません。少なくとも40文字、小文字と大文字、数字、記号を使用し、辞書の単語や個人情報(生年月日など)を使用しないことをお勧めします。キーファイルを使用できます。敵の危険にさらされている場合は、TrueCryptに組み込まれているもっともらしい拒否機能を使用してください。


AESに対する既知の既知のQuantum Computing攻撃はありません。量子コンピューターは、バイナリコンピューターよりも高速ではありません。それらは異なるだけです。
マークロペス14年

NSAはAESを設計しませんでした。AESは、Rijndaelという名前の2人のベルギーの暗号作成者によって設計され、NIST AESコンテスト中に世界中の暗号作成者によってレビュー(および大幅に強化)され、一連の非常に公的に知られている基準に基づいて競争に勝った後、NISTによってAESとして標準化されました。あなたがスズ箔のバッテリーに従事するつもりであれば、少なくともあなたの事実を正しくしてください。さらに、AESはパスワードとは何の関係もありません
CVn

もっともらしい否認に関しては、Linux cryptsetup FAQのセクション5.18「もっともらしい否認についてはどうですか?」で実際にうまくいかない理由が説得力があります。セクション5.2の「LUKSは安全ではありませんか?誰もが暗号化されたデータを持っていることがわかります!」ある意味で、これはxkcd.com/538のバリエーションです(はい、xkcdリンクの正当な使用法です)。
CVn

-2

AES

Rijndael(現在はAES)が最適なアルゴリズムです。

https://crypto.stackexchange.com/questions/24307/why-is-aes-unbreakableから:

まず、AESが壊れないということではなく、単に現在知られている攻撃のどれもが計算コストを実行可能なポイントまで削減しないということです。AES-128に対する現在の最高の攻撃には2 ^ 126.1の操作が必要です。現在のコンピューターよりも数百万倍も効率的なコンピューター(またはクラスター)があり、熱力学的ランダウアー制限で動作できる場合、増分するのに234ペタジュールかかりますすべてのキー値を介してカウンターします。これはノルウェーの年間電力消費量の約半分です。実際にAESラウンドを計算するには、その数倍のエネルギーが必要です。

二匹

ウィキペディアから:

Twofishは、ブロックサイズが128ビットで、キーサイズが最大256ビットの対称キーブロック暗号です。Advanced Encryption Standardコンテストの5つのファイナリストの1つでしたが、標準化には選択されませんでした。Twofishは、以前のブロック暗号Blowfishに関連しています。

Twofishの特徴は、事前に計算されたキー依存Sボックスの使用と、比較的複雑なキースケジュールです。nビットキーの半分は実際の暗号化キーとして使用され、nビットキーの残りの半分は暗号化アルゴリズム(キー依存Sボックス)の変更に使用されます。Twofishは、他のデザインからいくつかの要素を借りています。たとえば、SAFERファミリーの暗号からの疑似アダマール変換(PHT)。Twofishには、DESのようなFeistel構造があります。Twofishは、最大距離分離可能マトリックスも使用します。

ほとんどのソフトウェアプラットフォームでは、Twofishは128ビットキーのRijndael(Advanced Encryption Standardに選択されたアルゴリズム)よりもわずかに低速でしたが、256ビットキーの場合はやや高速です。

ウィキペディアから:

Serpentは対称キーブロック暗号であり、Advanced Encryption Standard(AES)コンテストのファイナリストであり、Rijndaelに次いで2位にランクされました。Serpentは、Ross Anderson、Eli Biham、およびLars Knudsenによって設計されました。

他のAES提出と同様に、Serpentは128ビットのブロックサイズを持ち、128、192、または256ビットのキーサイズをサポートします。[2] 暗号は、4つの32ビットワードのブロックで動作する32ラウンドの置換順列ネットワークです。各ラウンドは、8つの4ビットから4ビットのSボックスの1つを32回並列に適用します。Serpentは、32ビットスライスを使用して、すべての操作を並行して実行できるように設計されました。これにより、並列処理が最大化されますが、DESで実行される大規模な暗号解析作業も使用できます。

Serpentは、セキュリティに対する保守的なアプローチを採用し、大きなセキュリティマージンを選択しました。設計者は、既知のタイプの攻撃に対して16ラウンドで十分であると判断しましたが、暗号解読の将来の発見に対する保険として32ラウンドを指定しました。AESの競争に関する公式のNISTレポートでは、RC6とRijndael(現在のAES)の適切なセキュリティマージンとは対照的に、MARSとTwofishとともに高いセキュリティマージンを持っているとSerpentを分類しました。最終投票では、セルペントはファイナリストの中で最も少ない数の票を獲得しましたが、Rijndaelの方がかなり多くの賛成票を獲得していたため、総合的に2位になりました。

SHAはMDA、Whirpoolなどよりも優れていますが、SHAを破る方法を見つけました。そこにはSHA-2(HMAC)が付属しています。再び、彼らはそれを破る方法を見つけました。そこにはSHA-3(Kakeeまたはこのようなもの)があります。しかし、TrueCrypt、VeraCrypt、CipherShed、またはTrueCryptNextにはSHA-3が存在しません。 ;-)

AES-Twofish-Serpent + SHA-512 = TrueCryptおよびその他への最高のアルゴリズムとハッシュ。


-3

簡単に検索した後に言いAES 256 bitsます。

Triple AESとTriple blowfishは避けます。同じアルゴリズムを複数回実行すると、元のアルゴリズムを1回使用するよりもセキュリティが低下する場合があります。

ソース


1
推測のように思えますが、トリプルDESは複数のパスによって確実に強化されます。(基礎となる実装の設計者が失敗して「EK2(DK1(EK1(plaintext)))」を行わない限り、サイモンシンが暗号チャレンジで行ったように:P)
-RJFalconer

5
1)あなたの情報源は冗談です。ランダムなフォーラム投稿。2)異なるキーによるトリプル暗号化が暗号化を弱めると信じる理由はありません。
CodesInChaos
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.