为了账号安全,请及时绑定邮箱和手机立即绑定

已知公钥时生成 Java RSA 私钥

已知公钥时生成 Java RSA 私钥

四季花海 2022-01-12 17:03:13
当公钥已知时,有没有办法在java中生成RSA私钥,比如3?我找不到使用 java.security 包中的 Class KeyPairGenerator 执行此操作的方法...我的问题很简单,我不是在寻找与密码学相关的信息。只是想知道,如果我有公用指数为RSA,有没有办法在Java中,以获得专用指数,对于公开指数,给定系数长度,例如2048× 这应该对这个主题有所了解:https : //en.wikipedia.org/wiki/RSA_( cryptosystem) #Key_generation https://en.wikipedia.org/wiki/65,537
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

公钥密码术的全部意义在于私钥是保密的。如果有一种方法可以轻松地从公钥生成私钥,那么加密模式就会被破坏。

是的,您可能可以暴力破解私钥,但这并不容易:

公钥密码系统的强度取决于从配对公钥中找到私钥所需的计算量(密码学中的工作因素)。有效的安全性只需要保持私钥的私密性;公钥可以在不影响安全性的情况下公开分发。


查看完整回答
反对 回复 2022-01-12
?
MMTTMM

TA贡献1869条经验 获得超4个赞

排序答案是“否”。

长答案是使用sunrsasign Provider,它实现 RSAKeyPairGenerator 使得公共指数为 65537:*"/** * RSA 密钥对生成。标准算法,最小密钥长度 512 位。* 我们生成两个随机素数,直到找到两个 phi * 相对于公共指数的质数。默认指数是 65537。它只有第 0 位 * 和第 4 位设置,这使得它特别有效。**/*

如果您想要一个不同的公共指数,您需要创建自己的提供程序并将其与 JCA 集成。

更多关于这背后的数学在这里


查看完整回答
反对 回复 2022-01-12
  • 2 回答
  • 0 关注
  • 397 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信