summaryrefslogtreecommitdiff
path: root/lib/nettle/ecc/override/ecc-gostdsa-verify.c.diff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nettle/ecc/override/ecc-gostdsa-verify.c.diff')
-rw-r--r--lib/nettle/ecc/override/ecc-gostdsa-verify.c.diff19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/nettle/ecc/override/ecc-gostdsa-verify.c.diff b/lib/nettle/ecc/override/ecc-gostdsa-verify.c.diff
new file mode 100644
index 0000000000..143143e66d
--- /dev/null
+++ b/lib/nettle/ecc/override/ecc-gostdsa-verify.c.diff
@@ -0,0 +1,19 @@
+diff --git a/ecc-gostdsa-verify.c b/ecc-gostdsa-verify.c
+index 29b82c84..906abbf3 100644
+--- a/ecc-gostdsa-verify.c
++++ b/ecc-gostdsa-verify.c
+@@ -102,11 +102,11 @@ ecc_gostdsa_verify (const struct ecc_curve *ecc,
+ ecc->q.invert (&ecc->q, vp, hp, vp + 2*ecc->p.size);
+
+ /* z1 = s / h, P1 = z1 * G */
+- ecc_mod_mul (&ecc->q, z1, sp, vp);
++ ecc_mod_mul_canonical (&ecc->q, z1, sp, vp);
+
+ /* z2 = - r / h, P2 = z2 * Y */
+- ecc_mod_mul (&ecc->q, z2, rp, vp);
+- mpn_sub_n (z2, ecc->q.m, z2, ecc->p.size);
++ mpn_sub_n (hp, ecc->q.m, rp, ecc->p.size);
++ ecc_mod_mul_canonical (&ecc->q, z2, hp, vp);
+
+ /* Total storage: 5*ecc->p.size + ecc->mul_itch */
+ ecc->mul (ecc, P2, z2, pp, z2 + ecc->p.size);