Я изучаю схему TLS 1.3 и пытаюсь реализовать базовые шаги рукопожатия в C ++ без использования готовых оболочек из OpenSSL, таких как SSL_accept
или SSL_do_handshake
. В проекте уже используется OpenSSL для обычных операций шифрования, поэтому я не хотел бы связывать его с любыми другими библиотеками шифрования, где вычисление x25519 более очевидно, чем в OpenSSL. Итак ...
есть два буфера:
unsigned char private_key[32];
RAND_bytes(private_key, 32);
unsigned char public_key[32];
memset(public_key, 0, 32);
Какой метод (ы) OpenSSL следует использовать для заполнения буфера public_key
байтами, вычисленными из private_key
с использованием x25519 al go (копирование и выделение как можно меньше)?