Java: RSA, ECCでキーペア生成
JavaでRSA・ECCのそれぞれでキーペアを作る方法のメモ。
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;
}
以上、メモでした。