List of usage examples for org.bouncycastle.math.ec FixedPointCombMultiplier FixedPointCombMultiplier
FixedPointCombMultiplier
From source file:com.github.horrorho.inflatabledonkey.crypto.ec.ECCurvePoint.java
License:Open Source License
public static Optional<ECCurvePoint> create(BigInteger d, String curveName) { X9ECParameters x9ECParameters = ECAssistant.x9ECParameters(curveName); ECPoint Q = new FixedPointCombMultiplier().multiply(x9ECParameters.getG(), d).normalize(); ECCurvePoint point = new ECCurvePoint(Q, curveName, x9ECParameters); return Optional.of(point); }
From source file:com.github.horrorho.inflatabledonkey.crypto.eckey.ECAssistant.java
License:Open Source License
static ECPoint getQd(BigInteger d, X9ECParameters x9ECParameters) { return new FixedPointCombMultiplier().multiply(x9ECParameters.getG(), d).normalize(); }
From source file:com.yahoo.athenz.auth.util.Crypto.java
License:Apache License
public static PublicKey extractPublicKey(PrivateKey privateKey) throws CryptoException { // we only support RSA and ECDSA private keys PublicKey publicKey = null;//from w w w .j ava2 s . c om switch (privateKey.getAlgorithm()) { case RSA: try { KeyFactory kf = KeyFactory.getInstance(RSA, BC_PROVIDER); RSAPrivateCrtKey rsaCrtKey = (RSAPrivateCrtKey) privateKey; RSAPublicKeySpec keySpec = new RSAPublicKeySpec(rsaCrtKey.getModulus(), rsaCrtKey.getPublicExponent()); publicKey = kf.generatePublic(keySpec); } catch (NoSuchProviderException ex) { LOG.error("extractPublicKey: RSA - Caught NoSuchProviderException exception: " + ex.getMessage()); throw new CryptoException(ex); } catch (NoSuchAlgorithmException ex) { LOG.error("extractPublicKey: RSA - Caught NoSuchAlgorithmException exception: " + ex.getMessage()); throw new CryptoException(ex); } catch (InvalidKeySpecException ex) { LOG.error("extractPublicKey: RSA - Caught InvalidKeySpecException exception: " + ex.getMessage()); throw new CryptoException(ex); } break; case ECDSA: try { KeyFactory kf = KeyFactory.getInstance(ECDSA, BC_PROVIDER); BCECPrivateKey ecPrivKey = (BCECPrivateKey) privateKey; ECMultiplier ecMultiplier = new FixedPointCombMultiplier(); ECParameterSpec ecParamSpec = (ECParameterSpec) ecPrivKey.getParameters(); ECPoint ecPointQ = ecMultiplier.multiply(ecParamSpec.getG(), ecPrivKey.getD()); ECPublicKeySpec keySpec = new ECPublicKeySpec(ecPointQ, ecParamSpec); publicKey = kf.generatePublic(keySpec); } catch (NoSuchProviderException ex) { LOG.error("extractPublicKey: ECDSA - Caught NoSuchProviderException exception: " + ex.getMessage()); throw new CryptoException(ex); } catch (NoSuchAlgorithmException ex) { LOG.error( "extractPublicKey: ECDSA - Caught NoSuchAlgorithmException exception: " + ex.getMessage()); throw new CryptoException(ex); } catch (InvalidKeySpecException ex) { LOG.error("extractPublicKey: ECDSA - Caught InvalidKeySpecException exception: " + ex.getMessage()); throw new CryptoException(ex); } break; default: String msg = "Unsupported Key Algorithm: " + privateKey.getAlgorithm(); LOG.error("extractPublicKey: " + msg); throw new CryptoException(msg); } return publicKey; }