From d08072093928f187aa3dde579b9be5eb87710eeb Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Wed, 22 Dec 2021 20:11:42 +0900 Subject: experiment: Handle S=0 in EdDSA by SOS("0"). Signed-off-by: NIIBE Yutaka --- g10/pkglue.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'g10/pkglue.c') diff --git a/g10/pkglue.c b/g10/pkglue.c index 019e5bac6..05bce14bf 100644 --- a/g10/pkglue.c +++ b/g10/pkglue.c @@ -319,15 +319,11 @@ pk_verify (pubkey_algo_t pkalgo, gcry_mpi_t hash, } } } - /* - * When data[1] is NULL or [0], parse the signature into R and S - * parts. - */ - else if (!s - || (gcry_mpi_get_flag (s, GCRYMPI_FLAG_OPAQUE) - && ((p = gcry_mpi_get_opaque (s, &nbits)) == NULL - || nbits == 0 - || ((nbits+7)/8 == 1 && p[0] == 0)))) + else if (gcry_mpi_get_flag (s, GCRYMPI_FLAG_OPAQUE) + && ((p = gcry_mpi_get_opaque (s, &nbits)) == NULL + || nbits == 0 + || ((nbits+7)/8 == 1 && p[0] == 0))) + /* When data[1] is MPI(0), parse the signature into R and S parts. */ openpgp_ecc_parse_signature (pkalgo, r, &r, &s); else rc = 0; -- cgit v1.2.3