aboutsummaryrefslogtreecommitdiffstats
path: root/test/glv_test.cpp
diff options
context:
space:
mode:
authorMITSUNARI Shigeo <herumi@nifty.com>2017-06-07 13:47:18 +0800
committerMITSUNARI Shigeo <herumi@nifty.com>2017-06-07 13:47:18 +0800
commitabb068abd4c2d28a66c421ea2862b6286acee9e6 (patch)
tree2bdff7735f71a4b9146b07ffaa4d81c22c38919b /test/glv_test.cpp
parentda1816b0173117db363b82e9e2e66d0c8ad25f6b (diff)
downloadtangerine-mcl-abb068abd4c2d28a66c421ea2862b6286acee9e6.tar.gz
tangerine-mcl-abb068abd4c2d28a66c421ea2862b6286acee9e6.tar.zst
tangerine-mcl-abb068abd4c2d28a66c421ea2862b6286acee9e6.zip
rename GLV to GLV1
Diffstat (limited to 'test/glv_test.cpp')
-rw-r--r--test/glv_test.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/test/glv_test.cpp b/test/glv_test.cpp
index f78eff0..2171c46 100644
--- a/test/glv_test.cpp
+++ b/test/glv_test.cpp
@@ -24,7 +24,7 @@ struct oldGLV {
mpz_class c; // 2z + 1
void init(const mpz_class& r, const mpz_class& z)
{
- if (!Fp::squareRoot(w, -3)) throw cybozu::Exception("GLV:init");
+ if (!Fp::squareRoot(w, -3)) throw cybozu::Exception("oldGLV:init");
w = (w - 1) / 2;
this->r = r;
v = 1 + z * (4 + z * 6);
@@ -122,7 +122,7 @@ void testGLV(const mcl::bn::CurveParam& cp)
oldGLV oldGlv;
oldGlv.init(BN::param.r, BN::param.z);
- mcl::bn::GLV<Fp> glv;
+ mcl::bn::GLV1<Fp> glv;
glv.init(BN::param.r, BN::param.z);
compareLength(glv, oldGlv);
@@ -152,23 +152,25 @@ void testGLV(const mcl::bn::CurveParam& cp)
CYBOZU_BENCH_C("Ec::mul", 100, P1 = P0; s.setRand(rg); G1::mul, P2, P1, s.getMpz());
CYBOZU_BENCH_C("Ec::glv", 100, P1 = P0; s.setRand(rg); glv.mul, P2, P1, s.getMpz());
}
-
+/*
+ lambda = 6 * z * z
+ mul (lambda * 2) = FrobeniusOnTwist * 2
+*/
void testGLV2(const mcl::bn::CurveParam& cp)
{
bn384init(cp);
G2::setCompressedExpression(false);
G2 Q0, Q1, Q2;
- const mpz_class& p = BN::param.p;
- const mpz_class& r = BN::param.r;
const mpz_class& z = BN::param.z;
mpz_class lambda = 6 * z * z;
std::cout << std::hex;
Fp2 t;
for (int i = 1; i < 5; i++) {
BN::mapToG2(Q0, i);
- G2::mul(Q1, Q0, lambda * lambda);
+ G2::mul(Q1, Q0, lambda);
BN::FrobeniusOnTwist(Q2, Q0);
- BN::FrobeniusOnTwist(Q2, Q2);
+// Q1.normalize();
+// Q2.normalize();
printf("i=%d\n", i);
PUT(Q1);
PUT(Q2);
@@ -177,7 +179,8 @@ void testGLV2(const mcl::bn::CurveParam& cp)
CYBOZU_TEST_AUTO(glv)
{
-// testGLV2(mcl::bn::CurveFp254BNb);
+ testGLV2(mcl::bn::CurveFp254BNb);
+return;
testGLV(mcl::bn::CurveFp254BNb);
testGLV(mcl::bn::CurveFp382_1);
testGLV(mcl::bn::CurveFp382_2);