对于RSA,我的理解是随机查找大素数来构建一个私有/公共密钥区。如果可以在随机搜索过程中使用静态种子,则应该能够可靠地导出相同的公共/私有密钥。
对于基础大素数的可重复发现,随机素数的搜索可能以一个初始的随机大数开始。然后对大数进行顺序评估,以检测它们是否为素数。
这可以用来创建一个TLS-PSK类型的系统,但使用更广泛部署的TLS算法(PSK没有广泛部署)。因此,利用随机种子查找大素数,TLS就像基于PSK的系统一样工作。也就是说,种子值实际上是PSK“对称密钥”。双方从共享种子的大素数中获得相同的私有/公共密钥区。
这种方法是否存在重大安全缺陷?是否存在完成这种随机种子过程的现有方案?
所取得的优势:
与中央键盘的生成和分配相比:
我有一个概念上的新的安全通信系统,将利用这些优势。
发布于 2020-06-22 08:51:33
如何从随机种子派生私有/公共密钥集?
原则上:用随机种子为一个加密强的伪随机数生成器种子种子,并使用它生成RSA密钥对。对于后一种情况,我们可以使用FIPS 186-4 B.3.2。
这种方法是否存在重大安全缺陷?
是的,最明显的是:任何知道种子的实体都可以计算私钥。我们需要信任除指定的私钥持有者之外的每一个这样的实体,只使用种子计算公钥。
另外,确定性RSA密钥对生成可能需要额外的工作来防止侧信道攻击(定时、功率分析)。
还有一个功能性问题: RSA密钥生成相当慢,而且实现通常没有明确规定的执行时间上限。
https://crypto.stackexchange.com/questions/81487
复制相似问题