generateKeyPair function

AsymmetricKeyPair<PublicKey, PrivateKey> generateKeyPair()

Generate Keypair

Implementation

AsymmetricKeyPair<PublicKey, PrivateKey> generateKeyPair() {
  var keyParams = ECCurve_secp256k1();
  var random = FortunaRandom();
  random.seed(KeyParameter(_seed(32)));
  var n = keyParams.n;
  var nBitLength = n.bitLength;
  BigInt d;
  do {
    d = random.nextBigInteger(nBitLength);
  } while (d == BigInt.zero || (d >= n));
  ECPoint Q = scalar_multiple(d, keyParams.G)!;
  return AsymmetricKeyPair(
      ECPublicKey(Q, keyParams), ECPrivateKey(d, keyParams));
}