@BeforeClass public static void beforeAll() { curve = new ECDomainParameters(IES_CURVE_PARAM.getCurve(), IES_CURVE_PARAM.getG(), IES_CURVE_PARAM.getN(), IES_CURVE_PARAM.getH()); }
protected ECKeyGenerationParameters createKeyGenParamsBC(ECParameterSpec p, SecureRandom r) { return new ECKeyGenerationParameters(new ECDomainParameters(p.getCurve(), p.getG(), p.getN(), p.getH()), r); }
protected ECKeyGenerationParameters createKeyGenParamsJCE(java.security.spec.ECParameterSpec p, SecureRandom r) { ECCurve curve = EC5Util.convertCurve(p.getCurve()); ECPoint g = EC5Util.convertPoint(curve, p.getGenerator(), false); BigInteger n = p.getOrder(); BigInteger h = BigInteger.valueOf(p.getCofactor()); ECDomainParameters dp = new ECDomainParameters(curve, g, n, h); return new ECKeyGenerationParameters(dp, r); }
public static AsymmetricKeyParameter generatePrivateKeyParameter( PrivateKey key) throws InvalidKeyException { if (key instanceof ECPrivateKey) { ECPrivateKey k = (ECPrivateKey)key; ECParameterSpec s = k.getParameters(); if (s == null) { s = BouncyCastleProvider.CONFIGURATION.getEcImplicitlyCa(); } return new ECPrivateKeyParameters( k.getD(), new ECDomainParameters(s.getCurve(), s.getG(), s.getN(), s.getH(), s.getSeed())); } throw new InvalidKeyException("can't identify EC private key."); }
new ECDomainParameters(s.getCurve(), s.getG(), s.getN(), s.getH(), s.getSeed())); new ECDomainParameters(s.getCurve(), s.getG(), s.getN(), s.getH(), s.getSeed())); return new ECPublicKeyParameters( EC5Util.convertPoint(pubKey.getParams(), pubKey.getW(), false), new ECDomainParameters(s.getCurve(), s.getG(), s.getN(), s.getH(), s.getSeed()));
static ECDomainParameters getECParameters(int namedCurve) { int index = namedCurve - 1; if (index < 0 || index >= curveNames.length) { return null; } String curveName = curveNames[index]; // Lazily created the first time a particular curve is accessed X9ECParameters ecP = SECNamedCurves.getByName(curveName); if (ecP == null) { return null; } // It's a bit inefficient to do this conversion every time return new ECDomainParameters(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()); } }
public CryptoImpl() { // populate the cipher set map CipherSet2aImpl set2a = new CipherSet2aImpl(this); mCipherSetMap.put(set2a.getCipherSetId(), set2a); // initialize elliptic curve parameters and generator mECNamedCurveParameterSpec = ECNamedCurveTable.getParameterSpec("prime256v1"); mECGenerator = new ECKeyPairGenerator(); mECDomainParameters = new ECDomainParameters( mECNamedCurveParameterSpec.getCurve(), mECNamedCurveParameterSpec.getG(), mECNamedCurveParameterSpec.getN() ); mECKeyGenerationParameters = new ECKeyGenerationParameters(mECDomainParameters, random); mECGenerator.init(mECKeyGenerationParameters); }
public CipherSet2aImpl(Crypto crypto) { mCrypto = crypto; // initialize elliptic curve parameters and generator mECNamedCurveParameterSpec = ECNamedCurveTable.getParameterSpec("prime256v1"); mECGenerator = new ECKeyPairGenerator(); mECDomainParameters = new ECDomainParameters( mECNamedCurveParameterSpec.getCurve(), mECNamedCurveParameterSpec.getG(), mECNamedCurveParameterSpec.getN() ); mECKeyGenerationParameters = new ECKeyGenerationParameters(mECDomainParameters, mRandom); mECGenerator.init(mECKeyGenerationParameters); }
this.ecParams = params; param = new ECKeyGenerationParameters(new ECDomainParameters(p.getCurve(), p.getG(), p.getN(), p.getH()), random); ECPoint g = EC5Util.convertPoint(curve, p.getGenerator(), false); param = new ECKeyGenerationParameters(new ECDomainParameters(curve, g, p.getOrder(), BigInteger.valueOf(p.getCofactor())), random); ECPoint g = EC5Util.convertPoint(curve, p.getGenerator(), false); param = new ECKeyGenerationParameters(new ECDomainParameters(curve, g, p.getOrder(), BigInteger.valueOf(p.getCofactor())), random); this.ecParams = params; param = new ECKeyGenerationParameters(new ECDomainParameters(p.getCurve(), p.getG(), p.getN(), p.getH()), random);
new ECDomainParameters(s.getCurve(), s.getG(), s.getN(), s.getH(), s.getSeed())); return new ECPrivateKeyParameters( privKey.getS(), new ECDomainParameters(s.getCurve(), s.getG(), s.getN(), s.getH(), s.getSeed()));
new ECDomainParameters(s.getCurve(), s.getG(), s.getN(), s.getH(), s.getSeed())); return new ECPublicKeyParameters( EC5Util.convertPoint(pubKey.getParams(), pubKey.getW(), false), new ECDomainParameters(s.getCurve(), s.getG(), s.getN(), s.getH(), s.getSeed()));
public static ECDomainParameters getDomainParameters( ProviderConfiguration configuration, java.security.spec.ECParameterSpec params) { ECDomainParameters domainParameters; if (params == null) { org.spongycastle.jce.spec.ECParameterSpec iSpec = configuration.getEcImplicitlyCa(); domainParameters = new ECDomainParameters(iSpec.getCurve(), iSpec.getG(), iSpec.getN(), iSpec.getH(), iSpec.getSeed()); } else { domainParameters = ECUtil.getDomainParameters(configuration, convertSpec(params, false)); } return domainParameters; }
public static ECDomainParameters getParametersForNamedCurve(int namedCurve) { String curveName = getNameOfNamedCurve(namedCurve); if (curveName == null) { return null; } // Parameters are lazily created the first time a particular curve is accessed X9ECParameters ecP = CustomNamedCurves.getByName(curveName); if (ecP == null) { ecP = ECNamedCurveTable.getByName(curveName); if (ecP == null) { return null; } } // It's a bit inefficient to do this conversion every time return new ECDomainParameters(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()); }
@BeforeClass public static void beforeAll() { curve = new ECDomainParameters(IES_CURVE_PARAM.getCurve(), IES_CURVE_PARAM.getG(), IES_CURVE_PARAM.getN(), IES_CURVE_PARAM.getH()); }
public static ECDomainParameters getDomainParameters( ProviderConfiguration configuration, org.spongycastle.jce.spec.ECParameterSpec params) { ECDomainParameters domainParameters; if (params instanceof ECNamedCurveParameterSpec) { ECNamedCurveParameterSpec nParams = (ECNamedCurveParameterSpec)params; ASN1ObjectIdentifier nameOid = ECUtil.getNamedCurveOid(nParams.getName()); domainParameters = new ECNamedDomainParameters(nameOid, nParams.getCurve(), nParams.getG(), nParams.getN(), nParams.getH(), nParams.getSeed()); } else if (params == null) { org.spongycastle.jce.spec.ECParameterSpec iSpec = configuration.getEcImplicitlyCa(); domainParameters = new ECDomainParameters(iSpec.getCurve(), iSpec.getG(), iSpec.getN(), iSpec.getH(), iSpec.getSeed()); } else { domainParameters = new ECDomainParameters(params.getCurve(), params.getG(), params.getN(), params.getH(), params.getSeed()); } return domainParameters; }
ECDomainParameters CURVE = new ECDomainParameters(params.getCurve(), params.getG(), params.getN(), params.getH()); BigInteger HALF_CURVE_ORDER = params.getN().shiftRight(1); SecureRandom secureRandom = new SecureRandom();
public static ECDomainParameters getDomainParameters(int namedGroup) { if (!NamedGroup.refersToASpecificCurve(namedGroup)) { return null; } String curveName = NamedGroup.getName(namedGroup); if (curveName == null) { return null; } // Parameters are lazily created the first time a particular curve is accessed X9ECParameters ecP = CustomNamedCurves.getByName(curveName); if (ecP == null) { ecP = ECNamedCurveTable.getByName(curveName); if (ecP == null) { return null; } } // It's a bit inefficient to do this conversion every time return new ECDomainParameters(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()); }
public static ECDomainParameters getDomainParameters( ProviderConfiguration configuration, X962Parameters params) { ECDomainParameters domainParameters; if (params.isNamedCurve()) { ASN1ObjectIdentifier oid = ASN1ObjectIdentifier.getInstance(params.getParameters()); X9ECParameters ecP = ECUtil.getNamedCurveByOid(oid); if (ecP == null) { Map extraCurves = configuration.getAdditionalECParameters(); ecP = (X9ECParameters)extraCurves.get(oid); } domainParameters = new ECNamedDomainParameters(oid, ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()); } else if (params.isImplicitlyCA()) { org.spongycastle.jce.spec.ECParameterSpec iSpec = configuration.getEcImplicitlyCa(); domainParameters = new ECDomainParameters(iSpec.getCurve(), iSpec.getG(), iSpec.getN(), iSpec.getH(), iSpec.getSeed()); } else { X9ECParameters ecP = X9ECParameters.getInstance(params.getParameters()); domainParameters = new ECDomainParameters(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed()); } return domainParameters; }
public static boolean verify(byte[] publicKey, byte[] signature, byte[] msg) { X9ECParameters params = SECNamedCurves.getByName("secp256k1"); ECDomainParameters EC_PARAMS = new ECDomainParameters(params.getCurve(), params.getG(), params.getN(), params.getH()); synchronized (EC_PARAMS) { boolean valid; ECDSASigner signerVer = new ECDSASigner(new HMacDSAKCalculator(new SHA256Digest())); try { ECPublicKeyParameters pubKey = new ECPublicKeyParameters(EC_PARAMS.getCurve().decodePoint(publicKey), EC_PARAMS); signerVer.init(false, pubKey); ASN1InputStream derSigStream = new ASN1InputStream(signature); DLSequence seq = (DLSequence) derSigStream.readObject(); BigInteger r = ((ASN1Integer) seq.getObjectAt(0)).getPositiveValue(); BigInteger s = ((ASN1Integer) seq.getObjectAt(1)).getPositiveValue(); derSigStream.close(); valid = signerVer.verifySignature(msg, r, s); } catch (IOException e) { throw new RuntimeException(); } return valid; } } }
ECDomainParameters ecParams = new ECDomainParameters(x9Params.getCurve(), x9Params.getG(), x9Params.getN());