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

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

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

X9ECParameters.getN介绍

暂无

代码示例

代码示例来源: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: stackoverflow.com

X9ECParameters x9 = NISTNamedCurves.getByName("P-224"); // or whatever curve you want to use
ECPoint g = x9.getG();
BigInteger n = x9.getN();
int nBitLength = n.bitLength();
BigInteger x;
do
{
  x = new BigInteger(nBitLength, random);
}
while (x.equals(ZERO)  || (x.compareTo(n) >= 0));
ECPoint randomPoint = g.multiply(x);

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

static BigInteger n() {
  return CURVE.getN();
}

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

static BigInteger n() {
  return CURVE.getN();
}

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

static BigInteger n() {
  return CURVE.getN();
}

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

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: QuincySx/BlockchainWallet-Crypto

public static ExtendedKey create(byte[] seed) throws ValidationException {
  try {
    Mac mac = Mac.getInstance("HmacSHA512", "BC");
    SecretKey seedkey = new SecretKeySpec(BITCOIN_SEED, "HmacSHA512");
    mac.init(seedkey);
    byte[] lr = mac.doFinal(seed);
    byte[] l = Arrays.copyOfRange(lr, 0, 32);
    byte[] r = Arrays.copyOfRange(lr, 32, 64);
    BigInteger m = new BigInteger(1, l);
    if (m.compareTo(curve.getN()) >= 0) {
      throw new ValidationException("This is rather unlikely, but it did just happen");
    }
    ECKeyPair keyPair = new ECKeyPair(l, true);
    return new ExtendedKey(keyPair, r, 0, 0, 0);
  } catch (NoSuchAlgorithmException e) {
    throw new ValidationException(e);
  } catch (NoSuchProviderException e) {
    throw new ValidationException(e);
  } catch (InvalidKeyException e) {
    throw new ValidationException(e);
  }
}

代码示例来源: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.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: 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: blockcypher/java-client

ECDomainParameters CURVE = new ECDomainParameters(params.getCurve(), params.getG(), params.getN(), params.getH());
BigInteger HALF_CURVE_ORDER = params.getN().shiftRight(1);
SecureRandom secureRandom = new SecureRandom();

代码示例来源: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: com.madgag.spongycastle/prov

protected ECNamedCurveSpec createNamedCurveSpec(String curveName)
  throws InvalidAlgorithmParameterException
{
  // NOTE: Don't bother with custom curves here as the curve will be converted to JCE type shortly
  X9ECParameters p = ECUtils.getDomainParametersFromName(curveName);
  if (p == null)
  {
    try
    {
      // Check whether it's actually an OID string (SunJSSE ServerHandshaker setupEphemeralECDHKeys bug)
      p = ECNamedCurveTable.getByOID(new ASN1ObjectIdentifier(curveName));
      if (p == null)
      {
        Map extraCurves = configuration.getAdditionalECParameters();
        p = (X9ECParameters)extraCurves.get(new ASN1ObjectIdentifier(curveName));
        if (p == null)
        {
          throw new InvalidAlgorithmParameterException("unknown curve OID: " + curveName);
        }
      }
    }
    catch (IllegalArgumentException ex)
    {
      throw new InvalidAlgorithmParameterException("unknown curve name: " + curveName);
    }
  }
  // Work-around for JDK bug -- it won't look up named curves properly if seed is present
  byte[] seed = null; //p.getSeed();
  return new ECNamedCurveSpec(curveName, p.getCurve(), p.getG(), p.getN(), p.getH(), seed);
}

代码示例来源: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());
}

代码示例来源:origin: com.madgag.spongycastle/bctls-jdk15on

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

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

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

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

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

代码示例来源:origin: com.madgag.spongycastle/bcpg-jdk15on

new ECNamedDomainParameters(ecPub.getCurveOID(), x9.getCurve(), x9.getG(), x9.getN(), x9.getH()));
default:
  throw new PGPException("unknown public key algorithm encountered");

相关文章