C# FIPS 140-2 加密

标签 c# encryption fips

我的任务是想出一种方法来更改我们公司的数据库,使其符合 FIPS 140-2 标准。我们主要是一家微软商店,目前拥有一个利用 RijndealManaged 来执行加密/解密的加密库。涉及多个环境,因此无论我想出什么解决方案,都需要在独立的计算机上对同一消息进行加密/解密(所以我认为我不能使用像 AESCryptoProvider 这样依赖于操作系统的 .net 库)

我对密码学没有深入的了解或背景,但根据我迄今为止所做的研究,我知道 AES 仍然是符合 FIPS 140-2 的算法。我的问题是:是否有更新的 .NET AES 托管模块可供我在这些环境中使用以符合 FIPS 140-2 要求? AESManaged 模块是否只需要我以特定方式配置它(即 256 key 大小和 128 block 大小)才能符合 FIPS 要求?

我无法使用第三方库。

最佳答案

只要安装的 .Net Framework 版本为 3.5+,包装 NIST 认证的 FIPS 140-2 兼容算法的类就可用。

诀窍是在一台机器上加密并在另一台机器上解密,您必须使用相同的 key 和初始化向量值。

您应该能够简单地将库中对 RijndaelManaged 类的调用替换为对 AESCryptoServiceProvider 类的相同调用。

关于C# FIPS 140-2 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35895547/

相关文章:

c# - Sql必须声明标量变量错误

c# - MVVM 模式、IDataErrorInfo 和绑定(bind)显示错误?

c# - 如何将文件列表添加到剪贴板以进行剪切

ruby-on-rails - Rails request.create 在 rsa-sha256 中?

c# - 使用 .NET 4.0、3.5 时,UnmanagedFunctionPointer 会导致堆栈溢出

Java:如何创建一个通过交换字符对来加密行的程序?

postgresql - FIPS 策略阻止访问 AWS 上的 RDS-Postgres

android - 在 Android 中使用 openssl-fips-2.0 共享库

linux - OpenSSL 1.0.0l 配置脚本中没有 fips 和 --with-fipsdir 参数

java - Java 中的加密我需要一个 16 字节的初始 vector