0

我想使用橢圓曲線加密使用Matyas Danter的phpecc庫在1中可用。不過,我收到以下錯誤,當我創建變量翹,雖然傳遞的參數是一個點..請幫助..橢圓曲線加密PHP:可捕捉的致命錯誤參數1傳遞給__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具有以下功能:

  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(G) - >錯誤

$愛麗絲=新ECDH($ G) - >正確

引起了巨大誤差的甲硅烷錯誤..

相關問題