signDigestDeterminstic method

ECDSASignature signDigestDeterminstic({
  1. required List<int> digest,
  2. required HashFunc hashFunc,
  3. List<int>? extraEntropy,
  4. bool truncate = false,
  5. int retry = 0,
})

Generates a deterministic signature for a given digest using the private key.

Uses RFC 6979 for 'k' value generation to mitigate certain vulnerabilities associated with random 'k' generation.

Implementation

ECDSASignature signDigestDeterminstic(
    {required List<int> digest,
    required HashFunc hashFunc,
    List<int>? extraEntropy,
    bool truncate = false,
    int retry = 0}) {
  final k = RFC6979.generateK(
      order: generator.order!,
      secexp: privateKey.secretMultiplier,
      hashFunc: hashFunc,
      data: digest,
      extraEntropy: extraEntropy,
      retryGn: retry);
  return signDigest(digest: digest, k: k, truncate: truncate);
}