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

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

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

X9ECParameters.getCurve介绍

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

代码示例

代码示例来源:origin: ethereum/ethereumj

@BeforeClass
public static void beforeAll() {
  curve = new ECDomainParameters(IES_CURVE_PARAM.getCurve(), IES_CURVE_PARAM.getG(), IES_CURVE_PARAM.getN(), IES_CURVE_PARAM.getH());
}

代码示例来源:origin: ontio/ontology-java-sdk

private static ECPoint decode(final byte[] toAdd) {
  return CURVE.getCurve().decodePoint(toAdd);
}

代码示例来源:origin: lhalcyon/dapp-wallet-demo

private static ECPoint decode(final byte[] toAdd) {
  return CURVE.getCurve().decodePoint(toAdd);
}

代码示例来源:origin: ontio/ontology-java-sdk

private static ECPoint decode(final byte[] toAdd) {
  return CURVE.getCurve().decodePoint(toAdd);
}

代码示例来源:origin: com.madgag.spongycastle/core

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: com.madgag.spongycastle/core

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

代码示例来源:origin: com.madgag.spongycastle/core

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: stackoverflow.com

X9ECParameters x9 = NISTNamedCurves.getByName("P-224");
 ECCurve.Fp curve = (Fp) x9.getCurve();
 BigInteger q = curve.getQ();
 ECFieldElement x1 = new ECFieldElement.Fp(q, new BigInteger("8"));
 ECFieldElement y1 = new ECFieldElement.Fp(q, new BigInteger("9"));

代码示例来源:origin: QuincySx/BlockchainWallet-Crypto

private static ECPoint decompressKey(BigInteger xBN, boolean yBit) {
  X9IntegerConverter x9 = new X9IntegerConverter();
  byte[] compEnc = x9.integerToBytes(xBN, 1 + x9.getByteLength(CURVE.getCurve()));
  compEnc[0] = (byte) (yBit ? 0x03 : 0x02);
  return CURVE.getCurve().decodePoint(compEnc);
}

代码示例来源:origin: stackoverflow.com

public static PrivateKey getPrivateKeyFromECBigIntAndCurve(BigInteger s, String curveName) {
  X9ECParameters ecCurve = ECNamedCurveTable.getByName(curveName);
  ECParameterSpec ecParameterSpec = new ECNamedCurveSpec(curveName, ecCurve.getCurve(), ecCurve.getG(), ecCurve.getN(), ecCurve.getH(), ecCurve.getSeed());
  ECPrivateKeySpec privateKeySpec = new ECPrivateKeySpec(s, ecParameterSpec);
  try {
    KeyFactory keyFactory = KeyFactory.getInstance("EC");
    return keyFactory.generatePrivate(privateKeySpec);
  } catch (NoSuchAlgorithmException | InvalidKeySpecException e) {
    e.printStackTrace();
    return null;
  }
}

代码示例来源:origin: com.madgag.spongycastle/core

public static void discoverEndomorphisms(X9ECParameters x9)
{
  if (x9 == null)
  {
    throw new NullPointerException("x9");
  }
  ECCurve c = x9.getCurve();
  if (ECAlgorithms.isFpCurve(c))
  {
    BigInteger characteristic = c.getField().getCharacteristic();
    if (c.getA().isZero() && characteristic.mod(ECConstants.THREE).equals(ECConstants.ONE))
    {
      System.out.println("Curve has a 'GLV Type B' endomorphism with these parameters:");
      printGLVTypeBParameters(x9);
    }
  }
}

代码示例来源:origin: com.madgag.spongycastle/core

public static void main(String[] args)
{
  SortedSet names = new TreeSet(enumToList(ECNamedCurveTable.getNames()));
  names.addAll(enumToList(CustomNamedCurves.getNames()));
  Iterator it = names.iterator();
  while (it.hasNext())
  {
    String name = (String)it.next();
    X9ECParameters x9 = CustomNamedCurves.getByName(name);
    if (x9 == null)
    {
      x9 = ECNamedCurveTable.getByName(name);
    }
    if (x9 != null && ECAlgorithms.isF2mCurve(x9.getCurve()))
    {
      System.out.print(name + ":");
      implPrintRootZ(x9);
    }
  }
}

代码示例来源:origin: com.madgag.spongycastle/core

private static void discoverEndomorphisms(String curveName)
{
  X9ECParameters x9 = ECNamedCurveTable.getByName(curveName);
  if (x9 == null)
  {
    System.err.println("Unknown curve: " + curveName);
    return;
  }
  ECCurve c = x9.getCurve();
  if (ECAlgorithms.isFpCurve(c))
  {
    BigInteger characteristic = c.getField().getCharacteristic();
    if (c.getA().isZero() && characteristic.mod(ECConstants.THREE).equals(ECConstants.ONE))
    {
      System.out.println("Curve '" + curveName + "' has a 'GLV Type B' endomorphism with these parameters:");
      printGLVTypeBParameters(x9);
    }
  }
}

代码示例来源:origin: com.madgag.spongycastle/core

private static void printGLVTypeBParameters(X9ECParameters x9)
{
  // x^2 + x + 1 = 0 mod n
  BigInteger[] lambdas = solveQuadraticEquation(x9.getN(), ECConstants.ONE, ECConstants.ONE);
  /*
   * The 'Beta' values are field elements of order 3. There are only two such values besides 1, each corresponding
   * to one choice for 'Lambda'.
   */
  ECFieldElement[] betas = findBetaValues(x9.getCurve());
  printGLVTypeBParameters(x9, lambdas[0], betas);
  System.out.println("OR");
  printGLVTypeBParameters(x9, lambdas[1], betas);
}

代码示例来源:origin: com.madgag.spongycastle/prov

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.spongycastle.asn1.x9.ECNamedCurveTable.getOID(name);
    }
  }
  return null;
}

代码示例来源:origin: stackoverflow.com

X9ECParameters ecP = CustomNamedCurves.getByName("curve25519");
ECParameterSpec ecSpec=new ECParameterSpec(ecP.getCurve(), ecP.getG(),
    ecP.getN(), ecP.getH(), ecP.getSeed());

代码示例来源:origin: com.madgag/sc-light-jdk15on

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());
  }
}

代码示例来源:origin: com.madgag.spongycastle/prov

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...
    new ECPoint(
      domainParameters.getG().getAffineXCoord().toBigInteger(),
      domainParameters.getG().getAffineYCoord().toBigInteger()),
    domainParameters.getN(),
    domainParameters.getH().intValue());
}

代码示例来源:origin: com.madgag.spongycastle/core

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());
}

代码示例来源:origin: yggdrash/yggdrash

@BeforeClass
public static void beforeAll() {
  curve = new ECDomainParameters(IES_CURVE_PARAM.getCurve(), IES_CURVE_PARAM.getG(), IES_CURVE_PARAM.getN(), IES_CURVE_PARAM.getH());
}

相关文章