11

MCRYPT_RIJNDAEL_128MCRYPT_RIJNDAEL_256、などの違いは何ですかMCRYPT_BLOWFISH。Web でのデータ転送に最適なのはどれですか?

4

5 に答える 5

19

Rijandel は、現在の「1 つの優れた標準」アルゴリズムである AES の別名です。128 または 256 という数値はキーの長さです。

Blowfish はやや古い 64 ビット ブロック暗号です (AES は 128 ビット ブロック暗号です)。

どちらも実際に壊れていないため、どちらが「優れている」または「劣っている」とは言えませんが、一般的には AES の方が優れているはずであり、ほとんどの実装も高速です。また、最新の CPU はハードウェアで AES をサポートしているため、さらに高速になります... したがって、AES を使用しない理由はほとんどありません

鍵の長さに関しては、対称暗号には実際には 128 ビットで十分です。もちろん、あなたが自国の核兵器コードの管理者でない限り、その場合は代わりに 256 ビット キーを使用することをお勧めします。

賢明な方法で 256 ビット キーを使用する場合は、約 40 文字のパスワードが必要になることに注意してください。これは、暗号アルゴリズムがセキュリティチェーンの弱点ではなく、人間であることをもう一度示しています.

編集: もう一度考えてみると、256 ビット キーで必要なパスワードの長さとしては、おそらく 50 ~ 60 文字がより合理的な推測です。英語のエントロピーは、1 文字あたり 2 ビット未満です。文字と数字のややランダムな文字シーケンスを使用すると仮定しましょう (ただし、まだ覚えている必要があります...)。したがって、文字ごとに 4 ~ 5 ビットのエントロピーが得られる可能性があります (非常に楽観的です!)。これには 51 ~ 64 文字を入力する必要があるため、パスワードのエントロピーはキーのエントロピーとほぼ一致します。

ここで問題は、50 文字のパスワードを持っている人はどれくらいいるでしょうか? :-)

更新:
2011 年後半の時点で、Rijndael/AES (Bogdanov、Khovratovich、Rechberger) に対するキー回復攻撃が存在します。これは、「ほぼ理論的」または「陽気な短縮ラウンド」の種類の攻撃の 1 つではありません。攻撃はフルラウンド AES で機能し、ブルート フォースよりも約 4 倍高速です。したがって、正式には、Rijndael は「壊れている」と考えることができます。
実際には、攻撃は今のところ無関係です。サポートされている最短のキー長でも、ブルート フォースの 4 倍の速さで攻撃するには 2 126操作が必要であり、これは大規模なハードウェア実装でも実用的ではありません。ただし、攻撃が改善されれば、これは将来変更される可能性があります。

于 2011-03-09T23:48:59.897 に答える
4

Rijndael と Blowfish はどちらも安全であると見なされます。

MCRYPT_RIJNDAEL_128 と MCRYPT_RIJNDAEL_256:
唯一の違いはブロック サイズです。128 ビット、192 ビット、または 256 ビットのキーで使用できます。
キーが大きいほど、総当たり攻撃に時間がかかります。
そのため、256 ビット バージョンの方が安全です。
注: 128 ビット バージョンでも、ブルート フォース攻撃にかなりの時間がかかります。

現在、Rijndael は Advanced Encryption Standard です:
http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

一般に、AES は Blowfish よりも高速です。その理由は次
のとおりです。
- 多くのプロセッサが AES のハードウェア アクセラレーションをサポートしています。

結論:
- 3 つのオプションはすべて、データ転送には十分安全です。
- 選択は、データがどの程度「機密」であるかによって異なります。
- Rijndael はより広く使用されているため、いくつかの状況では実装が容易です。

于 2011-03-10T00:18:15.527 に答える
2

MCRYPT_RIJNDAEL_128 および MCRYPT_RIJNDAEL_256 に関して、「128 または 256 という数字はキーの長さです」というこの質問への回答 - これは正しくありません。これらの数値は、鍵の長さではなくブロックサイズを参照しています。ただし、両方の実装 (128 ビットまたは 256 ビットのブロック サイズを使用) は、128 ビットまたは 256 ビットのキーを受け入れることができます。

于 2013-01-16T21:12:48.993 に答える
1

それはあなたが望む答えの種類によって異なります。実装の違いは単なるプログラミングの問題ですが、設計の違いは通常、非常に詳細な数学的証明です。いくつかの暗号化アルゴリズム間の複雑な設計の違いを説明することは、このサイトの範囲を超えている可能性があります. さらに、すべてのアルゴリズムには弱点があり、既知のものとそうでないものがあります。現存するアルゴリズムの特定の弱点により、通常は廃止されますが、それらを回避する方法があります (典型的な例: DES には、簡単にクラック可能なコードをもたらすキーのサブセットがありました。回避策は、それらのキーを使用しないことでした)。

于 2011-03-10T00:01:59.670 に答える
-1

RSA は非対称暗号化アルゴリズムであり、2030 年提案の最大キー長は 2048 AES は、2015 年提案の最大キー サイズ 256 ビットの対称アルゴリズムです。Serpent 暗号化アルゴリズムも、キー サイズ 256 の対称アルゴリズムで、2015 年提案です。

于 2012-07-03T19:55:36.257 に答える