private SECPSignature signNative(final Bytes32 dataHash, final KeyPair keyPair) {
    Signature nativeSignature =
        libSECP256R1.sign(
            dataHash.toArrayUnsafe(),
            keyPair.getPrivateKey().getEncoded(),
            keyPair.getPublicKey().getEncoded());

    return new SECPSignature(
        new BigInteger(nativeSignature.getR()),
        new BigInteger(nativeSignature.getS()),
        nativeSignature.getV());
  }
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