getNumberTheory(); } /** * Returns a factory to create NIST Recommended curves and generators. * * @param MathAdapterInterface $adapter [optional] Defaults to the return value of EccFactory::getAdapter(). * @return NistCurve */ public static function getNistCurves(MathAdapterInterface $adapter = null) { return new NistCurve($adapter ?: self::getAdapter()); } /** * Returns a factory to return SECG Recommended curves and generators. * * @param MathAdapterInterface $adapter [optional] Defaults to the return value of EccFactory::getAdapter(). * @return SecgCurve */ public static function getSecgCurves(MathAdapterInterface $adapter = null) { return new SecgCurve($adapter ?: self::getAdapter()); } /** * Creates a new curve from arbitrary parameters. * * @param int|string $prime * @param int|string $a * @param int|string $b * @param MathAdapterInterface $adapter [optional] Defaults to the return value of EccFactory::getAdapter(). * @return \Mdanter\Ecc\Primitives\CurveFpInterface */ public static function createCurve($prime, $a, $b, MathAdapterInterface $adapter = null) { return new CurveFp($prime, $a, $b, $adapter ?: self::getAdapter()); } /** * * @param MathAdapterInterface $adapter [optional] Defaults to the return value of EccFactory::getAdapteR() * @return \Mdanter\Ecc\Crypto\Signature\Signer; */ public static function getSigner(MathAdapterInterface $adapter = null) { return new Signer($adapter ?: self::getAdapter()); } }