已知公钥时生成Java RSA私钥
在java中,当已知公钥时,例如3,是否有方法生成RSA私钥
我找不到一种使用java中的KeyPairGenerator类实现这一点的方法。安全软件包
我的问题很简单,我不是在寻找与密码学相关的信息。 我只想知道,如果我有用于RSA的公共指数,是否有一种方法在java中获得该公共指数的私有指数,对于给定的模长度,例如2048? 这将有助于了解以下主题: https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Key_generation https://en.wikipedia.org/wiki/65,537
# 1 楼答案
答案是“不”
详细的答案是使用sunrsasign提供程序,它实现了RSAKeyPairGenerator,使公共指数为65537: *"/** *RSA密钥对生成。标准算法,最小密钥长度512位。 *我们生成两个随机素数,直到找到两个φ相对的素数 *向公众宣传。默认指数为65537。它只有0位 *第4位设置,这使得它特别有效。 **/*
如果你想一个不同的公共指数,你需要创建自己的提供商,并将其与JCA集成
更多关于这个here背后的数学
# 2 楼答案
public-key cryptography的关键是私钥仍然是秘密的。如果有一种方法可以轻松地从公钥生成私钥,那么加密模式就会被破坏
是的,您可能可以强制使用私钥,但这并不容易: