99from hypothesis import given , assume , settings , example
1010
1111from .ellipticcurve import CurveFp , Point , PointJacobi , INFINITY
12- from .ecdsa import generator_256 , curve_256 , generator_224
12+ from .ecdsa import (
13+ generator_256 ,
14+ curve_256 ,
15+ generator_224 ,
16+ generator_brainpoolp160r1 ,
17+ curve_brainpoolp160r1 ,
18+ )
1319from .numbertheory import inverse_mod
1420
1521
@@ -181,9 +187,13 @@ def test_compare_double_with_multiply(self):
181187 self .assertEqual (dbl , mlpl )
182188
183189 @settings (max_examples = 10 )
184- @given (st .integers (min_value = 0 , max_value = int (generator_256 .order ())))
190+ @given (
191+ st .integers (
192+ min_value = 0 , max_value = int (generator_brainpoolp160r1 .order ())
193+ )
194+ )
185195 def test_multiplications (self , mul ):
186- pj = PointJacobi .from_affine (generator_256 )
196+ pj = PointJacobi .from_affine (generator_brainpoolp160r1 )
187197 pw = pj .to_affine () * mul
188198
189199 pj = pj * mul
@@ -192,12 +202,16 @@ def test_multiplications(self, mul):
192202 self .assertEqual (pj , pw )
193203
194204 @settings (max_examples = 10 )
195- @given (st .integers (min_value = 0 , max_value = int (generator_256 .order ())))
205+ @given (
206+ st .integers (
207+ min_value = 0 , max_value = int (generator_brainpoolp160r1 .order ())
208+ )
209+ )
196210 @example (0 )
197- @example (int (generator_256 .order ()))
211+ @example (int (generator_brainpoolp160r1 .order ()))
198212 def test_precompute (self , mul ):
199- precomp = PointJacobi .from_affine (generator_256 , True )
200- pj = PointJacobi .from_affine (generator_256 )
213+ precomp = PointJacobi .from_affine (generator_brainpoolp160r1 , True )
214+ pj = PointJacobi .from_affine (generator_brainpoolp160r1 )
201215
202216 a = precomp * mul
203217 b = pj * mul
@@ -206,12 +220,16 @@ def test_precompute(self, mul):
206220
207221 @settings (max_examples = 10 )
208222 @given (
209- st .integers (min_value = 1 , max_value = int (generator_256 .order ())),
210- st .integers (min_value = 1 , max_value = int (generator_256 .order ())),
223+ st .integers (
224+ min_value = 1 , max_value = int (generator_brainpoolp160r1 .order ())
225+ ),
226+ st .integers (
227+ min_value = 1 , max_value = int (generator_brainpoolp160r1 .order ())
228+ ),
211229 )
212230 @example (3 , 3 )
213231 def test_add_scaled_points (self , a_mul , b_mul ):
214- j_g = PointJacobi .from_affine (generator_256 )
232+ j_g = PointJacobi .from_affine (generator_brainpoolp160r1 )
215233 a = PointJacobi .from_affine (j_g * a_mul )
216234 b = PointJacobi .from_affine (j_g * b_mul )
217235
@@ -221,23 +239,30 @@ def test_add_scaled_points(self, a_mul, b_mul):
221239
222240 @settings (max_examples = 10 )
223241 @given (
224- st .integers (min_value = 1 , max_value = int (generator_256 .order ())),
225- st .integers (min_value = 1 , max_value = int (generator_256 .order ())),
226- st .integers (min_value = 1 , max_value = int (curve_256 .p () - 1 )),
242+ st .integers (
243+ min_value = 1 , max_value = int (generator_brainpoolp160r1 .order ())
244+ ),
245+ st .integers (
246+ min_value = 1 , max_value = int (generator_brainpoolp160r1 .order ())
247+ ),
248+ st .integers (min_value = 1 , max_value = int (curve_brainpoolp160r1 .p () - 1 )),
227249 )
228250 def test_add_one_scaled_point (self , a_mul , b_mul , new_z ):
229- j_g = PointJacobi .from_affine (generator_256 )
251+ j_g = PointJacobi .from_affine (generator_brainpoolp160r1 )
230252 a = PointJacobi .from_affine (j_g * a_mul )
231253 b = PointJacobi .from_affine (j_g * b_mul )
232254
233- p = curve_256 .p ()
255+ p = curve_brainpoolp160r1 .p ()
234256
235257 assume (inverse_mod (new_z , p ))
236258
237259 new_zz = new_z * new_z % p
238260
239261 b = PointJacobi (
240- curve_256 , b .x () * new_zz % p , b .y () * new_zz * new_z % p , new_z
262+ curve_brainpoolp160r1 ,
263+ b .x () * new_zz % p ,
264+ b .y () * new_zz * new_z % p ,
265+ new_z ,
241266 )
242267
243268 c = a + b
@@ -246,30 +271,40 @@ def test_add_one_scaled_point(self, a_mul, b_mul, new_z):
246271
247272 @settings (max_examples = 10 )
248273 @given (
249- st .integers (min_value = 1 , max_value = int (generator_256 .order ())),
250- st .integers (min_value = 1 , max_value = int (generator_256 .order ())),
251- st .integers (min_value = 1 , max_value = int (curve_256 .p () - 1 )),
274+ st .integers (
275+ min_value = 1 , max_value = int (generator_brainpoolp160r1 .order ())
276+ ),
277+ st .integers (
278+ min_value = 1 , max_value = int (generator_brainpoolp160r1 .order ())
279+ ),
280+ st .integers (min_value = 1 , max_value = int (curve_brainpoolp160r1 .p () - 1 )),
252281 )
253282 @example (1 , 1 , 1 )
254283 @example (3 , 3 , 3 )
255- @example (2 , int (generator_256 .order () - 2 ), 1 )
256- @example (2 , int (generator_256 .order () - 2 ), 3 )
284+ @example (2 , int (generator_brainpoolp160r1 .order () - 2 ), 1 )
285+ @example (2 , int (generator_brainpoolp160r1 .order () - 2 ), 3 )
257286 def test_add_same_scale_points (self , a_mul , b_mul , new_z ):
258- j_g = PointJacobi .from_affine (generator_256 )
287+ j_g = PointJacobi .from_affine (generator_brainpoolp160r1 )
259288 a = PointJacobi .from_affine (j_g * a_mul )
260289 b = PointJacobi .from_affine (j_g * b_mul )
261290
262- p = curve_256 .p ()
291+ p = curve_brainpoolp160r1 .p ()
263292
264293 assume (inverse_mod (new_z , p ))
265294
266295 new_zz = new_z * new_z % p
267296
268297 a = PointJacobi (
269- curve_256 , a .x () * new_zz % p , a .y () * new_zz * new_z % p , new_z
298+ curve_brainpoolp160r1 ,
299+ a .x () * new_zz % p ,
300+ a .y () * new_zz * new_z % p ,
301+ new_z ,
270302 )
271303 b = PointJacobi (
272- curve_256 , b .x () * new_zz % p , b .y () * new_zz * new_z % p , new_z
304+ curve_brainpoolp160r1 ,
305+ b .x () * new_zz % p ,
306+ b .y () * new_zz * new_z % p ,
307+ new_z ,
273308 )
274309
275310 c = a + b
@@ -278,25 +313,31 @@ def test_add_same_scale_points(self, a_mul, b_mul, new_z):
278313
279314 @settings (max_examples = 14 )
280315 @given (
281- st .integers (min_value = 1 , max_value = int (generator_256 .order ())),
282- st .integers (min_value = 1 , max_value = int (generator_256 .order ())),
316+ st .integers (
317+ min_value = 1 , max_value = int (generator_brainpoolp160r1 .order ())
318+ ),
319+ st .integers (
320+ min_value = 1 , max_value = int (generator_brainpoolp160r1 .order ())
321+ ),
283322 st .lists (
284- st .integers (min_value = 1 , max_value = int (curve_256 .p () - 1 )),
323+ st .integers (
324+ min_value = 1 , max_value = int (curve_brainpoolp160r1 .p () - 1 )
325+ ),
285326 min_size = 2 ,
286327 max_size = 2 ,
287328 unique = True ,
288329 ),
289330 )
290331 @example (2 , 2 , [2 , 1 ])
291332 @example (2 , 2 , [2 , 3 ])
292- @example (2 , int (generator_256 .order () - 2 ), [2 , 3 ])
293- @example (2 , int (generator_256 .order () - 2 ), [2 , 1 ])
333+ @example (2 , int (generator_brainpoolp160r1 .order () - 2 ), [2 , 3 ])
334+ @example (2 , int (generator_brainpoolp160r1 .order () - 2 ), [2 , 1 ])
294335 def test_add_different_scale_points (self , a_mul , b_mul , new_z ):
295- j_g = PointJacobi .from_affine (generator_256 )
336+ j_g = PointJacobi .from_affine (generator_brainpoolp160r1 )
296337 a = PointJacobi .from_affine (j_g * a_mul )
297338 b = PointJacobi .from_affine (j_g * b_mul )
298339
299- p = curve_256 .p ()
340+ p = curve_brainpoolp160r1 .p ()
300341
301342 assume (inverse_mod (new_z [0 ], p ))
302343 assume (inverse_mod (new_z [1 ], p ))
@@ -305,13 +346,13 @@ def test_add_different_scale_points(self, a_mul, b_mul, new_z):
305346 new_zz1 = new_z [1 ] * new_z [1 ] % p
306347
307348 a = PointJacobi (
308- curve_256 ,
349+ curve_brainpoolp160r1 ,
309350 a .x () * new_zz0 % p ,
310351 a .y () * new_zz0 * new_z [0 ] % p ,
311352 new_z [0 ],
312353 )
313354 b = PointJacobi (
314- curve_256 ,
355+ curve_brainpoolp160r1 ,
315356 b .x () * new_zz1 % p ,
316357 b .y () * new_zz1 * new_z [1 ] % p ,
317358 new_z [1 ],
0 commit comments