查找RSA参数

时间:2018-01-05 13:39:37

标签: java android rsa

我想在这段代码中找到我用于Android项目演示的c,d,p和q参数。

https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Key_distribution

这是我的代码

public class RSA {
    private final static String RSA = "RSA";

    public static PublicKey puk;
    public static PrivateKey prk;


    public static void generateKey() throws Exception {
        KeyPairGenerator gen = KeyPairGenerator.getInstance(RSA);
        gen.initialize(512, new SecureRandom());
        KeyPair keyPair = gen.generateKeyPair();
        puk = keyPair.getPublic();
        prk = keyPair.getPrivate();

    }
}

请问如何从此代码中获取这些值?

1 个答案:

答案 0 :(得分:2)

我不记得确切的映射,但如果您将公钥和私钥投射到其RSA特定类型,则可以访问所有值:

    RSAPublicKey puk = (RSAPublicKey) keyPair.getPublic();
    RSAPrivateCrtKey prk = (RSAPrivateCrtKey) keyPair.getPrivate();
    System.out.println("p: " + prk.getPrimeP());
    System.out.println("q: " + prk.getPrimeQ());
    ...

请参阅RSAPublicKeyRSAPrivateCrtKey