https://habr.com/ru/post/258285/
1. Есть приватный и публичный ключ на стороне сервера, который сгенерирован сервером заранее и используется для проверки подлинности сервера клиентом.
2. Они же используются для передачи ключа для симметричного шифрования, который сгенерирован клиентом, если для обмена ключами используется RSA
3. Но также вместо RSA может использоваться алгоритм Диффи-Хеллмана, при котором и клиент и сервер генерируют части ключа на своей стороне.