【发布时间】:2016-11-03 16:06:54
【问题描述】:
我正在使用 .NET 3.5 中的 HSM 开发一个应用程序来执行加密操作(用于客户演示),没有 PKCS#11,在 c#(加密命名空间)中
我找到了 HSM 的 CSP 支持的算法(使用
certutil -csp "HSM's CSP Provider name found in regedit" -csptest),其中一些在Cryptography namespace中没有 CryptoServiceProvider(RC2、RC4、DESX 对称算法;MD4、MD2 , AES-GMAC 哈希算法),但它们在 MS 文档中被列为支持:https://msdn.microsoft.com/en-us/library/windows/desktop/bb931354(v=vs.85).aspx。有人知道如何使用这些来执行操作吗?换句话说,是否可以选择没有特殊 CSP 类的算法?我有一个类似的随机数生成问题。我的 HSM 支持这些 RNG 算法:RNG、FIPS186DSARNG、DUALECRNG(发现方法与 1 中的算法相同。)有没有办法在 C# 中使用指定算法生成随机数?
我终于想将生成的对称密钥直接保存在 HSM 上,但 Cryptography 命名空间只有非对称密钥的 KeyContainers。
提前感谢任何对这些问题有想法的人! 编辑:添加了 .NET 框架的版本,3.5
【问题讨论】:
-
请注意:不要不使用基于不对称原语的RNG。 Dual EC RNG 之所以广为人知,是因为它的实现很可能被 NSA 破解。除此之外,它们通常很慢。
-
好的,谢谢您的建议
标签: c# .net random cryptography hsm