首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当生成一个4096位RSA密钥对时,私钥和公钥都有精确的4096位吗?

当生成一个4096位RSA密钥对时,私钥和公钥都有精确的4096位吗?
EN

Security用户
提问于 2015-07-19 16:02:22
回答 3查看 1.7K关注 0票数 4

在生成4096位RSA密钥对时,私钥和公钥都有精确的4096位,因此在二进制表示中不以0开头吗?

EN

回答 3

Security用户

发布于 2015-07-19 22:33:13

初步而言,在RSA中,公钥是对(N, e),私钥是d。就像已经说过的,模数N的位大小就是4096所指的。N只与e一起构成部分公钥。不要求e是什么位大小。在RSA中安全加密的唯一要求是将消息m乘以e第四次方“封装模”,即m^e > N。因此,在实际应用中,使用了3 (2位)的e值。e最常见的当前值是65537 (17位),实际上,您看到的大多数SSL证书都具有此值,例如google.com。

d (私钥)的位大小没有设置,而且可能有很大的变化,因为它只是组phi(N)e的乘法逆,其中phi是totient函数。在大多数情况下,它将比4096位小得多。

票数 4
EN

Security用户

发布于 2015-07-19 17:26:47

期望零在BigInteger的MSB或LSB中发生。(二进制输出的两端)

我用C#编写了RSA代码,在BouncyCastle、BigInteger和.NET大整数中必须计算一个前导零。这两个图书馆的有趣之处在于,一个是大端,另一个是小端。

票数 0
EN

Security用户

发布于 2015-07-19 19:39:20

4096指的是n的模数,公钥和私钥应该具有“相似”的位长,以提供预期的安全性。为p或q选择一个小得多的值允许n的因式分解(即通过蛮力强迫),因此可以用来检索密钥。

因此,这两个参数都必须有上述长度。

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

https://security.stackexchange.com/questions/94392

复制
相关文章

相似问题

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