Как работать с асиметричным шифрованием?
Для примера RSA: везде пишут мол генерируется закрытый ключ и открытый. Открытым шифруем закрытым расшифровываем. Но как быть с ответом? Например закрытый на сервере, и мне надо зашифровать ответ. Как тут быть? Генерировать на стороне клиента закрытый и серверу отправить открытый, чтобы тот мог зашифровать ответ? Как-то зашифровать ответ закрытым и расшифровать открытым (хотя по задумке открытый передается открыто)? Или перейти на другой алгоритм шифрования, например симметричные шифры?
Ассиметричное шифрование и и расшифровка работают медленно. Поэтому этим методом передается только сгенерированный только что пароль сессии, а ассиметричное шифрование позволяет думать, что никто его не перехватил. Дальнейшая сессия шифруется симметричным быстрым алгоритмом.