在堆栈溢出:
'2048 位,或 1400 个十进制数字' https://stackoverflow.com/questions/11832022/why-are-large-prime-numbers-used-in-rsa-encryption
在维基百科上:
'RSA-2048 有 617 个十进制数字(2,048 位)。 http://en.wikipedia.org/wiki/Key_size
我不明白 2048 RSA 密钥有多少个十进制数字。
在堆栈溢出:
'2048 位,或 1400 个十进制数字' https://stackoverflow.com/questions/11832022/why-are-large-prime-numbers-used-in-rsa-encryption
在维基百科上:
'RSA-2048 有 617 个十进制数字(2,048 位)。 http://en.wikipedia.org/wiki/Key_size
我不明白 2048 RSA 密钥有多少个十进制数字。
一位可以是 0(零)或 1(一)。所以 2048 位给出 2^2048 个不同的数字。一个十进制数字有十个可能的值 0, 1, 2, ... , 9。所以要找到十进制数字的个数来生成 2^2048 个不同的数字,我们需要解决
2^2048 = 10^n
两边取对数(以 10 为底)得到
2048 log(2) = n log(10)
IE
n = 2048log(2) = 616.5
这意味着您需要 617 位数字。
617 个十进制数字。该stackoverflow答案不正确。
floor(log_10(2^2048)) + 1 = 617
2048 位是 2048 位或二进制数字。这意味着 2048 个数字,可以是 0 或 1。
在 2048 位中,您可以放置 3.2317...E616 不同的值。这是一个大数的科学记数法。1.23E17 表示 123000000000000000,但 3.2317E616 实际上表示 3231700607131100730071487668867...,或者一个总共有 617 个十进制数字的数字。
为了更简单,
因此,在 2048 位中,您可以存储 2^2048 或 3.23E616 个不同的值。这是一个有 617 个十进制数字的数字。
我没有完整阅读您引用的第一篇文章,但是 1400 是错误的,或者是在不同的上下文中。