org.spongycastle.crypto.params.ECPrivateKeyParameters.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(12.7k)|赞(0)|评价(0)|浏览(300)

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

ECPrivateKeyParameters.<init>介绍

暂无

代码示例

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

public BigInteger keyAgreement(ECPoint otherParty) {
  if (privKey == null) {
    throw new MissingPrivateKeyException();
  } else if (privKey instanceof BCECPrivateKey) {
    final ECDHBasicAgreement agreement = new ECDHBasicAgreement();
    agreement.init(new ECPrivateKeyParameters(((BCECPrivateKey) privKey).getD(), CURVE));
    return agreement.calculateAgreement(new ECPublicKeyParameters(otherParty, CURVE));
  } else {
    try {
      final KeyAgreement agreement = ECKeyAgreement.getInstance(this.provider);
      agreement.init(this.privKey);
      agreement.doPhase(
        ECKeyFactory.getInstance(this.provider)
          .generatePublic(new ECPublicKeySpec(otherParty, CURVE_SPEC)),
          /* lastPhase */ true);
      return new BigInteger(1, agreement.generateSecret());
    } catch (IllegalStateException | InvalidKeyException | InvalidKeySpecException ex) {
      throw new RuntimeException("ECDH key agreement failure", ex);
    }
  }
}

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

if (privKey instanceof BCECPrivateKey) {
  ECDSASigner signer = new ECDSASigner(new HMacDSAKCalculator(new SHA256Digest()));
  ECPrivateKeyParameters privKeyParams = new ECPrivateKeyParameters(((BCECPrivateKey) privKey).getD(), CURVE);
  signer.init(true, privKeyParams);
  BigInteger[] components = signer.generateSignature(input);

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

private static EthereumIESEngine makeIESEngine(boolean isEncrypt, ECPoint pub, BigInteger prv, byte[] IV) {
  AESEngine aesFastEngine = new AESEngine();
  EthereumIESEngine iesEngine = new EthereumIESEngine(
      new ECDHBasicAgreement(),
      new ConcatKDFBytesGenerator(new SHA256Digest()),
      new HMac(new SHA256Digest()),
      new SHA256Digest(),
      new BufferedBlockCipher(new SICBlockCipher(aesFastEngine)));
  byte[]         d = new byte[] {};
  byte[]         e = new byte[] {};
  IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE);
  ParametersWithIV parametersWithIV = new ParametersWithIV(p, IV);
  iesEngine.init(isEncrypt, new ECPrivateKeyParameters(prv, CURVE), new ECPublicKeyParameters(pub, CURVE), parametersWithIV);
  return iesEngine;
}

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

public static byte[] decrypt(ECPoint ephem, BigInteger prv, byte[] IV, byte[] cipher, byte[] macData) throws InvalidCipherTextException {
  AESEngine aesFastEngine = new AESEngine();
  EthereumIESEngine iesEngine = new EthereumIESEngine(
      new ECDHBasicAgreement(),
      new ConcatKDFBytesGenerator(new SHA256Digest()),
      new HMac(new SHA256Digest()),
      new SHA256Digest(),
      new BufferedBlockCipher(new SICBlockCipher(aesFastEngine)));
  byte[]         d = new byte[] {};
  byte[]         e = new byte[] {};
  IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE);
  ParametersWithIV parametersWithIV =
      new ParametersWithIV(p, IV);
  iesEngine.init(false, new ECPrivateKeyParameters(prv, CURVE), new ECPublicKeyParameters(ephem, CURVE), parametersWithIV);
  return iesEngine.processBlock(cipher, 0, cipher.length, macData);
}

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

/**
 *  Encryption equivalent to the Crypto++ default ECIES<ECP> settings:
 *
 *  DL_KeyAgreementAlgorithm:        DL_KeyAgreementAlgorithm_DH<struct ECPPoint,struct EnumToType<enum CofactorMultiplicationOption,0> >
 *  DL_KeyDerivationAlgorithm:       DL_KeyDerivationAlgorithm_P1363<struct ECPPoint,0,class P1363_KDF2<class SHA1> >
 *  DL_SymmetricEncryptionAlgorithm: DL_EncryptionAlgorithm_Xor<class HMAC<class SHA1>,0>
 *  DL_PrivateKey:                   DL_Key<ECPPoint>
 *  DL_PrivateKey_EC<class ECP>
 *
 *  Used for Whisper V3
 */
public static byte[] decryptSimple(BigInteger privKey, byte[] cipher) throws IOException, InvalidCipherTextException {
  EthereumIESEngine iesEngine = new EthereumIESEngine(
      new ECDHBasicAgreement(),
      new MGF1BytesGeneratorExt(new SHA1Digest(), 1),
      new HMac(new SHA1Digest()),
      new SHA1Digest(),
      null);
  IESParameters p = new IESParameters(null, null, KEY_SIZE);
  ParametersWithIV parametersWithIV = new ParametersWithIV(p, new byte[0]);
  iesEngine.setHashMacKey(false);
  iesEngine.init(new ECPrivateKeyParameters(privKey, CURVE), parametersWithIV,
      new ECIESPublicKeyParser(ECKey.CURVE));
  return iesEngine.processBlock(cipher, 0, cipher.length);
}

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

ECPrivateKeyParameters ecPrivKey = new ECPrivateKeyParameters(ecKey.getPrivKey(), ECKey.CURVE);
ECPublicKeyParameters  ecPubKey  = new ECPublicKeyParameters(ecKey.getPubKeyPoint(), ECKey.CURVE);

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

private static EthereumIESEngine makeIESEngine(boolean isEncrypt, ECPoint pub, BigInteger prv, byte[] IV) {
  AESEngine aesFastEngine = new AESEngine();
  EthereumIESEngine iesEngine = new EthereumIESEngine(
      new ECDHBasicAgreement(),
      new ConcatKDFBytesGenerator(new SHA256Digest()),
      new HMac(new SHA256Digest()),
      new SHA256Digest(),
      new BufferedBlockCipher(new SICBlockCipher(aesFastEngine)));
  byte[]         d = new byte[] {};
  byte[]         e = new byte[] {};
  IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE);
  ParametersWithIV parametersWithIV = new ParametersWithIV(p, IV);
  iesEngine.init(isEncrypt, new ECPrivateKeyParameters(prv, curve), new ECPublicKeyParameters(pub, curve), parametersWithIV);
  return iesEngine;
}

代码示例来源:origin: telehash/telehash-java

public LinePrivateKeyImpl(
    byte[] buffer,
    ECDomainParameters domainParameters
) throws TelehashException {
  BigInteger d = new BigInteger(Util.bytesToHex(buffer), 16);
  mKey = new ECPrivateKeyParameters(d, domainParameters);
}

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

/**
   * Given the domain parameters this routine generates an EC key
   * pair in accordance with X9.62 section 5.2.1 pages 26, 27.
   */
  public AsymmetricCipherKeyPair generateKeyPair()
  {
    BigInteger n = params.getN();
    int        nBitLength = n.bitLength();
    BigInteger d;

    do
    {
      d = new BigInteger(nBitLength, random);
    }
    while (d.equals(ZERO)  || (d.compareTo(n) >= 0));

    ECPoint Q = params.getG().multiply(d);

    return new AsymmetricCipherKeyPair(
      new ECPublicKeyParameters(Q, params),
      new ECPrivateKeyParameters(d, params));
  }
}

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

public byte[] signBTC(byte[] hash) {
  ECDSASigner signer = new ECDSASigner();
  signer.init(true, new ECPrivateKeyParameters(priv, domain));
  BigInteger[] signature = signer.generateSignature(hash);
  ByteArrayOutputStream s = new ByteArrayOutputStream();
  try {
    DERSequenceGenerator seq = new DERSequenceGenerator(s);
    seq.addObject(new DERInteger(signature[0]));
    seq.addObject(new DERInteger(signature[1]));
    seq.close();
    return s.toByteArray();
  } catch (IOException e) {
  }
  return null;
}

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

public ECDSASignature doSign(byte[] input) {
  if (input.length != 32) {
    throw new IllegalArgumentException("Expected 32 byte input to ECDSA signature, not "
        + input.length);
  }
  // No decryption of private key required.
  ECDSASigner signer = new ECDSASigner(new HMacDSAKCalculator(new SHA256Digest()));
  ECPrivateKeyParameters privKeyParams = new ECPrivateKeyParameters(priv, domain);
  signer.init(true, privKeyParams);
  BigInteger[] components = signer.generateSignature(input);
  return new ECDSASignature(components[0], components[1]).toCanonicalised();
}

代码示例来源:origin: UlordChain/ulordj-thin

protected ECDSASignature doSign(Sha256Hash input, BigInteger privateKeyForSigning) {
  if (FAKE_SIGNATURES)
    return TransactionSignature.dummy();
  checkNotNull(privateKeyForSigning);
  ECDSASigner signer = new ECDSASigner(new HMacDSAKCalculator(new SHA256Digest()));
  ECPrivateKeyParameters privKey = new ECPrivateKeyParameters(privateKeyForSigning, CURVE);
  signer.init(true, privKey);
  BigInteger[] components = signer.generateSignature(input.getBytes());
  return new ECDSASignature(components[0], components[1]).toCanonicalised();
}

代码示例来源:origin: nuls-io/nuls

protected byte[] doSign(byte[] input, BigInteger privateKeyForSigning) {
  Util.checkNotNull(privateKeyForSigning);
  ECDSASigner signer = new ECDSASigner(new HMacDSAKCalculator(new SHA256Digest()));
  ECPrivateKeyParameters privKey = new ECPrivateKeyParameters(privateKeyForSigning, CURVE);
  signer.init(true, privKey);
  BigInteger[] components = signer.generateSignature(input);
  return new ECDSASignature(components[0], components[1]).toCanonicalised().encodeToDER();
}

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

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.");
}

代码示例来源:origin: inchaincodes/inchain

protected ECDSASignature doSign(Sha256Hash input, BigInteger privateKeyForSigning) {
//        if (Secp256k1Context.isEnabled()) {
//            try {
//                byte[] signature = NativeSecp256k1.sign(
//                        input.getBytes(),
//                        Utils.bigIntegerToBytes(privateKeyForSigning, 32)
//                );
//                return ECDSASignature.decodeFromDER(signature);
//            } catch (NativeSecp256k1Util.AssertFailException e) {
//                log.error("Caught AssertFailException inside secp256k1", e);
//                throw new RuntimeException(e);
//            }
//        }
    Utils.checkNotNull(privateKeyForSigning);
    ECDSASigner signer = new ECDSASigner(new HMacDSAKCalculator(new SHA256Digest()));
    ECPrivateKeyParameters privKey = new ECPrivateKeyParameters(privateKeyForSigning, CURVE);
    signer.init(true, privKey);
    BigInteger[] components = signer.generateSignature(input.getBytes());
    return new ECDSASignature(components[0], components[1]).toCanonicalised();
  }

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

private static EthereumIESEngine makeIESEngine(boolean isEncrypt, ECPoint pub, BigInteger prv, byte[] IV) {
    AESEngine aesFastEngine = new AESEngine();

    EthereumIESEngine iesEngine = new EthereumIESEngine(
        new ECDHBasicAgreement(),
        new ConcatKDFBytesGenerator(new SHA256Digest()),
        new HMac(new SHA256Digest()),
        new SHA256Digest(),
        new BufferedBlockCipher(new SICBlockCipher(aesFastEngine)));

    byte[] d = new byte[] {};
    byte[] e = new byte[] {};

    IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE);
    ParametersWithIV parametersWithIV = new ParametersWithIV(p, IV);

    iesEngine.init(isEncrypt, new ECPrivateKeyParameters(prv, CURVE), new ECPublicKeyParameters(pub, CURVE), parametersWithIV);
    return iesEngine;
  }
}

代码示例来源:origin: biheBlockChain/wkcwallet-java

private static EthereumIESEngine makeIESEngine(boolean isEncrypt, ECPoint pub, BigInteger prv, byte[] IV) {
  AESFastEngine aesFastEngine = new AESFastEngine();
  EthereumIESEngine iesEngine = new EthereumIESEngine(
      new ECDHBasicAgreement(),
      new ConcatKDFBytesGenerator(new SHA256Digest()),
      new HMac(new SHA256Digest()),
      new SHA256Digest(),
      new BufferedBlockCipher(new SICBlockCipher(aesFastEngine)));
  byte[]         d = new byte[] {};
  byte[]         e = new byte[] {};
  IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE);
  ParametersWithIV parametersWithIV = new ParametersWithIV(p, IV);
  iesEngine.init(isEncrypt, new ECPrivateKeyParameters(prv, CURVE), new ECPublicKeyParameters(pub, CURVE), parametersWithIV);
  return iesEngine;
}

代码示例来源:origin: biheBlockChain/wkcwallet-java

public static byte[] decrypt(ECPoint ephem, BigInteger prv, byte[] IV, byte[] cipher, byte[] macData) throws InvalidCipherTextException {
  AESFastEngine aesFastEngine = new AESFastEngine();
  EthereumIESEngine iesEngine = new EthereumIESEngine(
      new ECDHBasicAgreement(),
      new ConcatKDFBytesGenerator(new SHA256Digest()),
      new HMac(new SHA256Digest()),
      new SHA256Digest(),
      new BufferedBlockCipher(new SICBlockCipher(aesFastEngine)));
  byte[]         d = new byte[] {};
  byte[]         e = new byte[] {};
  IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE);
  ParametersWithIV parametersWithIV =
      new ParametersWithIV(p, IV);
  iesEngine.init(false, new ECPrivateKeyParameters(prv, CURVE), new ECPublicKeyParameters(ephem, CURVE), parametersWithIV);
  return iesEngine.processBlock(cipher, 0, cipher.length, macData);
}

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

public static byte[] decrypt(ECPoint ephem, BigInteger prv, byte[] IV, byte[] cipher, byte[] macData) throws InvalidCipherTextException {
  AESEngine aesFastEngine = new AESEngine();
  EthereumIESEngine iesEngine = new EthereumIESEngine(
      new ECDHBasicAgreement(),
      new ConcatKDFBytesGenerator(new SHA256Digest()),
      new HMac(new SHA256Digest()),
      new SHA256Digest(),
      new BufferedBlockCipher(new SICBlockCipher(aesFastEngine)));
  byte[] d = new byte[] {};
  byte[] e = new byte[] {};
  IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE);
  ParametersWithIV parametersWithIV =
      new ParametersWithIV(p, IV);
  iesEngine.init(false, new ECPrivateKeyParameters(prv, CURVE), new ECPublicKeyParameters(ephem, CURVE), parametersWithIV);
  return iesEngine.processBlock(cipher, 0, cipher.length, macData);
}

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

private static EthereumIESEngine makeIESEngine(boolean isEncrypt, ECPoint pub, BigInteger prv, byte[] IV) {
  AESEngine aesFastEngine = new AESEngine();
  EthereumIESEngine iesEngine = new EthereumIESEngine(
      new ECDHBasicAgreement(),
      new ConcatKDFBytesGenerator(new SHA256Digest()),
      new HMac(new SHA256Digest()),
      new SHA256Digest(),
      new BufferedBlockCipher(new SICBlockCipher(aesFastEngine)));
  byte[] d = new byte[] {};
  byte[] e = new byte[] {};
  IESParameters p = new IESWithCipherParameters(d, e, KEY_SIZE, KEY_SIZE);
  ParametersWithIV parametersWithIV = new ParametersWithIV(p, IV);
  iesEngine.init(isEncrypt, new ECPrivateKeyParameters(prv, curve), new ECPublicKeyParameters(pub, curve), parametersWithIV);
  return iesEngine;
}

相关文章

微信公众号

最新文章

更多