List of usage examples for org.bouncycastle.pqc.jcajce.spec SPHINCS256KeyGenParameterSpec SHA3_256
String SHA3_256
To view the source code for org.bouncycastle.pqc.jcajce.spec SPHINCS256KeyGenParameterSpec SHA3_256.
Click Source Link
From source file:com.distrimind.util.crypto.JavaNativeKeyPairGenerator.java
License:Open Source License
@Override public void initialize(short _keySize, long expirationTime, AbstractSecureRandom _random) throws InvalidAlgorithmParameterException { this.keySizeBits = _keySize; this.expirationTime = expirationTime; if (signatureType != null && signatureType.getKeyGeneratorAlgorithmName().equals( ASymmetricAuthenticatedSignatureType.BCPQC_SPHINCS256_SHA3_512.getKeyGeneratorAlgorithmName())) { this.keySizeBits = signatureType.getDefaultKeySize(); keyPairGenerator.initialize(new SPHINCS256KeyGenParameterSpec(SPHINCS256KeyGenParameterSpec.SHA3_256), _random.getJavaNativeSecureRandom()); } else if (signatureType != null && signatureType.getKeyGeneratorAlgorithmName() .equals(ASymmetricAuthenticatedSignatureType.BCPQC_SPHINCS256_SHA2_512_256 .getKeyGeneratorAlgorithmName())) { this.keySizeBits = signatureType.getDefaultKeySize(); keyPairGenerator.initialize(new SPHINCS256KeyGenParameterSpec(SPHINCS256KeyGenParameterSpec.SHA512_256), _random.getJavaNativeSecureRandom()); } else if (signatureType == null || signatureType.getCurveName() == null) keyPairGenerator.initialize(new RSAKeyGenParameterSpec(_keySize, RSAKeyGenParameterSpec.F4), _random.getJavaNativeSecureRandom()); else {//w w w. j a v a 2s. co m switch (signatureType.getCurveName()) { case "P-256": case "P-384": case "P-521": this.keySizeBits = signatureType.getDefaultKeySize(); keyPairGenerator.initialize(new ECGenParameterSpec(signatureType.getCurveName()), _random.getJavaNativeSecureRandom()); break; case "curve25519": this.keySizeBits = signatureType.getDefaultKeySize(); keyPairGenerator.initialize(ASymmetricEncryptionType.getCurve25519(), _random.getJavaNativeSecureRandom()); break; case "Ed25519": case "Ed448": case "X25519": case "X448": keyPairGenerator.initialize(signatureType.getDefaultKeySize(), _random.getJavaNativeSecureRandom()); break; //keyPairGenerator.initialize(getXDHAlgorithmParameterSpec(signatureType.getCurveName())); //break; /*case "M221": case "M383": case "M511": case "curve41417": this.keySizeBits = signatureType.getDefaultKeySize(); X9ECParameters ecP = CustomNamedCurves.getByName(signatureType.getCurveName()); keyPairGenerator.initialize(new org.bouncycastle.jce.spec.ECParameterSpec(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()), _random.getJavaNativeSecureRandom()); break;*/ default: throw new InternalError(); } } /*this.keySizeBits=signatureType.getDefaultKeySize(); keyPairGenerator.initialize(new ECGenParameterSpec(signatureType.getCurveName()), _random.getJavaNativeSecureRandom()); if (signatureType!=null && (signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_FIPS_SHA256withECDSA_P_256.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_FIPS_SHA384withECDSA_P_384.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_FIPS_SHA512withECDSA_P_521.getKeyGeneratorAlgorithmName()))) { if (_keySize<256) { this.keySizeBits=224; keyPairGenerator.initialize(new ECGenParameterSpec("P-224"), _random.getJavaNativeSecureRandom()); } else if (_keySize<(384-256)/2) { this.keySizeBits=256; keyPairGenerator.initialize(new ECGenParameterSpec("P-256"), _random.getJavaNativeSecureRandom()); } else if (_keySize<(521-384)/2) { this.keySizeBits=384; keyPairGenerator.initialize(new ECGenParameterSpec("P-384"), _random.getJavaNativeSecureRandom()); } else { this.keySizeBits=521; keyPairGenerator.initialize(new ECGenParameterSpec("P-521"), _random.getJavaNativeSecureRandom()); } } else if (signatureType!=null && (signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA256withECDSA_CURVE_25519.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA384withECDSA_CURVE_25519.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA512withECDSA_CURVE_25519.getKeyGeneratorAlgorithmName()))) { this.keySizeBits=signatureType.getDefaultKeySize(); keyPairGenerator.initialize(ASymmetricEncryptionType.getCurve25519(), _random.getJavaNativeSecureRandom()); } else if (signatureType!=null && (signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA256withECDSA_CURVE_M_221.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA384withECDSA_CURVE_M_221.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA512withECDSA_CURVE_M_221.getKeyGeneratorAlgorithmName()))) { this.keySizeBits=signatureType.getDefaultKeySize(); X9ECParameters ecP = CustomNamedCurves.getByName("M-221"); keyPairGenerator.initialize(new org.bouncycastle.jce.spec.ECParameterSpec(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()), _random.getJavaNativeSecureRandom()); } else if (signatureType!=null && (signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA256withECDSA_CURVE_M_383.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA384withECDSA_CURVE_M_383.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA512withECDSA_CURVE_M_383.getKeyGeneratorAlgorithmName()))) { this.keySizeBits=signatureType.getDefaultKeySize(); X9ECParameters ecP = CustomNamedCurves.getByName("M-383"); keyPairGenerator.initialize(new org.bouncycastle.jce.spec.ECParameterSpec(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()), _random.getJavaNativeSecureRandom()); } else if (signatureType!=null && (signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA256withECDSA_CURVE_M_511.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA384withECDSA_CURVE_M_511.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA512withECDSA_CURVE_M_511.getKeyGeneratorAlgorithmName()))) { this.keySizeBits=signatureType.getDefaultKeySize(); X9ECParameters ecP = CustomNamedCurves.getByName("M-511"); keyPairGenerator.initialize(new org.bouncycastle.jce.spec.ECParameterSpec(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()), _random.getJavaNativeSecureRandom()); } else if (signatureType!=null && (signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA256withECDSA_CURVE_41417.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA384withECDSA_CURVE_41417.getKeyGeneratorAlgorithmName()) || signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BC_SHA512withECDSA_CURVE_41417.getKeyGeneratorAlgorithmName()))) { this.keySizeBits=signatureType.getDefaultKeySize(); X9ECParameters ecP = CustomNamedCurves.getByName("curve41417"); keyPairGenerator.initialize(new org.bouncycastle.jce.spec.ECParameterSpec(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()), _random.getJavaNativeSecureRandom()); } else if (signatureType!=null && signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BCPQC_SPHINCS256_SHA3_512.getKeyGeneratorAlgorithmName())) { this.keySizeBits=signatureType.getDefaultKeySize(); keyPairGenerator.initialize(new SPHINCS256KeyGenParameterSpec(SPHINCS256KeyGenParameterSpec.SHA3_256), _random.getJavaNativeSecureRandom()); } else if (signatureType!=null && signatureType.getKeyGeneratorAlgorithmName().equals(ASymmetricAuthenticatedSignatureType.BCPQC_SPHINCS256_SHA2_512_256.getKeyGeneratorAlgorithmName())) { this.keySizeBits=signatureType.getDefaultKeySize(); keyPairGenerator.initialize(new SPHINCS256KeyGenParameterSpec(SPHINCS256KeyGenParameterSpec.SHA512_256), _random.getJavaNativeSecureRandom()); } else keyPairGenerator.initialize(new RSAKeyGenParameterSpec(_keySize, RSAKeyGenParameterSpec.F4), _random.getJavaNativeSecureRandom());*/ }