org.bouncycastle.asn1.x9.X9ECParameters.getCurve()方法的使用及代码示例

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

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

X9ECParameters.getCurve介绍

[英]Return the ASN.1 entry representing the Curve.
[中]返回ASN。1个代表曲线的条目。

代码示例

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

ECNamedCurveSpec ecCurveSpec = new ECNamedCurveSpec(name, ecParams.getCurve(), ecParams.getG(), ecParams.getN());
ECPoint p = new ECPoint(bigX, bigY);
ECPublicKeySpec publicKeySpec = new ECPublicKeySpec(p, ecCurveSpec);

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

private PrivateKey createECDSAPrivateKey(KeyType kt, PlainBuffer buffer, String name) throws GeneralSecurityException, Buffer.BufferException {
    kt.readPubKeyFromBuffer(buffer); // Public key
    BigInteger s = new BigInteger(1, buffer.readBytes());
    X9ECParameters ecParams = NISTNamedCurves.getByName(name);
    ECNamedCurveSpec ecCurveSpec = new ECNamedCurveSpec(name, ecParams.getCurve(), ecParams.getG(), ecParams.getN());
    ECPrivateKeySpec pks = new ECPrivateKeySpec(s, ecCurveSpec);
    return SecurityUtils.getKeyFactory("ECDSA").generatePrivate(pks);

  }
}

代码示例来源: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: apache/pulsar

ECParameterSpec ecSpec = new ECParameterSpec(ecParam.getCurve(), ecParam.getG(), ecParam.getN(),
    ecParam.getH(), ecParam.getSeed());
KeyFactory keyFactory = KeyFactory.getInstance(ECDSA, BouncyCastleProvider.PROVIDER_NAME);

代码示例来源:origin: apache/pulsar

ECParameterSpec ecSpec = new ECParameterSpec(ecParam.getCurve(), ecParam.getG(), ecParam.getN(),
    ecParam.getH(), ecParam.getSeed());
KeyFactory keyFactory = KeyFactory.getInstance(ECDSA, BouncyCastleProvider.PROVIDER_NAME);

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

private ECPoint keyToPoint(byte[] publicKey) {
  BigInteger x = new BigInteger(1, Arrays.copyOfRange(publicKey, 1, 33));
  BigInteger y = new BigInteger(1, Arrays.copyOfRange(publicKey, 33, 65));
  return EC_CURVE_PARAMETERS.getCurve().createPoint(x, y);
}

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

@Override
  public byte[] createPoint(byte[] x, byte[] y) {
    return EC_CURVE_PARAMETERS.getCurve().createPoint(
      new BigInteger(1, x),
      new BigInteger(1, y)
    ).getEncoded(false);
  }
}

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

public static void printRootZ(X9ECParameters x9)
{
  if (!ECAlgorithms.isF2mCurve(x9.getCurve()))
  {
    throw new IllegalArgumentException("Sqrt optimization only defined over characteristic-2 fields");
  }
  implPrintRootZ(x9);
}

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

public static void printNonZeroTraceBits(X9ECParameters x9)
{
  if (!ECAlgorithms.isF2mCurve(x9.getCurve()))
  {
    throw new IllegalArgumentException("Trace only defined over characteristic-2 fields");
  }
  implPrintNonZeroTraceBits(x9);
}

代码示例来源: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: 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: citp/TwoFactorBtcWallet

/**
 * Always treat de-serialization as a full-blown constructor, by
 * validating the final state of the de-serialized object.
 */
 private void readObject(ObjectInputStream aInputStream) throws ClassNotFoundException, IOException {
  //always perform the default de-serialization first
  aInputStream.defaultReadObject();
  X9ECParameters CURVEparams = SECNamedCurves.getByName("secp256k1");
  this.CURVE = new ECDomainParameters(CURVEparams.getCurve(), CURVEparams.getG(), CURVEparams.getN(),
      CURVEparams.getH());
}

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

public ECPoint copyQ() {
  return x9ECParameters()
      .getCurve()
      .createPoint(x(), y());
}

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

ECPoint decodePoint(byte[] data) {
  ECCurve curve = ECNamedCurveTable.getByName(curveName).getCurve();
  int compactExportSize = (curve.getFieldSize() + 7) / 8;
  return data.length == compactExportSize
      ? ECPointsCompact.decodeFPPoint(curve, data) // Compact keys support, non RFC6636 compliant.
      : curve.decodePoint(data);
}

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

private PrivateKey createECDSAPrivateKey(KeyType kt, PlainBuffer buffer, String name) throws GeneralSecurityException, Buffer.BufferException {
    PublicKey pk = kt.readPubKeyFromBuffer(buffer); // Public key
    BigInteger s = new BigInteger(1, buffer.readBytes());
    X9ECParameters ecParams = NISTNamedCurves.getByName(name);
    ECNamedCurveSpec ecCurveSpec = new ECNamedCurveSpec(name, ecParams.getCurve(), ecParams.getG(), ecParams.getN());
    ECPrivateKeySpec pks = new ECPrivateKeySpec(s, ecCurveSpec);
    return SecurityUtils.getKeyFactory("ECDSA").generatePrivate(pks);

  }
}

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

public static ECParameterSpec convertToSpec(
  X9ECParameters domainParameters)
{
  return new ECParameterSpec(
    convertCurve(domainParameters.getCurve(), null),  // JDK 1.5 has trouble with this if it's not null...
    EC5Util.convertPoint(domainParameters.getG()),
    domainParameters.getN(),
    domainParameters.getH().intValue());
}

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

public static ECDomainParameters ecDomainParametersFrom(X9ECParameters x9ECParameters) {
    return new ECDomainParameters(
        x9ECParameters.getCurve(),
        x9ECParameters.getG(),
        x9ECParameters.getN(),
        x9ECParameters.getH(),
        x9ECParameters.getSeed());
  }
}

代码示例来源:origin: eBay/UAF

public static boolean verify(byte[] pub, byte[] dataForSigning,
    BigInteger[] rs) throws Exception {
  ECDSASigner signer = new ECDSASigner();
  X9ECParameters params = SECNamedCurves.getByName("secp256r1");
  ECDomainParameters ecParams = new ECDomainParameters(params.getCurve(),
      params.getG(), params.getN(), params.getH());
  ECPublicKeyParameters pubKeyParams = new ECPublicKeyParameters(ecParams
      .getCurve().decodePoint(pub), ecParams);
  signer.init(false, pubKeyParams);
  return signer.verifySignature(dataForSigning, rs[0].abs(), rs[1].abs());
}

代码示例来源:origin: eBay/UAF

public static boolean verify(byte[] pub, byte[] dataForSigning,
    BigInteger[] rs) throws Exception {
  ECDSASigner signer = new ECDSASigner();
  X9ECParameters params = SECNamedCurves.getByName("secp256r1");
  ECDomainParameters ecParams = new ECDomainParameters(params.getCurve(),
      params.getG(), params.getN(), params.getH());
  ECPublicKeyParameters pubKeyParams = new ECPublicKeyParameters(ecParams
      .getCurve().decodePoint(pub), ecParams);
  signer.init(false, pubKeyParams);
  return signer.verifySignature(dataForSigning, rs[0].abs(), rs[1].abs());
}

代码示例来源:origin: RUB-NDS/TLS-Attacker

public static AsymmetricCipherKeyPair generateECPublicKey() {
  // Should we also generate random curves?
  X9ECParameters ecp = SECNamedCurves.getByName(getRandomCurveName());
  ECKeyPairGenerator keygen = new ECKeyPairGenerator();
  ECDomainParameters domainParams = new ECDomainParameters(ecp.getCurve(), ecp.getG(), ecp.getN(), ecp.getH(),
      ecp.getSeed());
  keygen.init(new ECKeyGenerationParameters(domainParams, RandomHelper.getBadSecureRandom()));
  return keygen.generateKeyPair();
}

相关文章