根据此页面http://en.wikipedia.org/wiki/RSA_numbers,每个RSA版本使用一个单一的常数长数,这很难分解。
这是对的吗?
例如,RSA-100使用数字
1522605027922533360535618378132637429718068114961380688657908494580122963258952897654000350692006139
在1991年被考虑在内。
同时RSA-210使用数字
245246644900278211976517663573088018467026787678332759743414451715061600830038587216952208399332071549103626827191679864079776723243005600592035631246561218465817904100131859299619933817012149335034875870551067
尚未考虑。
我的问题是:这是不是意味着任何特定RSA版本的CREATORS知道因子编号,因此可以读取所有编码的消息?如果他们不知道因子分解那么它们如何产生数字?
答案 0 :(得分:3)
这些数字只是样本随机数,RSA用它来判断算法的充分性。为了安全起见,RSA非对称密钥算法本身依赖于分解大尺寸数字的难度。
将这些数字分解的大致时间或难度表明算法中使用的其他此类数字将如何与我们的计算能力相媲美。
这些数字是挑战,描述如下。
(引自Reference)
RSA挑战号码是使用安全流程生成的 保证每个数字的因素都不能被任何人获得 除了公布值之外的其他方法。没人,甚至不是RSA 实验室,了解任何挑战数字的因素。该 一代是在没有网络连接的Compaq笔记本电脑上进行的 任何形式的。该过程如下:
首先,30,000随机 使用ComScire QNG硬件随机数生成字节 发电机,连接到笔记本电脑的并口。
随机字节 被用作B_GenerateKeyPair函数的种子值,in RSA BSAFE库的4.0版本。
私人部分 生成的密钥对被丢弃了。公共部分出口,在 DER格式到磁盘文件。
从DER中提取模量 文件并转换为十进制,以便在网页上发布。
在 笔记本电脑的硬盘坏了。
当它变得相当简单和快速时,为了可靠地分解特定大小的数字,通常意味着是时候移动到更长的数字。
答案 1 :(得分:1)
看看Ron was wrong, Whit is right。它详细分析了重复使用RSA密钥以及使用常见因素(您描述的问题)使用RSA密钥。文章中有很多内容,但引用其结论:
我们检查了数百万个公钥的计算属性 我们在网上收集的。大多数人似乎没有受到影响 明显的弱点,可以预期提供预期的水平 安全。我们发现公钥的订单是0.003% 不正确,这似乎并不是不可接受的。
是的,这是一个问题,问题会继续增加,但可能的密钥数量意味着问题不是太严重,至少现在还没有。请注意,该文章并未涵盖强制使用较短RSA密钥的粗暴易用性。
请注意,这不是RSA算法或用于生成密钥的随机数生成器的问题(尽管本文确实提到种子可能仍然是个问题)。难以从任意的,有时断开连接的设备检查新生成的密钥与不断扩展的现有密钥列表。这与known weak keys for DES不同,例如,弱密钥是预先知道的。