Closed makaveli713 closed 11 years ago
Remake this method like that:
public Point PointMultiplication(Point point, BigInteger n)
{
var newPoint = point;
var nBits = Auxiliary.Math.GetBits(n);
for (var i = 1; i < nBits.Length; i++)
{
newPoint = PointDoubling(newPoint);
if (nBits[i] == 1)
newPoint = PointAddition(newPoint, point);
}
return newPoint;
}
so right now it returns BigInteger
При умножении точки P(x, y) на 0 мы должны получить точку в бесконечности R(0,0)
При умножении точки P(x, y) на количество точек мы должны получить точку в бесконечности R(0,0)
При умножении точки P(x, y) на -n (n>0) мы должны получить точку - (P+P+...+P)
use this algorithm:![IMAG0899](https://f.cloud.github.com/assets/2111870/306063/ae476dd8-966c-11e2-8efb-7ddd8e62b8c6.jpg)