aboutsummaryrefslogtreecommitdiff
path: root/ecp_id_tc26_gost_3410_2012_256_paramSetA.c
diff options
context:
space:
mode:
authorBilly Brumley <bbrumley@gmail.com>2020-07-23 19:47:03 +0300
committerDmitry Belyavskiy <beldmit@users.noreply.github.com>2020-07-23 19:57:43 +0300
commit259301a5adf2ef51b8f380b27fcead313669206e (patch)
treee93eba7fe40cfb89340c42449bd86320b053fd3d /ecp_id_tc26_gost_3410_2012_256_paramSetA.c
parent9242b82902544123f2050c3236f87e94600d4cc0 (diff)
downloadgost-engine-259301a5adf2ef51b8f380b27fcead313669206e.zip
gost-engine-259301a5adf2ef51b8f380b27fcead313669206e.tar.gz
gost-engine-259301a5adf2ef51b8f380b27fcead313669206e.tar.bz2
Edwards map fix
ECCKiila Changes from https://gitlab.com/nisec/ecckiila/-/issues/2 https://gitlab.com/nisec/ecckiila/-/commit/7445ecabef77965743e0ae8d39d7433b07820be6 * X3 -> X1 * eliminate a temp variable X3 = X1 as pointers is the reason this was still passing unit tests. But that might not hold in future versions of ECCKiila, so fix it now.
Diffstat (limited to 'ecp_id_tc26_gost_3410_2012_256_paramSetA.c')
-rw-r--r--ecp_id_tc26_gost_3410_2012_256_paramSetA.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/ecp_id_tc26_gost_3410_2012_256_paramSetA.c b/ecp_id_tc26_gost_3410_2012_256_paramSetA.c
index a3b234f..1528163 100644
--- a/ecp_id_tc26_gost_3410_2012_256_paramSetA.c
+++ b/ecp_id_tc26_gost_3410_2012_256_paramSetA.c
@@ -3320,10 +3320,10 @@ static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
*/
static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
/* temporary variables */
- fe_t t0, t1;
+ fe_t t0;
/* constants */
- const limb_t *T = const_T;
const limb_t *S = const_S;
+ const limb_t *T = const_T;
const limb_t *X1 = P->X;
const limb_t *Y1 = P->Y;
const limb_t *Z1 = P->Z;
@@ -3333,13 +3333,13 @@ static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
limb_t *Z3 = Q->Z;
/* the curve arith formula */
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, Z1, Y1);
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, Z1, Y1);
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, S, t0);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(T3, Z1, Y1);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t0, Z1, Y1);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, S, T3);
fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Z1, T3);
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, X3, t1);
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, t1, T);
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, T3, t1);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, X1, t0);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, t0, T);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, T3, t0);
fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X1, t0);
}
@@ -3350,8 +3350,8 @@ static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
*/
static void point_legacy2edwards(pt_prj_t *Q, const pt_aff_t *P) {
/* constants */
- const limb_t *T = const_T;
const limb_t *S = const_S;
+ const limb_t *T = const_T;
const limb_t *X1 = P->X;
const limb_t *Y1 = P->Y;
limb_t *X3 = Q->X;
@@ -8462,7 +8462,7 @@ static void point_add_proj(pt_prj_t *R, const pt_prj_t *Q, const pt_prj_t *P) {
*/
static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
/* temporary variables */
- fe_t t0, t1;
+ fe_t t0;
/* constants */
const limb_t *T = const_T;
const limb_t *S = const_S;
@@ -8475,13 +8475,13 @@ static void point_edwards2legacy(pt_prj_t *Q, const pt_prj_t *P) {
limb_t *Z3 = Q->Z;
/* the curve arith formula */
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, Z1, Y1);
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t1, Z1, Y1);
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, S, t0);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(T3, Z1, Y1);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_sub(t0, Z1, Y1);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(T3, S, T3);
fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Y3, Z1, T3);
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, X3, t1);
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t1, t1, T);
- fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, T3, t1);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(Z3, X1, t0);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(t0, t0, T);
+ fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_add(t0, T3, t0);
fiat_id_tc26_gost_3410_2012_256_paramSetA_carry_mul(X3, X1, t0);
}