protected Point Decrypt(CurvePoint d, CurvePoint c2) { var dinv = new Point(d.Point.XCoordinate, BigInteger.Multiply(d.Point.YCoordinate, BigInteger.MinusOne)); c2.Add(dinv); return(c2.Point); }