[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/vendor/phpseclib/phpseclib/phpseclib/Crypt/EC/BaseCurves/

FolderUp one level  
FileBase.php           [source] [218 lines]   Curve methods common to all curves PHP version 5 and 7
FileBinary.php         [source] [373 lines]   Curves over y^2 + x*y = x^3 + a*x^2 + b These are curves used in SEC 2 over prime fields: http://www.secg.org/SEC2-Ver-1.0.pdf The curve is a weierstrass curve with a[3] and a[2] set to 0.
FileKoblitzPrime.php   [source] [335 lines]   Generalized Koblitz Curves over y^2 = x^3 + b. According to http://www.secg.org/SEC2-Ver-1.0.pdf Koblitz curves are over the GF(2**m) finite field. Both the $a$ and $b$ coefficients are either 0 or 1. However, SEC2 generalizes the definition to include curves over GF(P) "which possess an efficiently computable endomorphism".
FileMontgomery.php     [source] [279 lines]   Curves over y^2 = x^3 + a*x + x Technically, a Montgomery curve has a coefficient for y^2 but for Curve25519 and Curve448 that coefficient is 1.
FilePrime.php          [source] [785 lines]   Curves over y^2 = x^3 + a*x + b These are curves used in SEC 2 over prime fields: http://www.secg.org/SEC2-Ver-1.0.pdf The curve is a weierstrass curve with a[1], a[3] and a[2] set to 0.
FileTwistedEdwards.php [source] [215 lines]   Curves over a*x^2 + y^2 = 1 + d*x^2*y^2 http://www.secg.org/SEC2-Ver-1.0.pdf provides for curves with custom parameters. ie. the coefficients can be arbitrary set through specially formatted keys, etc. As such, Prime.php is built very generically and it's not able to take full advantage of curves with 0 coefficients to produce simplified point doubling, point addition. Twisted Edwards curves, in contrast, do not have a way, currently, to customize them. As such, we can omit the super generic stuff from this class and let the named curves (Ed25519 and Ed448) define their own custom tailored point addition and point doubling methods.