@Override
  protected BigInteger recoverFromSignature(
      final int recId, final BigInteger r, final BigInteger s, final Bytes32 dataHash) {
    if (useNative) {
      return recoverPublicKeyFromSignatureNative(dataHash, new SECPSignature(r, s, (byte) recId))
          .map(key -> new BigInteger(1, key.getEncoded()))
          .orElse(null);
    } else {
      return super.recoverFromSignature(recId, r, s, dataHash);
    }
  }
SECP256R1 is using the non-deterministic implementation of K calculation (standard)

@return an instance of RandomDSAKCalculator
crypto/algorithms/src/main/java/org/hyperledger/besu/crypto/SECP256R1.java