12

やあみんな。今日、私はphpmcryptアルゴリズムをテストしていました。

テストを実行して、さまざまなmcryptアルゴの速度を確認します。

テストされたアルゴリズム: Cast-128、Gost、Rijndael-128、Twofish、Cast-256、Loki97、Rijndael-192、Saferplus、Blowfish-compat、Des、Rijndael-256、Serpent、Xtea、Blowfish、Rc2、Tripledes

テストはECBモードで実行されました(CBC、CFB、CTR、ECB、NCFB、NOFB、OFBも使用できます)。

「これはテストです」という単純な文字列を暗号化しました。次の結果は、1000回の反復に対するものです(結果は秒単位です)。

ブローフィッシュ0.5217170715332

ブローフィッシュコンパット0.46304702758789

CAST 128 0.19502091407776

CAST 256 0.28649806976318

DES 0.45267295837402

GOST 0.19383502006531

LOKI97 0.27537798881531

RC2 0.44201898574829

RIJNDAEL 128 0.2560601234436

RIJNDAEL 192 0.33414602279663

RIJNDAEL 256 0.42553782463074

SAFERPLUS 0.32848501205444

SERPENT 0.391037940979

トリプルDES0.65123796463013

TWOFISH 0.27349305152893

XTEA 0.37829685211182

もちろん、セキュリティについて話すとき、その処理時間は最も重要なことではありません。結果を共有したいだけです。

どのmcryptアルゴリズムとモードを使用していますか、またその理由は何ですか? 状況やセキュリティレベルなどにもよりますが、例を挙げてください。

4

2 に答える 2

3

MCrypt とPHP の OpenSSL (対称暗号)の速度を比較するための完全なテスト ベンチマークは次のとおりです。

mcrypt と openSSL のベンチマーク

Mcrypt は古いですが、文書化されており、ライブラリが大幅に遅くなりますが、出力は非常に一貫しています。OpenSSL は新しく、高速で、文書化されていません。

そもそもパフォーマンスが気になる場合は、OpenSSL CFB/ECB 256 ビット アルゴリズムを使用してください。

Intel Core i3/i5/i7は、I/O スループットをスレッドあたり 11 MB/秒から 700 MB/秒に大幅に増加できるAES 命令セットをサポートすることに注意してください - http://en.wikipedia.org/wiki/Advanced_Encryption_Standardを参照してください。

于 2014-07-03T14:32:16.467 に答える
1

AES 256 ( )を使用していますがMCRYPT_RIJNDAEL_256、なぜですか? アルゴリズムの悪評と広く使用されているためです。モードを使用して暗号化も行ってCBCいますが、その理由は正確にはわかりませんが、さまざまなソースから読んだところ、ECBよりもはるかに信頼性が高いです(安全であるように)。

また、ハッシングや暗号化を扱う場合、速度は味方ではないことに注意してください(理由は簡単です。速度が速ければ、クラックも速くなります)。

于 2011-04-30T13:01:23.653 に答える