【问题标题】:Which FIPS compatible algorithm is better in dotNet 2.0?dotNet 2.0 中哪种 FIPS 兼容算法更好?
【发布时间】:2009-04-13 04:43:49
【问题描述】:

我使用 Rijndael 算法来加密/解密我的数据。但它不兼容 FIPS。我想把它换成另一个。你能给我一个建议,哪个更好? 更好的意思:

  1. FIPS 兼容
  2. 安全级别高
  3. 这个算法应该来自微软提供的dotnet 2.0框架。

谢谢

-詹姆博

【问题讨论】:

  • 是的,很抱歉这个错误。我已经更新了。

标签: .net algorithm .net-2.0 cryptography


【解决方案1】:

您可以使用 AES 256,许多供应商都使用它并获得了 FIPS 认证。
问题是仅仅使用“正确的”加密算法来符合 FIPS 是不够的,您需要让您的系统接受 NIST 的测试。

编辑:someone already did a test on all .NET 2.0 & 3.5 提供程序以查看它们是否符合 FIPS。

长话短说:

在 .NET 2.0 下支持以下内容:
DESCryptoServiceProvider
DSACryptoServiceProvider
RSACryptoServiceProvider
TripleDESCryptoServiceProvider

【讨论】:

  • System.Security.Cryptography.AES 在 dotNet 3.5 中提供。我想要 dotNet 2.0 的算法。还有其他提示吗?
  • AesManaged Class (MSDN):如果启用了符合联邦信息处理标准 (FIPS) 的算法的 Windows 安全策略设置,则使用此算法会引发 CryptographicException。
  • TripleDesCryptoServiceProvider 构造函数可能会抛出异常: if (!Utils.HasAlgorithm(0x6603, 0)){ throw new CryptographicException(Environment.GetResourceString("Cryptography_CSP_AlgorithmNotAvailable"));那么,什么时候会抛出这个异常呢?在一些旧的操作系统中? Win2000怎么样?
猜你喜欢
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-12
相关资源
最近更新 更多