aboutsummaryrefslogtreecommitdiffstats
path: root/checks/ec_tests.cpp
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-02-25 02:01:06 +0000
committerlloyd <[email protected]>2010-02-25 02:01:06 +0000
commit2d1dd244a6714687c97736a809e9dd31f506306c (patch)
tree25d91133fd81ba0d1404bcec8c7984b4aac71f5b /checks/ec_tests.cpp
parentaab1529d89961521e9cb6f2d65de98729107891a (diff)
Convert PointGFp::get_affine_{x,y} to return just the BigInt value
Diffstat (limited to 'checks/ec_tests.cpp')
-rw-r--r--checks/ec_tests.cpp78
1 files changed, 17 insertions, 61 deletions
diff --git a/checks/ec_tests.cpp b/checks/ec_tests.cpp
index ae8ee65e9..c05008435 100644
--- a/checks/ec_tests.cpp
+++ b/checks/ec_tests.cpp
@@ -64,29 +64,29 @@ void test_point_turn_on_sp_red_mul()
BigInt d("459183204582304");
PointGFp r1 = d * p_G;
- CHECK(r1.get_affine_x().get_value() != BigInt("0"));
+ CHECK(r1.get_affine_x() != BigInt("0"));
PointGFp p_G2(p_G);
PointGFp r2 = d * p_G2;
CHECK_MESSAGE(r1 == r2, "error with point mul after extra turn on sp red mul");
- CHECK(r1.get_affine_x().get_value() != BigInt("0"));
+ CHECK(r1.get_affine_x() != BigInt("0"));
PointGFp p_r1 = r1;
PointGFp p_r2 = r2;
- p_r1.mult2_in_place(); // wird für Fehler nicht gebraucht
- p_r2.mult2_in_place(); // wird für Fehler nicht gebraucht
+ p_r1.mult2_in_place();
+ p_r2.mult2_in_place();
CHECK_MESSAGE(p_r1.get_affine_x() == p_r2.get_affine_x(), "error with mult2 after extra turn on sp red mul");
- CHECK(p_r1.get_affine_x().get_value() != BigInt("0"));
- CHECK(p_r2.get_affine_x().get_value() != BigInt("0"));
+ CHECK(p_r1.get_affine_x() != BigInt("0"));
+ CHECK(p_r2.get_affine_x() != BigInt("0"));
r1.mult2_in_place();
r2.mult2_in_place();
CHECK_MESSAGE(r1 == r2, "error with mult2 after extra turn on sp red mul");
CHECK_MESSAGE(r1.get_affine_x() == r2.get_affine_x(), "error with mult2 after extra turn on sp red mul");
- CHECK(r1.get_affine_x().get_value() != BigInt("0"));
+ CHECK(r1.get_affine_x() != BigInt("0"));
//std::cout << "r1 x = " << r1.get_affine_x() << endl;
r1 += p_G;
r2 += p_G2;
@@ -146,8 +146,8 @@ void test_coordinates()
CHECK( p1.get_jac_proj_x().get_value() == exp_x);
CHECK( p1.get_jac_proj_y().get_value() == exp_y);
CHECK( p1.get_jac_proj_z().get_value() == exp_z);
- CHECK_MESSAGE( p1.get_affine_x().get_value() == exp_affine_x, " p1_x = " << p1.get_affine_x().get_value() << "\n" << "exp_x = " << exp_affine_x << "\n");
- CHECK_MESSAGE( p1.get_affine_y().get_value() == exp_affine_y, " p1_y = " << p1.get_affine_y().get_value() << "\n" << "exp_y = " << exp_affine_y << "\n");
+ CHECK_MESSAGE( p1.get_affine_x() == exp_affine_x, " p1_x = " << p1.get_affine_x() << "\n" << "exp_x = " << exp_affine_x << "\n");
+ CHECK_MESSAGE( p1.get_affine_y() == exp_affine_y, " p1_y = " << p1.get_affine_y() << "\n" << "exp_y = " << exp_affine_y << "\n");
}
@@ -179,8 +179,8 @@ void test_point_transformation ()
CHECK_MESSAGE( p.get_jac_proj_x().get_value() == q.get_jac_proj_x().get_value(), "projective_x changed while turning on montg.!");
CHECK_MESSAGE( p.get_jac_proj_y().get_value() == q.get_jac_proj_y().get_value(), "projective_y changed while turning on montg.!");
CHECK_MESSAGE( p.get_jac_proj_z().get_value() == q.get_jac_proj_z().get_value(), "projective_z changed while turning on montg.!");
- CHECK_MESSAGE( p.get_affine_x().get_value() == q.get_affine_x().get_value(), "affine_x changed while turning on montg.!");
- CHECK_MESSAGE( p.get_affine_y().get_value() == q.get_affine_y().get_value(), "affine_y changed while turning on montg.!");
+ CHECK_MESSAGE( p.get_affine_x() == q.get_affine_x(), "affine_x changed while turning on montg.!");
+ CHECK_MESSAGE( p.get_affine_y() == q.get_affine_y(), "affine_y changed while turning on montg.!");
}
void test_point_mult ()
@@ -220,23 +220,6 @@ void test_point_mult ()
}
#if 0
-void test_montgm_calc_R ()
- {
- // this tests isnt´t correct anymore. the determination of R has changed
- // to be 0 mod word_range.
-
- // setting up (expected) values
- BigInt prime_modulus(101);
- u64bit n = prime_modulus.bits();
- BigInt exp_R(128);
- // function under test
- BigInt calc_R = montgm_calc_r_oddmod(prime_modulus);
- CHECK_MESSAGE(exp_R == calc_R, "exp_R = " << exp_R << ", calc_R = " << calc_R << ", n = " << n << "\n");
-
- }
-#endif
-
-#if 0
void test_naive_montg_mult ()
{
std::cout << "." << std::flush;
@@ -260,32 +243,6 @@ void test_naive_montg_mult ()
}
#endif
-#if 0
-
-void test_trf_mres ()
- {
- // this tests isnt´t correct anymore. the determination of R has changed
- // to be 0 mod word_range.
-
- //
- BigInt modulus(11);
- BigInt r = montgm_calc_r_oddmod(modulus);
- //cout << "r = " << r << "\n";
- BigInt r_inv = inverse_mod(r, modulus);
- //cout << "r_inv = " << r_inv << "\n";
- // see C43:
- BigInt exp_m_dash(13);
- BigInt calc_m_dash = montgm_calc_m_dash(r, modulus, r_inv);
- CHECK_MESSAGE(exp_m_dash == calc_m_dash, "exp_m_dash = " << exp_m_dash << "\n" << "calc_m_dash = " << calc_m_dash << "\n");
- BigInt ord_res(7);
- BigInt exp_m_res(2); // see C43
- BigInt calc_m_res = montg_trf_to_mres(ord_res, r, modulus);
- CHECK_MESSAGE(calc_m_res == exp_m_res, "calc_m_res = " << calc_m_res << "\nexp_m_res = " << exp_m_res);
- BigInt calc_ord_res_back = montg_trf_to_ordres(calc_m_res,modulus, r_inv);
- CHECK_MESSAGE(ord_res == calc_ord_res_back, "ord_res = " << ord_res << "\ncalc_ord_res_back = " << calc_ord_res_back << "\n");
- }
-#endif
-
void test_point_negative()
{
std::cout << "." << std::flush;
@@ -835,8 +792,6 @@ void test_more_zeropoint()
std::cout << "." << std::flush;
// by Falko
-
-
std::string G = "024a96b5688ef573284664698968c38bb913cbfc82";
SecureVector<byte> sv_G_secp_comp = decode_hex ( G );
BigInt bi_p("0xffffffffffffffffffffffffffffffff7fffffff");
@@ -859,13 +814,14 @@ void test_more_zeropoint()
minus_p1.check_invariants();
PointGFp shouldBeZero = p1 + minus_p1;
shouldBeZero.check_invariants();
- GFpElement x1 = p1.get_affine_x();
- GFpElement y1 = p1.get_affine_y();
- GFpElement shouldBeY2 = -y1;
+ BigInt y1 = p1.get_affine_y();
+ y1 = curve.get_p() - y1;
- CHECK_MESSAGE(minus_p1.get_affine_x() == x1, "problem with minus_p1 : x");
- CHECK_MESSAGE(minus_p1.get_affine_y() == shouldBeY2, "problem with minus_p1 : y");
+ CHECK_MESSAGE(p1.get_affine_x() == minus_p1.get_affine_x(),
+ "problem with minus_p1 : x");
+ CHECK_MESSAGE(minus_p1.get_affine_y() == y1,
+ "problem with minus_p1 : y");
PointGFp zero(curve);
zero.check_invariants();