Ключ ECC, сгенерированный с помощью команды openssl, и API openssl не совпадают

#encryption #openssl #cryptography #public-key-encryption #elliptic-curve

Вопрос:

Используется командная утилита openssl для генерации ключа, который используется для кодирования текста боли в зашифрованный текст.

     `# openssl pkeyutl -derive -inkey alice_priv_key.pem -peerkey bob_pub_key.pem -out alice_shared_secret.bin`
    
     # base64 alice_shared_secret.bin
    
 

Генерируемый ключ заключается в следующем

      **th1FJSGWJQ X6SrEWfZhH2HXr/3maXkArolNFpNuk/c=**
  
 

Я хочу сделать то же самое, используя открытый ssl api, и взял логику генерации ключей из ссылки, разделяемой в функции ecdh .Когда я генерирую ключ с помощью ecdh ,как было предложено, вычисляемый ключ отличается

  `unsigned char *ecdh(size_t *secret_len)
  {
  

   [link]( https://wiki.openssl.org/index.php/Elliptic_Curve_Diffie_Hellman )
    
   }

  `int main()
   {
    size_t  len = 0;
    unsigned char * key = ecdh(amp;len);
    int l= strlen((char *) key);
    gchar * b64key = g_base64_encode ( key , l ) ;
    printf("Base 64 encoded val %s", b64key);
    }`
    
 

База 64 в кодировке val pzJYdMwjcjA32m2PMxJUmSLYCMotGU7Dr2JBqzqzS1w=

Может ли кто-нибудь предположить , что здесь происходит не так, в основном ключ, сгенерированный с помощью команды openssl, и алгоритм должны были быть одинаковыми?