【问题标题】:When would I choose AesCryptoServiceProvider over AesManaged or RijndaelManaged?我什么时候会选择 AesCryptoServiceProvider 而不是 AesManaged 或 RijndaelManaged?
【发布时间】:2009-08-04 16:13:37
【问题描述】:

我认为区别因素是

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

这样说对吗?

【问题讨论】:

标签: .net aes rijndaelmanaged


【解决方案1】:

AesManaged documentation 声明

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

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


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

【讨论】:

  • 不——我并不认为它只对欧洲央行有用。了解 Microsoft doc 样式,如果实际上 AES 仅可用于 ECBB,则 doc 明确说明。 (它不是“Cookbook”,它的“Codebook”)。 AES 还支持其他模式,包括 CBC。
  • 嗯,我认为你是对的,这可能是文档中的矛盾。更新答案
猜你喜欢
  • 1970-01-01
  • 2011-11-23
  • 2010-10-31
  • 2011-01-18
  • 2012-11-09
  • 1970-01-01
  • 2020-03-24
  • 1970-01-01
相关资源
最近更新 更多