sm2国密算法big x,y,x_3,tmp;
epoint *nP;
x=mirvar(0);
y=mirvar(0);
x_3=mirvar(0);
tmp=mirvar(0);
nP=epoint_init();
//test if the pubKey is the point at infinity
if (point_at_infinity(pubKey))// if pubKey is point at infinity, return error;
return ERR_INFINITY_POINT;
//test if x<p and y<p both hold
epoint_get(pubKey,x,y);
if((compare(x,para_p)!=-1) || (compare(y,para_p)!=-1))
return ERR_NOT_VALID_ELEMENT;
if(Test_Point(pubKey)!=0)
return ERR_NOT_VALID_POINT;
//test if the order of pubKey is equal