不同PHP mcrypt算法的速度

Tam*_*Pap 12 php performance mcrypt

嗨伙计们.今天我正在测试php mcrypt算法.

我运行一个测试来检查不同的mcrypt algos的速度.

经测试的算法: 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次迭代(结果以秒为单位).

BLOWFISH 0.5217170715332

BLOWFISH COMPAT 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

TRIPLEDES 0.65123796463013

TWOFISH 0.27349305152893

XTEA 0.37829685211182

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

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

Ali*_*xel 1

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

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

  • 是的,欧洲央行是一个非常糟糕的主意。ECB 独立加密每个块,使模式分析变得更加容易。有关引人注目的示例,请参阅http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29 (5认同)
  • 在过去的几天里,我读了很多关于 AES/Rijndael 的内容,所以我想我应该在这里指出 - Rijndael-256 不是 AES-256。只有 Rijndael-128 和 AES-128 可以互换,因为对于更强版本的 Rijndael,IV 大小会增加,而对于 AES,IV 大小始终为 16。 (3认同)
  • `MCRYPT_RIJNDEAL_256` 不是 AES。 (2认同)