Trouble to verify ECDSA signature, NIST P-256

NIIBE Yutaka gniibe at
Mon Nov 26 00:47:31 CET 2018

Yann Garcia <garcia.yann at> wrote:
>  q=hex_to_data("AC529F186F485D194EBE3677EA9FD1D7E7280648081A01686B3E78528D8AA5C6DC44DB3E54EEF45BA7EE989572D1DC0F83FF071E30B1EE5972D52D22D204A0AD",

I think this representation is...

> And here was the issue: I got the error message "gcrypt/Not implemented"

... not supported by libgcrypt.

For NIST P-256, only standard encoding (prefixed by 0x04, followed by X
in MPI, then, Y in MPI [0]) is supported.  If not, it results an error
in _gcry_ecc_os2ec by GPG_ERR_NOT_IMPLEMENTED (Not implemented).

Just put the prefix "04" to your representation, if it's composed by X
and Y in big endian.

SEC 1: Elliptic Curve Cryptography (Version 2.0)
2.3.3 Elliptic-Curve-Point-to-Octet-String Conversion

More information about the Gcrypt-devel mailing list