@@ -140,32 +140,26 @@ static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, cons
140140 secp256k1_fe Z ;
141141
142142 int skew_1 ;
143- #ifdef USE_ENDOMORPHISM
144143 secp256k1_ge pre_a_lam [ECMULT_TABLE_SIZE (WINDOW_A )];
145144 int wnaf_lam [1 + WNAF_SIZE (WINDOW_A - 1 )];
146145 int skew_lam ;
147146 secp256k1_scalar q_1 , q_lam ;
148- #endif
149147 int wnaf_1 [1 + WNAF_SIZE (WINDOW_A - 1 )];
150148
151149 int i ;
152150
153151 /* build wnaf representation for q. */
154152 int rsize = size ;
155- #ifdef USE_ENDOMORPHISM
156153 if (size > 128 ) {
157154 rsize = 128 ;
158155 /* split q into q_1 and q_lam (where q = q_1 + q_lam*lambda, and q_1 and q_lam are ~128 bit) */
159156 secp256k1_scalar_split_lambda (& q_1 , & q_lam , scalar );
160157 skew_1 = secp256k1_wnaf_const (wnaf_1 , & q_1 , WINDOW_A - 1 , 128 );
161158 skew_lam = secp256k1_wnaf_const (wnaf_lam , & q_lam , WINDOW_A - 1 , 128 );
162159 } else
163- #endif
164160 {
165161 skew_1 = secp256k1_wnaf_const (wnaf_1 , scalar , WINDOW_A - 1 , size );
166- #ifdef USE_ENDOMORPHISM
167162 skew_lam = 0 ;
168- #endif
169163 }
170164
171165 /* Calculate odd multiples of a.
@@ -179,14 +173,12 @@ static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, cons
179173 for (i = 0 ; i < ECMULT_TABLE_SIZE (WINDOW_A ); i ++ ) {
180174 secp256k1_fe_normalize_weak (& pre_a [i ].y );
181175 }
182- #ifdef USE_ENDOMORPHISM
183176 if (size > 128 ) {
184177 for (i = 0 ; i < ECMULT_TABLE_SIZE (WINDOW_A ); i ++ ) {
185178 secp256k1_ge_mul_lambda (& pre_a_lam [i ], & pre_a [i ]);
186179 }
187180
188181 }
189- #endif
190182
191183 /* first loop iteration (separated out so we can directly set r, rather
192184 * than having it start at infinity, get doubled several times, then have
@@ -195,14 +187,12 @@ static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, cons
195187 VERIFY_CHECK (i != 0 );
196188 ECMULT_CONST_TABLE_GET_GE (& tmpa , pre_a , i , WINDOW_A );
197189 secp256k1_gej_set_ge (r , & tmpa );
198- #ifdef USE_ENDOMORPHISM
199190 if (size > 128 ) {
200191 i = wnaf_lam [WNAF_SIZE_BITS (rsize , WINDOW_A - 1 )];
201192 VERIFY_CHECK (i != 0 );
202193 ECMULT_CONST_TABLE_GET_GE (& tmpa , pre_a_lam , i , WINDOW_A );
203194 secp256k1_gej_add_ge (r , r , & tmpa );
204195 }
205- #endif
206196 /* remaining loop iterations */
207197 for (i = WNAF_SIZE_BITS (rsize , WINDOW_A - 1 ) - 1 ; i >= 0 ; i -- ) {
208198 int n ;
@@ -215,14 +205,12 @@ static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, cons
215205 ECMULT_CONST_TABLE_GET_GE (& tmpa , pre_a , n , WINDOW_A );
216206 VERIFY_CHECK (n != 0 );
217207 secp256k1_gej_add_ge (r , r , & tmpa );
218- #ifdef USE_ENDOMORPHISM
219208 if (size > 128 ) {
220209 n = wnaf_lam [i ];
221210 ECMULT_CONST_TABLE_GET_GE (& tmpa , pre_a_lam , n , WINDOW_A );
222211 VERIFY_CHECK (n != 0 );
223212 secp256k1_gej_add_ge (r , r , & tmpa );
224213 }
225- #endif
226214 }
227215
228216 secp256k1_fe_mul (& r -> z , & r -> z , & Z );
@@ -231,43 +219,35 @@ static void secp256k1_ecmult_const(secp256k1_gej *r, const secp256k1_ge *a, cons
231219 /* Correct for wNAF skew */
232220 secp256k1_ge correction = * a ;
233221 secp256k1_ge_storage correction_1_stor ;
234- #ifdef USE_ENDOMORPHISM
235222 secp256k1_ge_storage correction_lam_stor ;
236- #endif
237223 secp256k1_ge_storage a2_stor ;
238224 secp256k1_gej tmpj ;
239225 secp256k1_gej_set_ge (& tmpj , & correction );
240226 secp256k1_gej_double_var (& tmpj , & tmpj , NULL );
241227 secp256k1_ge_set_gej (& correction , & tmpj );
242228 secp256k1_ge_to_storage (& correction_1_stor , a );
243- #ifdef USE_ENDOMORPHISM
244229 if (size > 128 ) {
245230 secp256k1_ge_to_storage (& correction_lam_stor , a );
246231 }
247- #endif
248232 secp256k1_ge_to_storage (& a2_stor , & correction );
249233
250234 /* For odd numbers this is 2a (so replace it), for even ones a (so no-op) */
251235 secp256k1_ge_storage_cmov (& correction_1_stor , & a2_stor , skew_1 == 2 );
252- #ifdef USE_ENDOMORPHISM
253236 if (size > 128 ) {
254237 secp256k1_ge_storage_cmov (& correction_lam_stor , & a2_stor , skew_lam == 2 );
255238 }
256- #endif
257239
258240 /* Apply the correction */
259241 secp256k1_ge_from_storage (& correction , & correction_1_stor );
260242 secp256k1_ge_neg (& correction , & correction );
261243 secp256k1_gej_add_ge (r , r , & correction );
262244
263- #ifdef USE_ENDOMORPHISM
264245 if (size > 128 ) {
265246 secp256k1_ge_from_storage (& correction , & correction_lam_stor );
266247 secp256k1_ge_neg (& correction , & correction );
267248 secp256k1_ge_mul_lambda (& correction , & correction );
268249 secp256k1_gej_add_ge (r , r , & correction );
269250 }
270- #endif
271251 }
272252}
273253
0 commit comments