예제 #1
0
  protected void initFields() {
    // Init Zr
    Zr = initFp(r);

    // Init Fq
    Fq = initFp(q);

    // Init Eq
    CurveField<Field> Eq = initEq();

    // k=1, hence phikOnr = (q-1)/r
    phikonr = Fq.getOrder().subtract(BigInteger.ONE).divide(r);

    // Init G1, G2, GT
    G1 = Eq;
    G2 = G1;
    GT = initGT();

    R = (Point) Eq.getGenNoCofac().duplicate();
  }
예제 #2
0
 protected CurveField<Field> initEq() {
   return new CurveField<Field>(random, Fq.newElement().set(a), Fq.newElement().set(b), r, h);
 }