Java: RSA, ECCでキーペア生成

JavaRSAECCのそれぞれでキーペアを作る方法のメモ。

RSA

KeyPairGeneratorにキーサイズを渡して初期化。キーサイズは、512ビット長以上、16384ビット長以下。

private static KeyPair generateKeyPairByRSA(int keySize) throws NoSuchAlgorithmException {
    
    KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
    keyGen.initialize(keySize);
    KeyPair keyPair = keyGen.generateKeyPair();
    
    return keyPair;
}


ECC

KeyPairGeneratorの初期化時に、楕円曲線名を渡す方法とキーサイズ・乱数を渡す方法の2通りがある。

private static KeyPair generateKeyPairByECC(String curveName) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException {
    
    KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EC");
    
    //楕円曲線名で初期化
    ECGenParameterSpec spec = new ECGenParameterSpec(curveName);
    keyGen.initialize(spec);
    
    //キーサイズ・乱数で初期化
    //SecureRandom randomGen = SecureRandom.getInstance("SHA1PRNG");
    //keyGen.initilize(keySize, randomGen);
    
    KeyPair keyPair = keyGen.generateKeyPair();
    
    return keyPair;
}

以上、メモでした。