質問

利用可能な異なる暗号の

みんなそう、そこのたくさん - しかし、その1は、今日使用するのが最も安全です。

リスト: http://www.php.net/manual/en/ mcrypt.ciphers.phpする

役に立ちましたか?

解決

の場合、128ビットのキーで不明使用(また、「ラインダール」としても知られる)AES。あなたは、キーのサイズについてフェチのいくつかの種類を開発しているなら、あなたは、例えば、より大きなキーを選択して、不合理な良心の呵責を果たすことができ192または256ビット。余分なコストが高い(AES-128に比べてAES-256のために+ 40%のワークロード、そして、それは実際にその違いを観察することが非常にの非常にの高速ネットワークをとる)ではありません。

にかかわらず、キーのサイズ選択の、AESのための正しいmcryptの暗号が常にMCRYPT_RIJNDAEL_128である、ということに注意してください。 AES規格は128ビットのブロックサイズでラインダール暗号の味を意味するからです。あなたはAES-256が必要な場合は、256ビット(32バイト)キー、ないMCRYPT_RIJNDAEL_128MCRYPT_RIJNDAEL_256を使用する必要があります。

AESは、1998年に出版され、2001年に連邦政府の標準として、米国政府によって採用され、そしてそれは、最近の弱さの兆候を示していました。いくつかの数学的な性質は、後に発見されたが、彼らは実際のセキュリティに影響を与えません。主に、彼らは我々がAESが安全である理由について、いくつかの比較的正確な知識を持っていることを強調しています。他の対称暗号化アルゴリズムはAESより(才能の暗号の何千人も)多くの注意として受け取っていない。

ほとんどのセキュリティ上の問題は、アルゴリズム自体、暗号アルゴリズムがどのように使われるかからない来ます。しっかり、適切な連鎖モードを使用してMACを追加し、パディングを管理し、のキーのすべてのハンドルのほとんど。あなたは(それが思われるものよりもはるかに難しいです)、この権利のすべてを得た場合、それは、ラインダール、Twofishはまたは何を選択する心配する時間になります。

他のヒント

トーマスPorninの偉大な答えに加えて、あなたも、あなたが「安全保障」の観点で達成しようとしているかを考えなければなりません(機密性/完全性/信頼性/可用性)。

すべてのケースについて、あなたは...のように、これは誰に適用されないいくつかの質問に対処する必要がありますか?どこで、なぜそれは(あなたが何を保護している)が使用されていますか?どのくらいの時間が最後に意味していますか?など。

例えば、データは実際にはたとえば20〜30分間、最後に意図されている場合、実際に256ビット演算の本格的な連続でセッションデータを暗号化するにはポイントはおそらくありません。安全な128ビットのアルゴリズムが近い倍の速度や使用負荷の少ないクロック・サイクル以上であることと固定します(ないより場合)と同じようになります。

弱い、短い鍵方式で(機密文書やファイルのような、秘密鍵など...)長い時間が続くためのものだ何かを暗号化するにはポイントがありません。あなたは、パディングの認証と適切な使用のいくつかの並べ替えを回複数のアルゴリズムで欲しいと思います。私は定期的に暗号化され、(主にTwofishは、AES、RSA)複数のアルゴリズムを使用しているクライアントの要求に応じたコンテンツを締結しました。

そして安全でない(トーマスは指摘のように)、あなたは安全な方法(またはメソッド)を実装するか、忘れていません。各式と、そのような変種の膨大な量で、実際には「安全な」何かを実装するためにトリッキーなことができます。

キーがロックを解除することであるとして、一般的に、何かが安全なようです。私はアンロック車と車の中で私の車の鍵を残す場合は、キーは、安全ではありません、それは誰の歩行過去によって撮影のためのオープンです。うまく持つフグは32文字のキーを同じように、今日、何として確保となり分散しました。 3文字のキーは、しかし、瞬く間に破壊される可能性があります。

"最強の暗号がAES-256である"

ブルース・シュナイアーのウェブサイト上の詳細から

は、AES-256かもしれないが、皮肉なことに、少なくともことが3つのキーは128サイズ、192のうち確保、および256は、256ビットのバリアントにおける鍵生成に問題があります。

いくつかのアルゴリズムは、より良い別のもので、他よりもある - 。「最も安全な」のためのあなたの基準はありませんことを確認するもの。

あなたは確かにこれらの日は(あなたが自由な選択肢を持っていると仮定)DESベースのアルゴリズムのいずれかを使用してはいけません。 AES(ラインダール)は、NISTおよびその他の機関のための現在の標準である。

アルゴリズム手段をより安全に特定するための一般的な多くのビットにしていますが、初期化ベクトルを使用し、ECBを使用していないことを保証します。

HTH

C

NIST紙によると、RJINDAELはMARS、twofishですか蛇と比較して低いセキュリティマージンを持っていました。あなたが本当に最強の暗号を必要とする場合は、それらのいずれかを選択します。

http://csrc.nist.gov/archive/aes/round2/ r2report.pdfする

引用すると: 「MARSは、高いセキュリティマージンを持っているように見えます。MARSの正確な特性があります MARSは、ラウンドの2種類を採用しているという事実のは難しいので。火星 そのを妨げている可能性がその複雑さに基づいて、いくつかの批判を受けています AES開発プロセスの時間枠の中にセキュリティ分析ます。

ラインダールは、適切なセキュリティマージンを持っているように見えます。セキュリティマージンが少しあります ラウンド数は鍵のサイズによって変化するので、測定することは困難。ラインダール 2つの敷地内にいくつかの批判を受けている:そのセキュリティマージンが低い側にあることを ファイナリストの中で、その数学的構造は、攻撃につながる可能性があること。しかし、その 構造は、中にそのセキュリティ分析を促進している可能性がある、非常に簡単です AESの開発プロセスの指定された期間ます。

蛇は、高いセキュリティマージンを持っているように見えます。蛇は、単純な構造を有しており、 指定した時間枠の中にそのセキュリティ分析を容易にしたことがあります AESの開発過程ます。

Twofishは、高いセキュリティマージンを持っているように見えます。 Twofishは、キーに依存しているため使用しています ラウンド関数は、セキュリティマージンの概念はあまりこのアルゴリズムのための意味を持っていること 他のファイナリストのためのより。唯一のK / 2ビットにTwofishはSボックスの依存性 kビットの鍵の場合にエントロピーがTwofishははに従うことができるという推測を導きました 分割統治攻撃、そのような攻撃は見つかっていないが。 Twofishはは、受信しました その複雑さのためにいくつかの批判、の時間枠の中に分析困難に AES開発プロセス。」

あなたが詳細を確認したい場合は、

は、でブロック暗号で、主に私が、記事がありますhttp://en.citizendium.org/wiki/Block_cipherする

以前はAES、ラインダールを使用して、現在の米国の基準に準拠しています。蛇、MARS、Twofishのか、RC-6 - - AESの競争から、他のファイナリストのどれにも問題ないはずです。私はあなたがが、RC6のライセンスが必要だと思います。

AESは、FIPSが承認されているので、

私は通常、AES-128を使用しています。最強の暗号化は、AES-256(MCRYPT_RIJNDAEL_256)である。

mcryptのモジュラー設計と新しい暗号を簡単に追加することができました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top