Ejemplo n.º 1
0
 public function testAddInfinityReturnsOriginalPoint()
 {
     $adapter = new Gmp();
     $curve = new CurveFp(23, 1, 1, $adapter);
     $infinity = $curve->getInfinity();
     $point = new Point($adapter, $curve, 13, 7, 7);
     $sum = $point->add($infinity);
     $this->assertTrue($point->equals($sum));
     $sum = $infinity->add($point);
     $this->assertTrue($point->equals($sum));
 }
Ejemplo n.º 2
0
 /**
  *
  * @dataProvider getAdapters
  */
 public function testInfinity(MathAdapterInterface $math)
 {
     $c = new CurveFp(23, 1, 1, $math);
     $g = $c->getPoint(13, 7, 7);
     $check = $c->getInfinity();
     for ($i = 0; $i < 8; $i++) {
         $mul = $i % 7;
         $p = $g->mul($mul);
         $this->assertTrue($check->equals($p), "{$g} * {$mul} = {$p}, expected {$check}");
         $check = $g->add($check);
     }
 }