шифрование — криптография с эллиптической кривой PHP: аргумент фатальной ошибки 1, передаваемый в __construct ()

Я пытаюсь использовать криптографию с эллиптической кривой, используя библиотеки phpecc Матиаса Дантера, доступные в 1 . Тем не менее, я получаю следующую ошибку при создании переменной Алиса, хотя переданный аргумент является точкой .. пожалуйста, помогите ..

Исправляемая фатальная ошибка: аргумент 1, передаваемый в EcDH :: __ construct (), должен быть экземпляром указанной строки, заданной в C: \ xampp \ htdocs \ ECC-example.php в строке 31 и определенной в C: \ xampp \ htdocs \ classes \ EcDH.php в строке 39

         include 'autoload.inc.php';
include 'classes/EcDH.php';
include 'classes/PHPECC.class.php';
include 'classes/SECurve.class.php';
$keypair = PHPECC::hex_keypair_genorate();

$g = NISTcurve::generator_192();
echo $g;
$Alice = new EcDH(g);

……………………………………

NISTcurve.php имеет следующую функцию:

         public static function generator_192() {
// NIST Curve P-192:
if (extension_loaded('gmp') && USE_EXT == 'GMP') {
$_p = '6277101735386680763835789423207666416083908700390324961279';
$_r = '6277101735386680763835789423176059013767194773182842284081';
$_b = gmp_Utils::gmp_hexdec('0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1');
$_Gx = gmp_Utils::gmp_hexdec('0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012');
$_Gy = gmp_Utils::gmp_hexdec('0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811');

$curve_192 = new CurveFp($_p, -3, $_b);
$generator_192 = new Point($curve_192, $_Gx, $_Gy, $_r);
} else if (extension_loaded('bcmath') && USE_EXT == 'BCMATH') {
$_p = '6277101735386680763835789423207666416083908700390324961279';
$_r = '6277101735386680763835789423176059013767194773182842284081';
$_b = bcmath_Utils::bchexdec('0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1');
$_Gx = bcmath_Utils::bchexdec('0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012');
$_Gy = bcmath_Utils::bchexdec('0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811');

$curve_192 = new CurveFp($_p, -3, $_b);
$generator_192 = new Point($curve_192, $_Gx, $_Gy, $_r);
}
return $generator_192;
}

0

Решение

Ошибка была в последней строке

$ Алиса = новый EcDH (г) -> неправильно

$ Алиса = новый EcDH ($ г) -> правильно

Глупая ошибка, которая вызвала огромную ошибку ..

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]