【问题标题】:Speed of different PHP mcrypt algorithms不同 PHP mcrypt 算法的速度
【发布时间】:2011-08-16 01:03:29
【问题描述】:

大家好。今天我在测试 php mcrypt 算法。

我运行一个测试来检查不同 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

演员 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

更安全 0.32848501205444

蛇 0.391037940979

三重奏 0.65123796463013

双鱼 0.27349305152893

XTEA 0.37829685211182

当然,当我们谈论安全性时,处理时间并不是最重要的。我只是想分享我的结果。

您使用的是什么 mcrypt 算法和模式,为什么? 我知道这取决于情况、安全级别等,但请举一些例子。

【问题讨论】:

  • 好帖子,正在网上搜索类似的东西...我希望能找到更多性能统计信息,例如内存和 cpu 使用情况...

标签: php performance mcrypt


【解决方案1】:

我正在使用AES 256 (MCRYPT_RIJNDAEL_256),为什么?由于算法的恶名和广泛的使用。我也在使用CBC 模式进行加密,我不明白其中的确切原因,但从我从各种来源阅读的内容来看,它比 ECB 更可靠(如安全)。

另外,请记住,当你处理散列和/或加密时,速度不是你的朋友(原因很简单:如果它很快,它会更快破解)。

【讨论】:

  • 是的,欧洲央行是一个非常糟糕的主意。 ECB 独立加密每个块,使模式分析更加容易。一个引人注目的例子,请参阅en.wikipedia.org/wiki/…
  • 过去几天我读了很多关于 AES/Rijndael 的文章,所以我想我应该在这里注意一下 - Rijndael-256 不是 AES-256。只有 Rijndael-128 和 AES-128 可以互换,因为更强版本的 Rijndael 的 IV 大小会增加,而对于 AES,它始终是 16。
  • MCRYPT_RIJNDEAL_256 不是 AES。
  • CBC 中的 Rijndeal-128 与 CBC 中的 AES-256 相同;我昨天刚刚交换了它们(mcrypt 到 openssl 迁移),它们的结果是一样的。
【解决方案2】:

以下是 PHP(对称密码)中 MCrypt 与 OpenSSL 速度比较的完整测试基准:

Mcrypt 是较旧但文档更好且速度明显较慢的库,但输出非常一致。 OpenSSL 更新、更快且文档较少。

如果您首先关心性能,那么请使用 OpenSSL CFB/ECB 256 位算法。

请注意,英特尔酷睿 i3/i5/i7 支持 AES 指令集,可以将每个线程的 I/O 吞吐量从 11 MB/秒提高到 700 MB/秒 - 请参阅http://en.wikipedia.org/wiki/Advanced_Encryption_Standard。

【讨论】:

  • 什么 PHP 版本。这是?
  • @forsberg 这是在 PHP 5.5 上测试的。前一段时间。但是,在这种情况下,PHP 版本无关紧要,因为加密/解密算法决定了 CPU 周期。使用 PHP 7 也可以实现类似的结果。AES 通常是更快的算法。
猜你喜欢
  • 2011-07-22
  • 2015-06-17
  • 2015-11-30
  • 2014-07-07
  • 2014-02-01
  • 2020-07-17
  • 1970-01-01
  • 2014-01-29
  • 2013-12-01
相关资源
最近更新 更多