void SampleRandomPoint(EC2 &point, fparams* params) { Big bigtmp; int itmp = rand()%2; do { bigtmp = rand(params->secparam, 2); point = EC2(bigtmp, itmp); } while (point_at_infinity(point.get_point())); }
void extract(EC2& A,GF2m& x,GF2m& y) { x=(A.get_point())->X; y=(A.get_point())->Y; }
EC2 mul(const Big& e1,const EC2& p1,const Big& e2,const EC2& p2) { EC2 t; ecurve2_mult2(e1.getbig(),p1.get_point(),e2.getbig(),p2.get_point(),t.get_point()); return t; }