@@ -142,13 +142,17 @@ namespace ack::tests {
142
142
REQUIRE_EQUAL ( p1.is_valid () , false )
143
143
144
144
auto p1_proj = ec_point_fp_proj ( p1 );
145
+ REQUIRE_EQUAL ( c23.make_point <c23_point_proj>( x, y ), p1_proj )
146
+ REQUIRE_EQUAL ( c23.make_point <c23_point_proj>( x, y, /* verify=*/ false ), p1_proj )
145
147
REQUIRE_EQUAL ( ( p1_proj.x == 0 ) && ( p1_proj.y == 1 ) && ( p1_proj.z == 0 ), true )
146
148
REQUIRE_EQUAL ( p1_proj.is_identity (), true )
147
149
REQUIRE_EQUAL ( p1_proj.is_on_curve (), true )
148
150
REQUIRE_EQUAL ( p1_proj.is_valid () , false )
149
151
REQUIRE_EQUAL ( p1_proj.to_affine () , p1 )
150
152
151
153
auto p1_jacobi = ec_point_fp_jacobi ( p1 );
154
+ REQUIRE_EQUAL ( c23.make_point <c23_point_jacobi>( x, y ), p1_jacobi )
155
+ REQUIRE_EQUAL ( c23.make_point <c23_point_jacobi>( x, y, /* verify=*/ false ), p1_jacobi )
152
156
REQUIRE_EQUAL ( ( p1_jacobi.x == 0 ) && ( p1_jacobi.y == 1 ) && ( p1_jacobi.z == 0 ), true )
153
157
REQUIRE_EQUAL ( p1_jacobi.is_identity (), true )
154
158
REQUIRE_EQUAL ( p1_jacobi.is_on_curve (), true )
@@ -176,13 +180,17 @@ namespace ack::tests {
176
180
REQUIRE_EQUAL ( p1.is_valid () , false )
177
181
178
182
auto p1_proj = ec_point_fp_proj ( p1 );
183
+ REQUIRE_EQUAL ( c23.make_point <c23_point_proj>( x, y ), p1_proj )
184
+ REQUIRE_EQUAL ( c23.make_point <c23_point_proj>( x, y, /* verify=*/ false ) , p1_proj )
179
185
REQUIRE_EQUAL ( ( p1_proj.x == 3 ) && ( p1_proj.y == 7 ) && ( p1_proj.z == 1 ), true )
180
186
REQUIRE_EQUAL ( p1_proj.is_identity (), false )
181
187
REQUIRE_EQUAL ( p1_proj.is_on_curve (), false )
182
188
REQUIRE_EQUAL ( p1_proj.is_valid () , false )
183
189
REQUIRE_EQUAL ( p1_proj.to_affine () , p1 )
184
190
185
191
auto p1_jacobi = ec_point_fp_jacobi ( p1 );
192
+ REQUIRE_EQUAL ( c23.make_point <c23_point_jacobi>( x, y ), p1_jacobi )
193
+ REQUIRE_EQUAL ( c23.make_point <c23_point_jacobi>( x, y, /* verify=*/ false ), p1_jacobi )
186
194
REQUIRE_EQUAL ( ( p1_jacobi.x == 3 ) && ( p1_jacobi.y == 7 ) && ( p1_jacobi.z == 1 ), true )
187
195
REQUIRE_EQUAL ( p1_jacobi.is_identity (), false )
188
196
REQUIRE_EQUAL ( p1_jacobi.is_on_curve (), false )
@@ -210,13 +218,17 @@ namespace ack::tests {
210
218
REQUIRE_EQUAL ( p1.is_valid () , false ) // point not generated by base point
211
219
212
220
auto p1_proj = ec_point_fp_proj ( p1 );
221
+ REQUIRE_EQUAL ( c23.make_point <c23_point_proj>( x, y ), p1_proj )
222
+ REQUIRE_EQUAL ( c23.make_point <c23_point_proj>( x, y ), p1_proj )
213
223
REQUIRE_EQUAL ( ( p1_proj.x == 3 ) && ( p1_proj.y == 10 ) && ( p1_proj.z == 1 ), true )
214
224
REQUIRE_EQUAL ( p1_proj.is_identity (), false )
215
225
REQUIRE_EQUAL ( p1_proj.is_on_curve (), true )
216
226
REQUIRE_EQUAL ( p1_proj.is_valid () , false ) // point not generated by base point
217
227
REQUIRE_EQUAL ( p1_proj.to_affine () , p1 )
218
228
219
229
auto p1_jacobi = ec_point_fp_jacobi ( p1 );
230
+ REQUIRE_EQUAL ( c23.make_point <c23_point_jacobi>( x, y ), p1_jacobi )
231
+ REQUIRE_EQUAL ( c23.make_point <c23_point_jacobi>( x, y ), p1_jacobi )
220
232
REQUIRE_EQUAL ( ( p1_jacobi.x == 3 ) && ( p1_jacobi.y == 10 ) && ( p1_jacobi.z == 1 ), true )
221
233
REQUIRE_EQUAL ( p1_jacobi.is_identity (), false )
222
234
REQUIRE_EQUAL ( p1_jacobi.is_on_curve (), true )
@@ -244,13 +256,17 @@ namespace ack::tests {
244
256
REQUIRE_EQUAL ( p1.is_valid () , false )
245
257
246
258
auto p1_proj = ec_point_fp_proj ( p1 );
259
+ REQUIRE_EQUAL ( c23.make_point <c23_point_proj>( x, y ), p1_proj )
260
+ REQUIRE_EQUAL ( c23.make_point <c23_point_proj>( x, y, /* verify=*/ false ), p1_proj )
247
261
REQUIRE_EQUAL ( ( p1_proj.x == 22 ) && ( p1_proj.y == 22 ) && ( p1_proj.z == 1 ), true )
248
262
REQUIRE_EQUAL ( p1_proj.is_identity (), false )
249
263
REQUIRE_EQUAL ( p1_proj.is_on_curve (), false )
250
264
REQUIRE_EQUAL ( p1_proj.is_valid () , false )
251
265
REQUIRE_EQUAL ( p1_proj.to_affine () , p1 )
252
266
253
267
auto p1_jacobi = ec_point_fp_jacobi ( p1 );
268
+ REQUIRE_EQUAL ( c23.make_point <c23_point_jacobi>( x, y ), p1_jacobi )
269
+ REQUIRE_EQUAL ( c23.make_point <c23_point_jacobi>( x, y, /* verify=*/ false ), p1_jacobi )
254
270
REQUIRE_EQUAL ( ( p1_jacobi.x == 22 ) && ( p1_jacobi.y == 22 ) && ( p1_jacobi.z == 1 ), true )
255
271
REQUIRE_EQUAL ( p1_jacobi.is_identity (), false )
256
272
REQUIRE_EQUAL ( p1_jacobi.is_on_curve (), false )
@@ -278,12 +294,16 @@ namespace ack::tests {
278
294
REQUIRE_EQUAL ( p1.is_valid () , true )
279
295
280
296
auto p1_proj = ec_point_fp_proj ( p1 );
297
+ REQUIRE_EQUAL ( c23.make_point <c23_point_proj>( x, y ), p1_proj )
298
+ REQUIRE_EQUAL ( c23.make_point <c23_point_proj>( x, y, /* verify=*/ true ), p1_proj )
281
299
REQUIRE_EQUAL ( ( p1_proj.x == 5 ) && ( p1_proj.y == 4 ) && ( p1_proj.z == 1 ), true )
282
300
REQUIRE_EQUAL ( p1_proj.is_identity (), false )
283
301
REQUIRE_EQUAL ( p1_proj.is_on_curve (), true )
284
302
REQUIRE_EQUAL ( p1_proj.is_valid () , true )
285
303
286
304
auto p1_jacobi = ec_point_fp_jacobi ( p1 );
305
+ REQUIRE_EQUAL ( c23.make_point <c23_point_jacobi>( x, y, /* verify=*/ false ), p1_jacobi )
306
+ REQUIRE_EQUAL ( c23.make_point <c23_point_jacobi>( x, y, /* verify=*/ true ), p1_jacobi )
287
307
REQUIRE_EQUAL ( ( p1_jacobi.x == 5 ) && ( p1_jacobi.y == 4 ) && ( p1_jacobi.z == 1 ), true )
288
308
REQUIRE_EQUAL ( p1_jacobi.is_identity (), false )
289
309
REQUIRE_EQUAL ( p1_jacobi.is_on_curve (), true )
0 commit comments