Hi,
I’m using ECDSA with the P256 curve and I’ve found a problem which I’ve tracked to a different result of signature verification on the Raspberry Pi and x64 (both Linux and Windows). I’ve tracked the problem down to this self-contained case:
This forum doesn’t let me post links, so concatenate these strings to get a github gist:
https:// gist.github.com/ivoras/ 32b2abd16b5984fa43c006486bfb7e2c
It’s trivial to build. When run on the RPI, verification succeeds. On x64, it fails. RPI is running little-endian Ubuntu 16.04.2, 32-bit.
Am I doing something wrong or is it a bug in the libs? I’ve updated all systems to Go 1.8.1, but I’ve noticed this behaviour on 1.7 (and the update didn’t solve it).
Edit: I’ve changed the title, because I’ve tested it in a brand new i386 Ubuntu VM, and the result is same as on RPI. So it might be a 32-bit vs 64-bit issue.