While opaque MPI is supported with gcry_sexp_build since version 1.5.0, gcry_mpi_print prints out wrongly.
In master, for ECC, opaque MPI is used to represent point, it should be supported.
While opaque MPI is supported with gcry_sexp_build since version 1.5.0, gcry_mpi_print prints out wrongly.
In master, for ECC, opaque MPI is used to represent point, it should be supported.
rC libgcrypt | |||
rCd9103048d11b mpi: Support opaque MPI with gcry_mpi_print. | |||
rCb4b04ae6c2e5 mpi: Support opaque MPI with gcry_mpi_print. |
A program like tests/t-mpi-point assumes gcry_mpi_print can do that.
We have a sort of regression with --debug option with t-mpi-point, the point q is not printed out correctly.
I am not sure whether this is related but when using Libgcrypt master and verifying a signature created with an ed25519 key, I get the error below with valgrind. Both with 2.2. current and 2.3. It does not happen with the current Libgcrypt 1.8.
==31643== Conditional jump or move depends on uninitialised value(s) ==31643== at 0x4E6462B: mpi_ec_get_elliptic_curve (ecc-curves.c:1042) ==31643== by 0x4E64DE5: _gcry_mpi_ec_internal_new (ecc-curves.c:11171) ==31643== by 0x4E6162C: ecc_verify (ecc.c:803) ==31643== by 0x4DE50D0: _gcry_pk_verify (pubkey.c:459) ==31643== by 0x4DCFC24: gcry_pk_verify (visibility.c:1010) ==31643== by 0x16DEA4: pk_verify (in /home/wk/b/gnupg-2.2/g10/gpg) ==31643== by 0x16635A: check_signature_end_simple (in /home/wk/b/gnupg-2.2/g10/gpg) ==31643== by 0x165A41: check_signature_end (in /home/wk/b/gnupg-2.2/g10/gpg) ==31643== by 0x166843: check_backsig (in /home/wk/b/gnupg-2.2/g10/gpg)
Patch backported to 2.2
I can't replicate my valgrind bug reported on March 13 with Libgcrypt master nor 1.8.