Bitcoin ECDSA signature in the compact format
I would like to understand how to get Bitcoin ECDSA signature in a compact format, when it’s exactly 65 bytes.
In the bitcoin-core repository, secp256k1_ecdsa_recoverable_signature_load is responsible for this. As far as I understand, in it r and s are separately reduced to a 32 byte representation using secp256k1_scalar_set_b32, but I don’t understand how it function works. What is a EXHAUSTIVE_TEST_ORDER? Why does the resulting representation of 32b scalar remain valid after it? I would be very grateful if someone could explain it to me.
Article source: “https://bitcoin.stackexchange.com/questions/83152/bitcoin-ecdsa-signature-in-the-compact-format”