我在java中为RSA生成公钥时遇到问题。我使用KeyPairGenerator,我获得公共,私钥,p,q和模数。没事。但每次公钥都是65537.每次生成不同的公钥是否有可能?
代码:
KeyPair keys;
KeyPairGenerator generator;
try {
generator = KeyPairGenerator.getInstance("RSA");
generator.initialize(1024);
keys = generator.genKeyPair();
} catch (NoSuchAlgorithmException ex) {}
答案 0 :(得分:3)
值65537是commonly used exponent of RSA keys。这个值是固定的并且没有安全隐患,这并不罕见。
已知有许多已知的弱指数 - 但这个值不属于它。
答案 1 :(得分:1)
公钥不能简单地为65537,因为在RSA中,公钥是一对(n,e),其中n是模数,e是指数。通常,指数等于65537,并且它是变化的模数。
因此,为了确保每次都生成不同的密钥,请检查模数是否在变化。