algorithm - C#中的RijndaelManaged Class是否等同于AES加密?

Mat*_*hew 20 c# encryption cryptography aes

我问这个问题是为了确认C#中的RijndaelManaged类是否等同于AES加密.从我读过的内容来看,RijndaelManaged是实现AES加密的首选算法.有人可以确认一下吗?

RijndaelManaged算法可以安全地用于Web项目吗?谢谢 :)

nto*_*rnl 29

AES算法是在1997年至2000年由NIST举办的竞赛中选出的.获胜者是一种名为Rijndael的算法.

NIST指定AES算法具有128位块大小.由于Rijndael支持128,160,192,224和256位的块大小,因此最终的AES规范与原始的Rijndael规范不同.换句话说,"AES"和"Rijndael"是相同的算法,除了"AES"限于128位的块大小.

块大小与密钥大小无关.所讨论的算法支持128,192和256位密钥.更长的键不一定"更强",因为AES具有某些理论上的弱点.无论哪种方式,在可预见的未来,128位密钥足够长.

正如EkoostikMartin所说,AES至今仍然是牢不可破的.但密码学很难,甚至专业人士也不会每次都做对.使用原始加密原语而不确切知道您正在做什么可能会导致一些不好的事情.换句话说,密码很少是"安全链"中最薄弱的环节.


Eko*_*tin 6

如果您想使用AES,只需使用AesManaged该类 - http://msdn.microsoft.com/en-us/library/system.security.cryptography.aesmanaged%28v=vs.100%29.aspx

RijndaelManaged您引用的类并不完全符合AES规范,主要是因为它提供了块大小的选项.AesManaged使用指定的128位块大小.

至于对网络项目来说是"安全的",它是一种非常强大的加密方法(据我所知,它从来没有被破坏过),但就像它必须正确使用它一样.

  • @Matthew RijndaelManaged可以以与AES不兼容的方式使用,因此受到较少的审查,应该被视为安全性较低,因此不要使用它. (2认同)