首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RSA的最小密钥长度

RSA的最小密钥长度
EN

Stack Overflow用户
提问于 2014-03-26 22:10:52
回答 3查看 3.1K关注 0票数 1

当我在C#中使用RSA实现许可证密钥机制时,我遇到了RSACryptoServiceProvider类,它被限制在最小的384位密钥大小。这个密钥长度直接影响到我创建的签名(==license密钥)。

是384位,一般是RSA的技术限制,或者可以用更短的密钥大小成功地实现RSA??

阅读解释RSA的(德语)维基百科文章,他们在数学计算示例中使用非常小的素数。这似乎是可行的,所以我认为关键的大小应该小于20位.注意:我现在绝对不关心安全问题。那是另一个讨论。我只想得到正确的技术限制。

我知道堆栈溢出不应该被用来要求工具,但是如果您知道一个.NET RSA库有一个较低的限制,也许您只是想附带说明一下。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-03-27 14:59:52

如果您不关心安全性,那么是的,您可以实现密钥大小< 384位的RSA。虽然不推荐它是不安全的,但它可以工作。

在这个幻灯片中,Dan以一个拥有128个位私钥的例子为例。(他的其他课程也值得一看)。

票数 1
EN

Stack Overflow用户

发布于 2014-03-27 15:33:27

这并不是真正的技术限制,但缺点是,随着私钥大小的减少(因此降低了模数),块的大小也会减小。

因此,如果要签名/加密的数据作为块长度更大,则必须使用块链接模式,这与RSA组合在一起相当少见。

票数 1
EN

Stack Overflow用户

发布于 2014-04-03 05:42:49

从安全的角度来看,384位RSA可以在几个小时内破解,512位RSA可以在一两周内破解。如果您关注签名大小,则具有160位密钥的ECDSA将生成一个40字节签名。BLS可以做到一半,但是没有很好的库。

从“技术限制”的角度来看,RSA密钥的位数必须是您想要签名的值的两倍多。通常您对数据的散列进行签名,而不是直接对数据进行签名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22674105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档