Java RSA如何生成不同的公钥?

时间:2011-12-21 11:49:58

标签: java rsa public-key

我在java中为RSA生成公钥时遇到问题。我使用KeyPairGenerator,我获得公共,私钥,p,q和模数。没事。但每次公钥都是65537.每次生成不同的公钥是否有可能?

代码:

KeyPair keys;
KeyPairGenerator generator;

try {
    generator = KeyPairGenerator.getInstance("RSA");
    generator.initialize(1024);
    keys = generator.genKeyPair();
} catch (NoSuchAlgorithmException ex) {} 

2 个答案:

答案 0 :(得分:3)

值65537是commonly used exponent of RSA keys。这个值是固定的并且没有安全隐患,这并不罕见。

已知有许多已知的弱指数 - 但这个值不属于它。

答案 1 :(得分:1)

公钥不能简单地为65537,因为在RSA中,公钥是一对(n,e),其中n是模数,e是指数。通常,指数等于65537,并且它是变化的模数。

因此,为了确保每次都生成不同的密钥,请检查模数是否在变化。