【发布时间】:2013-10-26 14:05:35
【问题描述】:
.NET 中的 Microsoft 椭圆曲线支持有哪些限制?我仅指 System.Cryptography 命名空间的可能性。
使用该命名空间,我是否可以实现自定义曲线,还是仅限于框架中硬编码的不同子集?
我特别感兴趣的一条曲线是 secp256k1,但我不想局限于此。
为什么我不使用 Bouncy Castle,而只关注 Microsoft?原因是因为微软实现的 Hash 函数比 Bouncy Castle 快很多倍,所以我认为是基于自定义椭圆曲线的加密。
我不介意是否需要更新注册表或 ini 文件以添加对其他曲线的支持,或构建低级类;我只是想看看有哪些可能性和限制。
【问题讨论】:
-
@weston 我已经看到了那个链接,以及它所引用的 C# 代码。不,它只显示了 Bouncy Castle 的实现...我有兴趣使用仅限 Microsoft 的库来实现 EC
-
@makerofthings7:如果只有 MS 的东西真的值得一试,为什么很难找到不围绕第三方的示例图书馆?
-
@cHao 因为涉及第三方库的现有示例并不总是能说明问题的全部。恰当的例子:Java 中的默认加密提供程序将 AES 密钥大小限制为 128 位。对于需要 256 位密钥的人来说,直接的答案是使用 Bouncy Castle 提供程序。由于许多原因,安装一个复制标准功能的额外 2MB 库并不是最理想的,但似乎没有人有更好的解决方案。最终,经过几个月(断断续续)的研究,我设法在不涉及第三方库的情况下解决了这个问题:stackoverflow.com/a/18437016/2424896
标签: c# .net cryptography logarithm bitcoin