本文整理汇总了C++中ECn2::norm方法的典型用法代码示例。如果您正苦于以下问题:C++ ECn2::norm方法的具体用法?C++ ECn2::norm怎么用?C++ ECn2::norm使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ECn2
的用法示例。
在下文中一共展示了ECn2::norm方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
ECn2 HashG2(ECn2 &Qx0, Big &x, ZZn2 &X){
//vector=[ 1, 2, 4 ]
ECn2 r;
ECn2 xA;
ECn2 xB;
ECn2 xC;
ECn2 t0;
ECn2 Qx0_;
ECn2 Qx1;
ECn2 Qx1_;
ECn2 Qx2;
ECn2 Qx2_;
ECn2 Qx3;
ECn2 Qx3_;
Qx0_=-(Qx0);
Qx1=x*Qx0;
Qx1_=-(Qx1);
Qx2=x*Qx1;
Qx2_=-(Qx2);
Qx3=x*Qx2;
Qx3_=-(Qx3);
xA=Qx0;
xB=Qx0;
t0=xA+xB;
xB=psi(Qx1,X,2);
t0=t0+xB;
t0+=t0;
xB=Qx1_;
xC=Qx2_;
xB+=xC;
xC=Qx3;
xB+=xC;
xC=psi(Qx0,X,1);
xB+=xC;
xC=psi(Qx1_,X,1);
xB+=xC;
xC=psi(Qx2_,X,1);
xB+=xC;
xC=psi(Qx3,X,1);
xB+=xC;
xC=psi(Qx0_,X,2);
xB+=xC;
xC=psi(Qx2_,X,2);
xB+=xC;
xB.norm();
t0=t0+xB;
r=t0;
r.norm();
return r;
}
示例2: mul
ECn2 mul(Big& a,ECn2& P,Big& b,ECn2& Q)
{
ECn2 R;
ecn2_mul2_jsf(a.getbig(),&(P.fn),b.getbig(),&(Q.fn),&(R.fn));
R.norm();
return R;
}
示例3: ecap
BOOL ecap(ECn2& P,ECn& Q,Big& x,ZZn2 &X,ZZn12& r)
{
BOOL Ok;
Big xx,yy;
ZZn Qx,Qy;
P.norm();
Q.get(xx,yy); Qx=xx; Qy=yy;
Ok=fast_pairing(P,Qx,Qy,x,X,r);
if (Ok) return TRUE;
return FALSE;
}
示例4: cofactor
void cofactor(ECn2& S,ZZn2 &F,Big& x)
{
ECn2 T,K;
T=S;
T*=x;
T.norm();
K=(T+T)+T;
K.norm();
q_power_frobenius(K,F);
q_power_frobenius(S,F); q_power_frobenius(S,F); q_power_frobenius(S,F);
S+=T; S+=K;
q_power_frobenius(T,F); q_power_frobenius(T,F);
S+=T;
S.norm();
}
示例5: map
void map(ECn2& S,Big &x,ZZn2 &F)
{
ECn2 T,K;
T=S;
T*=x; // one multiplication by x only
T.norm();
K=(T+T);
K+=T;
K.norm();
q_power_frobenius(K,F);
q_power_frobenius(S,F); q_power_frobenius(S,F); q_power_frobenius(S,F);
S+=T; S+=K;
q_power_frobenius(T,F); q_power_frobenius(T,F);
S+=T;
S.norm();
}
示例6:
ECn2 mul4(ECn2* P,const Big* b)
{
int i,n=4;
ECn2 R;
big x[4];
ecn2 p[4];
for (i=0;i<n;i++)
{
x[i]=b[i].getbig();
p[i]=P[i].fn;
}
ecn2_mult4(x,p,&(R.fn));
R.norm();
return R;
}
示例7: precomp_for_mult
int PFC::precomp_for_mult(G2& w,BOOL small)
{
ECn2 v;
ZZn2 x,y;
int i,j,k,bp,is,t;
if (small) t=MR_ROUNDUP(2*S,WINDOW_SIZE);
else t=MR_ROUNDUP(bits(*ord),WINDOW_SIZE);
w.g.norm();
v=w.g;
w.mtable=new ECn2[1<<WINDOW_SIZE];
w.mtable[1]=v;
w.mtbits=t;
for (j=0;j<t;j++)
v+=v;
k=1;
for (i=2;i<(1<<WINDOW_SIZE);i++)
{
if (i==(1<<k))
{
k++;
v.norm();
w.mtable[i]=v;
for (j=0;j<t;j++)
v+=v;
continue;
}
bp=1;
for (j=0;j<k;j++)
{
if (i&bp)
{
is=1<<j;
w.mtable[i]+=w.mtable[is];
}
bp<<=1;
}
w.mtable[i].norm();
}
return (1<<WINDOW_SIZE);
}
示例8: cofactor
void cofactor(ECn2& S,ZZn2 &F,Big& t)
{
ZZn2 x,y,w,z;
ECn2 K,T;
K=S;
z=F;
w=F*F;
S.get(x,y);
x=w*conj(x);
y=z*w*conj(y);
S.set(x,y);
x=w*conj(x);
y=z*w*conj(y);
T.set(x,y);
S+=K;
S*=t;
S-=T;
S-=K;
S.norm();
}
示例9: cofactor
void cofactor(ECn2& S,ZZn2 &F,Big& t)
{
ZZn2 x,y,w,z;
ZZn6 h,l,W;
ECn2 K,T;
K=S;
z=F;
w=F*F;
S.get(x,y);
x=w*conj(x);
y=z*w*conj(y);
S.set(x,y);
x=w*conj(x);
y=z*w*conj(y);
T.set(x,y);
S+=K;
S*=t;
S-=T;
S-=K;
S.norm();
// First "untwist" the point A to (X,Y) where X,Y in F_p^{12}
/*
K=S;
ZZn12 X,Y,X2,Y2;
S.get(x,y);
h.clear();
l.set1(x);
X.set(l,h);
l.clear();
h.set1(y);
Y.set(l,h);
// Apply the Frobenius..
X.powq(F);
Y.powq(F);
X2=X; X2.powq(F);
Y2=Y; Y2.powq(F);
// Now "twist" it back to S
X.get(l,h);
l.get1(x);
Y.get(l,h);
h.get1(y);
S.set(x,y);
// untwist unto T
X2.get(l,h);
l.get1(x);
Y2.get(l,h);
h.get1(y);
T.set(x,y);
S+=K;
S*=t;
S-=T;
S-=K;
*/
}