@real-or-random For byte-by-byte comparison I’ll do that, but when signing with libsecp and verifying with libecc, isn’t it more logical to give libecc access only to the public key? I mean, the verifier doesn’t normally have the private key, they’re supposed to read the public key and the message from the signer then check the signature. Right?
So yes, in the real world, the signer obviously wouldn’t reveal the secret key.
For our purpose of cross-testing however, this is fine. If libecc recomputes the public key, then the cross-test would also cover the computation of the public key from the secret key. So if there’s a difference between the two libs in that algorithm, the test would also catch it.