internal override MutableECPoint Dup() { MutableECPointCurve25519 Q = new MutableECPointCurve25519(); Q.Set(this); return(Q); }
internal override MutableECPoint Decode(byte[] enc) { MutableECPointCurve25519 P = new MutableECPointCurve25519(); P.Decode(enc); return(P); }
internal override MutableECPoint MakeGenerator() { MutableECPointCurve25519 G = new MutableECPointCurve25519(); G.Decode(GetGenerator(false)); return(G); }
MutableECPointCurve25519 SameCurve(MutableECPoint Q) { MutableECPointCurve25519 R = Q as MutableECPointCurve25519; if (R == null) { throw new CryptoException("Mixed curves"); } return(R); }
internal override uint EqCT(MutableECPoint Q) { MutableECPointCurve25519 R = SameCurve(Q); return(x.EqCT(R.x)); }
void SetMuxInner(uint ctl, MutableECPointCurve25519 P1, MutableECPointCurve25519 P2) { x.CopyMux(ctl, P1.x, P2.x); }
internal override void Set(MutableECPoint Q, uint ctl) { MutableECPointCurve25519 R = SameCurve(Q); x.CondCopy(R.x, ctl); }
internal override void Set(MutableECPoint Q) { MutableECPointCurve25519 R = SameCurve(Q); x.Set(R.x); }