tiny-secp256k1 and ECDSA signing determinism I noticed in bitcoin when using the tiny-secp256k1 library to sign the signature for a signature hash of an input, the signature is always the same.
However in other ECDSA secp256k1 libraries (im using one by nordic semi conductors) the signature is always different. 

Am I misunderstanding something? is there a difference in the signature algorithms? 
I read something about randomly and deterministically calculating the k value, should it matter if it is random or not?
 or is there possibly extra encoding done after the signature hash is signed in bitcoin secp256k1?

Thanks!
Chris
The secp256k1 library uses RFC6979 to generate deterministic nonce values (k). It essentially takes the hash of both the private key and the message being signed in order to get k. This means that signing the same message with the same private key multiple times will always result in the same signature.

Other libraries may not do this. ECDSA only requires that k be a random integer (or rather that k is indistinguishable from random). So some libraries will simply generate a random k and use that. RFC 6979 is another way to generate a k that is indistinguishable from random, assuming that the hash function used is a pseudorandom function (meaning it's output is indistinguishable from random). The hash function used by secp25k1 is HMAC-SHA256 which is considered to be secure.