#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, и алгоритм должны были быть одинаковыми?