@@ -66,15 +66,14 @@ discard block |
||
66 | 66 | } |
67 | 67 | |
68 | 68 | $lam = $this->equals($other) ? |
69 | - new S256Field(3)->mul($this->x->exp(2))->mul(new S256Field(2)->mul($this->y)->exp(S256Params::P() - 2)) : |
|
70 | - $other->y->sub($this->y)->mul($other->x->sub($this->x)->exp(S256Params::P() - 2)); |
|
69 | + new S256Field(3)->mul($this->x->exp(2))->mul(new S256Field(2)->mul($this->y)->exp(S256Params::P() - 2)) : $other->y->sub($this->y)->mul($other->x->sub($this->x)->exp(S256Params::P() - 2)); |
|
71 | 70 | |
72 | 71 | $x3 = $lam->mul($lam)->sub($this->x)->sub($other->x); |
73 | 72 | |
74 | 73 | return new self($x3, $this->x->sub($x3)->mul($lam)->sub($this->y)); |
75 | 74 | } |
76 | 75 | |
77 | - public function scalarMul(\GMP|int $coefficient): self |
|
76 | + public function scalarMul(\GMP | int $coefficient): self |
|
78 | 77 | { |
79 | 78 | // Optimization: reduce the coefficient modulo N before computing the multiplication |
80 | 79 | $c = $coefficient % S256Params::N(); |
@@ -130,8 +129,7 @@ discard block |
||
130 | 129 | $beta = $alpha->sqrt(); |
131 | 130 | |
132 | 131 | return "\x02" === $sec[0] ? |
133 | - new self($x, (0 == $beta->num % 2) ? $beta : new S256Field(S256Params::P() - $beta->num)) : |
|
134 | - new self($x, (0 == $beta->num % 2) ? new S256Field(S256Params::P() - $beta->num) : $beta); |
|
132 | + new self($x, (0 == $beta->num % 2) ? $beta : new S256Field(S256Params::P() - $beta->num)) : new self($x, (0 == $beta->num % 2) ? new S256Field(S256Params::P() - $beta->num) : $beta); |
|
135 | 133 | } |
136 | 134 | |
137 | 135 | public function sec(bool $compressed = true): string |
@@ -157,7 +155,7 @@ discard block |
||
157 | 155 | { |
158 | 156 | $sInv = gmp_powm($sig->s, S256Params::N() - 2, S256Params::N()); |
159 | 157 | |
160 | - $u = ($z * $sInv) % S256Params::N(); |
|
158 | + $u = ($z * $sInv) % S256Params::N(); |
|
161 | 159 | $v = ($sig->r * $sInv) % S256Params::N(); |
162 | 160 | |
163 | 161 | $R = S256Params::G()->scalarMul($u)->add($this->scalarMul($v)); |