Curves over a*x^2 + y^2 = 1 + d*x^2*y^2
package | Default |
---|
__construct()
addPoint(array $p,array $q): array<mixed,\phpseclib3\Crypt\EC\Curves\FiniteField>
array
array
array<mixed,\phpseclib3\Crypt\EC\Curves\FiniteField>
convertInteger(\phpseclib3\Math\BigInteger $x): object
convertToAffine(array $p): array<mixed,object>
array
array<mixed,object>
convertToInternal(array $p): array<mixed,object>
array
array<mixed,object>
createRandomMultiplier(): \phpseclib3\Math\BigInteger
doublePoint(array $p): array<mixed,\phpseclib3\Crypt\EC\Curves\FiniteField>
array
array<mixed,\phpseclib3\Crypt\EC\Curves\FiniteField>
encodePoint(array $point): string
array
string
extractSecret(string $str): array
Implements steps 1-3 at https://tools.ietf.org/html/rfc8032#section-5.2.5
Used by the various key handlers
string
array
getA(): \phpseclib3\Math\PrimeField\Integer
getBasePoint(): array
array
getD(): \phpseclib3\Math\PrimeField\Integer
getLength(): integer
integer
getLengthInBytes(): integer
integer
getModulo(): \phpseclib3\Math\BigInteger
getOrder(): \phpseclib3\Math\BigInteger
multiplyAddPoints(array $points,array $scalars): array<mixed,integer>
array
array
array<mixed,integer>
multiplyPoint(array $p,\phpseclib3\Math\BigInteger $d): array
Uses the montgomery ladder technique as described here:
https://en.wikipedia.org/wiki/Elliptic_curve_point_multiplication#Montgomery_ladder https://github.com/phpecc/phpecc/issues/16#issuecomment-59176772
array
array
negatePoint(array $p): array<mixed,object>
array
array<mixed,object>
randomInteger(): object
object
rangeCheck(\phpseclib3\Math\BigInteger $x)
recoverX(\phpseclib3\Math\BigInteger $y,boolean $sign): array<mixed,object>
Implements steps 2-4 at https://tools.ietf.org/html/rfc8032#section-5.2.3
Used by EC\Keys\Common.php
boolean
array<mixed,object>
setBasePoint( $x, $y)
setCoefficients(\phpseclib3\Math\BigInteger $a,\phpseclib3\Math\BigInteger $d)
setModulo(\phpseclib3\Math\BigInteger $modulo)
setOrder(\phpseclib3\Math\BigInteger $order)
setReduction(callable $func): object
callable
object
verifyPoint(array $p): boolean
array
boolean
HASH
SIZE
a :object
var |
---|
object
d :object
var |
---|
object
p :array<mixed,object>
var |
---|
array<mixed,object>
zero :object
var |
---|
object
one :object
var |
---|
object
two :object
var |
---|
object
factory :\phpseclib3\Math\FiniteField\Integer
var |
---|
\phpseclib3\Math\FiniteField\Integer