org.bouncycastle.asn1.x9.X9ECParameters类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(9.4k)|赞(0)|评价(0)|浏览(418)

本文整理了Java中org.bouncycastle.asn1.x9.X9ECParameters类的一些代码示例,展示了X9ECParameters类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。X9ECParameters类的具体详情如下:
包路径:org.bouncycastle.asn1.x9.X9ECParameters
类名称:X9ECParameters

X9ECParameters介绍

[英]ASN.1 def for Elliptic-Curve ECParameters structure. See X9.62, for further details.
[中]ASN。1个用于椭圆曲线结构的def。参见X9。62,了解更多细节。

代码示例

代码示例来源:origin: hierynomus/sshj

/**
   * TODO want to figure out why BouncyCastle does not work.
   * @return The initialized curve25519 parameter spec
   */
  public static AlgorithmParameterSpec getCurve25519Params() {
    X9ECParameters ecP = CustomNamedCurves.getByName("curve25519");
    return new ECParameterSpec(ecP.getCurve(), ecP.getG(), ecP.getN(), ecP.getH(), ecP.getSeed());
  }
}

代码示例来源:origin: redfish64/TinyTravelTracker

protected X9ECParameters createParameters()
  {
    BigInteger n = new BigInteger("E95E4A5F737059DC60DF5991D45029409E60FC09", 16);
    BigInteger h = new BigInteger("01", 16);
    ECCurve curve = configureCurve(new ECCurve.Fp(
      new BigInteger("E95E4A5F737059DC60DFC7AD95B3D8139515620F", 16), // q
      new BigInteger("340E7BE2A280EB74E2BE61BADA745D97E8F7C300", 16), // a
      new BigInteger("1E589A8595423412134FAA2DBDEC95C8D8675E58", 16), // b
      n, h));
    return new X9ECParameters(
      curve,
      curve.decodePoint(Hex.decode("04BED5AF16EA3F6A4F62938C4631EB5AF7BDBCDBC31667CB477A1A8EC338F94741669C976316DA6321")), // G
      n, h);
  }
};

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

protected X9ECParameters createParameters()
  {
    BigInteger n = new BigInteger("C302F41D932A36CDA7A3462F9E9E916B5BE8F1029AC4ACC1", 16);
    BigInteger h = new BigInteger("01", 16);
    ECCurve curve = configureCurve(new ECCurve.Fp(
      new BigInteger("C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297", 16), // q
      new BigInteger("6A91174076B1E0E19C39C031FE8685C1CAE040E5C69A28EF", 16), // a
      new BigInteger("469A28EF7C28CCA3DC721D044F4496BCCA7EF4146FBF25C9", 16), // b
      n, h));
    return new X9ECParameters(
      curve,
      new X9ECPoint(curve, Hex.decode("04C0A0647EAAB6A48753B033C56CB0F0900A2F5C4853375FD614B690866ABD5BB88B5F4828C1490002E6773FA2FA299B8F")), // G
      n, h);
  }
};

代码示例来源:origin: ch.dissem.jabit/jabit-domain

public static ECPoint createPoint(byte[] x, byte[] y) {
  return EC_CURVE_PARAMETERS.getCurve().createPoint(
      new BigInteger(1, x),
      new BigInteger(1, y)
  );
}

代码示例来源:origin: redfish64/TinyTravelTracker

if (algId.getAlgorithm().equals(PKCSObjectIdentifiers.rsaEncryption))
else if (algId.getAlgorithm().equals(PKCSObjectIdentifiers.dhKeyAgreement))
  int l = lVal == null ? 0 : lVal.intValue();
  DHParameters dhParams = new DHParameters(params.getP(), params.getG(), null, l);
else if (algId.getAlgorithm().equals(OIWObjectIdentifiers.elGamalAlgorithm))
      oid, x9.getCurve(), x9.getG(), x9.getN(), x9.getH(), x9.getSeed());
    x9 = X9ECParameters.getInstance(params.getParameters());
    dParams = new ECDomainParameters(
      x9.getCurve(), x9.getG(), x9.getN(), x9.getH(), x9.getSeed());

代码示例来源:origin: com.bushidowallet/bushido-core-lib

public ECKey(byte[] l, ECKey parent) {
  if (parent.hasPrivate()) {
    this.priv = new BigInteger(1, l).add(parent.priv).mod(curve.getN());
    setPub(parent.compressed, true, null);
  } else {
    throw new Error("Support derived ECKey with public key only");
  }
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

if (curveOid == null)
  curveOid = new ASN1ObjectIdentifier(((ECNamedCurveSpec)ecSpec).getName());
X9ECParameters ecP = new X9ECParameters(
  curve,
  EC5Util.convertPoint(curve, ecSpec.getGenerator(), withCompression),
  ecSpec.getOrder(),
  BigInteger.valueOf(ecSpec.getCofactor()),
  ecSpec.getCurve().getSeed());

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

private static void implPrintRootZ(X9ECParameters x9)
{
  ECFieldElement z = x9.getCurve().fromBigInteger(BigInteger.valueOf(2));
  ECFieldElement rootZ = z.sqrt();
  System.out.println(rootZ.toBigInteger().toString(16).toUpperCase());
  if (!rootZ.square().equals(z))
  {
    throw new IllegalStateException("Optimized-sqrt sanity check failed");
  }
}

代码示例来源:origin: hyperledger-archives/fabric-api

private BigInteger toCanonicalS(BigInteger s) {
  if (s.compareTo(HALF_CURVE_ORDER) <= 0) {
    return s;
  } else {
    return curve.getN().subtract(s);
  }
}

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

X9ECParameters ecP = new X9ECParameters(
    curve,
    EC5Util.convertPoint(curve, ecSpec.getGenerator(), withCompression),
    ecSpec.getOrder(),
    BigInteger.valueOf(ecSpec.getCofactor()),
    ecSpec.getCurve().getSeed());
if (curveOid == null)
  curveOid = new ASN1ObjectIdentifier(((ECNamedCurveSpec)ecSpec).getName());
X9ECParameters ecP = new X9ECParameters(
  curve,
  EC5Util.convertPoint(curve, ecSpec.getGenerator(), withCompression),
  ecSpec.getOrder(),
  BigInteger.valueOf(ecSpec.getCofactor()),
  ecSpec.getCurve().getSeed());
new X9ECPoint(curve.createPoint(this.getQ().getAffineXCoord().toBigInteger(), this.getQ().getAffineYCoord().toBigInteger(), withCompression)).toASN1Primitive();

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

ellipticCurve = EC5Util.convertCurve(curve, ecP.getSeed());
  convertPoint(ecP.getG()),
  ecP.getN(),
  ecP.getH());
X9ECParameters ecP = X9ECParameters.getInstance(params.getParameters());
ellipticCurve = EC5Util.convertCurve(curve, ecP.getSeed());
if (ecP.getH() != null)
    convertPoint(ecP.getG()),
    ecP.getN(),
    ecP.getH().intValue());
    convertPoint(ecP.getG()),
    ecP.getN(),
    1);      // TODO: not strictly correct... need to fix the test data...

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

public static ASN1ObjectIdentifier getNamedCurveOid(
  ECParameterSpec ecParameterSpec)
{
  for (Enumeration names = ECNamedCurveTable.getNames(); names.hasMoreElements();)
  {
    String name = (String)names.nextElement();
    X9ECParameters params = ECNamedCurveTable.getByName(name);
    if (params.getN().equals(ecParameterSpec.getN())
      && params.getH().equals(ecParameterSpec.getH())
      && params.getCurve().equals(ecParameterSpec.getCurve())
      && params.getG().equals(ecParameterSpec.getG()))
    {
      return org.bouncycastle.asn1.x9.ECNamedCurveTable.getOID(name);
    }
  }
  return null;
}

代码示例来源:origin: redfish64/TinyTravelTracker

protected X9ECParameters createParameters()
  {
    byte[] S = Hex.decode("A335926AA319A27A1D00896A6773A4827ACDAC73");
    ECCurve curve = configureCurve(new SecP384R1Curve());
    ECPoint G = curve.decodePoint(Hex.decode("04"
      + "AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB7"
      + "3617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60B1CE1D7E819D7A431D7C90EA0E5F"));
    return new X9ECParameters(curve, G, curve.getOrder(), curve.getCofactor(), S);
  }
};

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

if (info.getPrivateKeyAlgorithm().getAlgorithm().equals(CryptoProObjectIdentifiers.gostR3410_2001))
    ASN1ObjectIdentifier oid = ASN1ObjectIdentifier.getInstance(params.getParameters());
    curveParams = new X9ECParameters(curveParams.getCurve(), curveParams.getG(), curveParams.getN(), curveParams.getH());
    curveParams = new X9ECParameters(BouncyCastleProvider.CONFIGURATION.getEcImplicitlyCa().getCurve(), BouncyCastleProvider.CONFIGURATION.getEcImplicitlyCa().getG(), BouncyCastleProvider.CONFIGURATION.getEcImplicitlyCa().getN(), BouncyCastleProvider.CONFIGURATION.getEcImplicitlyCa().getH());

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

ASN1ObjectIdentifier oid = ASN1ObjectIdentifier.getInstance(params.getParameters());
  curve = ecP.getCurve();
X9ECParameters ecP = X9ECParameters.getInstance(params.getParameters());
curve = ecP.getCurve();

代码示例来源:origin: ch.dissem.jabit/jabit-domain

/**
 * @param privateKey private key as byte array
 * @return a public key corresponding to the given private key
 */
public static ECPoint createPublicKey(byte[] privateKey) {
  return EC_CURVE_PARAMETERS.getG().multiply(keyToBigInt(privateKey)).normalize();
}

代码示例来源:origin: horrorho/InflatableDonkey

public static Optional<ECCurvePoint> create(BigInteger x, BigInteger y, String curveName) {
  X9ECParameters x9ECParameters = ECAssistant.x9ECParameters(curveName);
  ECPoint Q = x9ECParameters.getCurve()
      .createPoint(x, y);
  if (!Q.isValid()) {
    logger.warn("-- create() - bad Q: {} curve: {}", Q, curveName);
    return Optional.empty();
  }
  ECCurvePoint point = new ECCurvePoint(Q, curveName, x9ECParameters);
  return Optional.of(point);
}

代码示例来源:origin: hyperledger/fabric-sdk-java

BigInteger curveN = params.getN();

代码示例来源:origin: redfish64/TinyTravelTracker

protected X9ECParameters createParameters()
  {
    BigInteger n = new BigInteger("C302F41D932A36CDA7A3462F9E9E916B5BE8F1029AC4ACC1", 16);
    BigInteger h = new BigInteger("01", 16);
    ECCurve curve = configureCurve(new ECCurve.Fp(
      new BigInteger("C302F41D932A36CDA7A3463093D18DB78FCE476DE1A86297", 16), // q
      new BigInteger("6A91174076B1E0E19C39C031FE8685C1CAE040E5C69A28EF", 16), // a
      new BigInteger("469A28EF7C28CCA3DC721D044F4496BCCA7EF4146FBF25C9", 16), // b
      n, h));
    return new X9ECParameters(
      curve,
      curve.decodePoint(Hex.decode("04C0A0647EAAB6A48753B033C56CB0F0900A2F5C4853375FD614B690866ABD5BB88B5F4828C1490002E6773FA2FA299B8F")), // G
      n, h);
  }
};

代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on

protected X9ECParameters createParameters()
  {
    BigInteger n = new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D718C397AA3B561A6F7901E0E82974856A7", 16);
    BigInteger h = new BigInteger("01", 16);
    ECCurve curve = configureCurve(new ECCurve.Fp(
      new BigInteger("A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377", 16), // q
      new BigInteger("7D5A0975FC2C3057EEF67530417AFFE7FB8055C126DC5C6CE94A4B44F330B5D9", 16), // a
      new BigInteger("26DC5C6CE94A4B44F330B5D9BBD77CBF958416295CF7E1CE6BCCDC18FF8C07B6", 16), // b
      n, h));
    return new X9ECParameters(
      curve,
      new X9ECPoint(curve, Hex.decode("048BD2AEB9CB7E57CB2C4B482FFC81B7AFB9DE27E1E3BD23C23A4453BD9ACE3262547EF835C3DAC4FD97F8461A14611DC9C27745132DED8E545C1D54C72F046997")), // G
      n, h);
  }
};

相关文章