我何时会在AesManaged或RijndaelManaged上选择AesCryptoServiceProvider?

时间:2009-08-04 16:13:37

标签: .net aes rijndaelmanaged

我认为区别因素是

  • AesCryptoServiceProvider符合FIPS标准
  • AesManaged是跨平台的,需要.NET 3.0
  • RijndaelManaged在.NET 2.0上运行,需要限制blocksize

是对的吗?

1 个答案:

答案 0 :(得分:2)

AesManaged documentation表示

“AES算法本质上是Rijndael对称算法,具有固定的块大小和迭代计数。该类的功能与RijndaelManaged类相同,但将块限制为128位,不允许反馈模式。

这表明它使用ECB(电子密码本)模式。这可能是加密数据的一个重大弱点,因为它意味着相同的纯文本数据块将导致相同的密码输出块。


编辑:(作为更正)
Mode属性的文档表明Mode infact默认为CBC(这是一种令人困惑的反馈模式)但不能设置为CFB或OFB(密码反馈/输出反馈)