Curves over y^2 + x*y = x^3 + a*x^2 + b
author | Jim Wigginton terrafrost@php.net |
---|---|
package | Default |
addPoint(array $p,array $q): array<mixed,\phpseclib3\Crypt\EC\BaseCurves\FiniteField>
array
array
array<mixed,\phpseclib3\Crypt\EC\BaseCurves\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
derivePoint( $m): array
Not supported because it is covered by patents. Quoting https://www.openssl.org/docs/man1.1.0/apps/ecparam.html ,
"Due to patent issues the compressed option is disabled by default for binary curves and can be enabled by defining the preprocessor macro OPENSSL_EC_BIN_PT_COMP at compile time."
array
doublePoint(array $p): array<mixed,\phpseclib3\Crypt\EC\BaseCurves\FiniteField>
array
array<mixed,\phpseclib3\Crypt\EC\BaseCurves\FiniteField>
getA(): \phpseclib3\Math\PrimeField\Integer
getB(): \phpseclib3\Math\PrimeField\Integer
getBasePoint(): array
array
getLength(): integer
integer
getLengthInBytes(): integer
integer
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)
setBasePoint(string|\phpseclib3\Math\BinaryField\Integer $x,string|\phpseclib3\Math\BinaryField\Integer $y)
string|\phpseclib3\Math\BinaryField\Integer
string|\phpseclib3\Math\BinaryField\Integer
setCoefficients(string $a,string $b)
string
string
setModulo( $modulo)
setOrder(\phpseclib3\Math\BigInteger $order)
setReduction(callable $func): object
callable
object
verifyPoint(array $p): boolean
array
boolean
factory :\phpseclib3\Math\FiniteField\Integer
var |
---|
\phpseclib3\Math\FiniteField\Integer
a :object
var |
---|
object
b :object
var |
---|
object
p :object
var |
---|
object
one :object
var |
---|
object