Use ec_group_do_inverse_ord() in SM2
authorNicola Tuveri <nic.tuv@gmail.com>
Thu, 21 Jun 2018 16:15:50 +0000 (19:15 +0300)
committerAndy Polyakov <appro@openssl.org>
Mon, 25 Jun 2018 14:40:51 +0000 (16:40 +0200)
Reviewed-by: Andy Polyakov <appro@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6521)

crypto/sm2/sm2_sign.c

index 9d1905439ae160dc08e210a7c61735f017367900..14576ca840080c9221c3843aa04f298220bbf2e1 100644 (file)
@@ -11,6 +11,7 @@
 
 #include "internal/sm2.h"
 #include "internal/sm2err.h"
+#include "internal/ec_int.h" /* ec_group_do_inverse_ord() */
 #include <openssl/err.h>
 #include <openssl/evp.h>
 #include <openssl/err.h>
@@ -133,7 +134,7 @@ static ECDSA_SIG *sm2_sig_gen(const EC_KEY *key, const BIGNUM *e)
             continue;
 
         if (!BN_add(s, dA, BN_value_one())
-                || !BN_mod_inverse(s, s, order, ctx)
+                || !ec_group_do_inverse_ord(group, s, s, ctx)
                 || !BN_mod_mul(tmp, dA, r, order, ctx)
                 || !BN_sub(tmp, k, tmp)
                 || !BN_mod_mul(s, s, tmp, order, ctx)) {