从Java私有获取公钥

从Java私有获取公钥,第1张

从Java私有获取公钥

您不能直接从另一个生成任何一个密钥。从数学上讲这是不可能的。如果你有一个含有密钥团 两者 的公钥和私钥,你可以提取它们的相对轻松的任何一个。

编辑,2017年: 多年之后,人们对加密技术有了更深入的了解,现在我很清楚这个答案并不正确。

引用维基百科:

公用密钥由模数n和公用(或加密)指数e组成。专用密钥由模数n和专用(或解密)指数d组成,它们必须保密。p,q和λ(n)也必须保密,因为它们可用于计算d。

可以将公共模数n计算为p×q。原始私钥唯一缺少的是e,但是通常选择此值为65537,如果没有,您仍然可以根据d和λ(n)计算e。

但是,许多私钥存储格式实际上包含公共模数n和其他组件,因此您可以直接提取值。

编辑,2018年: 仍然对此表示反对,这是正确的!我将这个答案留给别人,以便人们知道为什么我本来是错的,并提醒自己以后不要错。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5439212.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存