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

标签 c# encryption cryptography aes

我问这个问题是为了确认 C# 中的 RijndaelManaged 类是否等同于 AES 加密。根据我的阅读,RijndaelManaged 是实现 AES 加密的首选算法。有人可以证实这一点吗?

将 RijndaelManaged 算法用于 Web 项目是否安全?谢谢:)

最佳答案

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

NIST 指定 AES 算法的 block 大小为 128 位。由于 Rijndael 支持 128、160、192、224 和 256 位的 block 大小,因此最终的 AES 规范在这方面不同于原始的 Rijndael 规范。换句话说,“AES”和“Rijndael”是相同的算法,只是“AES”被限制为 128 位的 block 大小。

block 大小与 key 大小无关。所讨论的算法支持 128、192 和 256 位 key 。更长的 key 不一定“更强”,因为AES有一定的理论weaknesses .无论哪种方式,128 位 key 在可预见的 future 都足够长。

正如 EkoostikMartin 所说,AES 迄今为止牢不可破。但是密码学很难,即使是专业人士也不会每次都做对。在不知道自己在做什么的情况下使用原始加密原语可能会导致一些不好的事情。换句话说,密码很少是“安全链”中最薄弱的一环。

关于c# - algorithm - C# 中的 RijndaelManaged 类是否等同于 AES 加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17171893/

相关文章:

c# - 使用 C# 2010 连接到 SQL Server 2008 的小问题

php - 换行符加解密显示在网站上

algorithm - 如何修改id混淆混洗位算法中的掩码?

security - 如何为多位收件人加密一封邮件?

validation - 我是否应该对RSA软件包生成的用户 key 对进行验证,以确保 key 对是唯一的(其他用户没有相同的 key 对)?

.net - 使用 Triple DES 解密信息时出现错误数据

c# - 如何使用 Entity Framework 在子查询中执行where?

c# - 将匿名类型作为 T 传递

c# - 我应该在 vb.net 中使用只读属性还是带有私有(private)集的属性?

Node.js 和 MongoDB 进行支付和存储信用卡数据