12

嘿伙计们。今天我在测试 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

铸造 128 0.19502091407776

铸造 256 0.28649806976318

DES 0.45267295837402

GOST 0.19383502006531

LOKI97 0.27537798881531

RC2 0.44201898574829

瑞恩代尔128 0.2560601234436

瑞恩代尔192 0.33414602279663

瑞恩代尔256 0.42553782463074

更安全的 0.32848501205444

0.391037940979

三倍数0.65123796463013

双鱼0.27349305152893

XTEA 0.37829685211182

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

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

4

2 回答 2

3

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

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

于 2014-07-03T14:32:16.467 回答
1

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

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

于 2011-04-30T13:01:23.653 回答