0

J'essaie d'utiliser la cryptographie Elliptic Curve en utilisant les bibliothèques phpecc de Matyas Danter disponibles en 1. Cependant, je reçois l'erreur suivante lorsque je crée la variable Alice, bien que l'argument passé est un point .. s'il vous plaît aider ..Cryptographie Elliptic Curve PHP: erreur fatale attrayante argument 1 passé à __construct()

Catchable fatal error: Argument 1 passed to EcDH::__construct() must be an instance of Point, string given, called in C:\xampp\htdocs\ECC-example.php on line 31 and defined in C:\xampp\htdocs\classes\EcDH.php on line 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 a la fonction ci-dessous:

  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; 
} 

Répondre

0

le erreur était dans la dernière ligne

$ Alice = new ECDH (g) -> mauvais

$ Alice = new ECDH ($ g) -> correct

Une erreur Sily qui a provoqué une énorme erreur ..