В моем проекте я работаю над безопасным TCP-обменом между клиентом и сервером через небезопасную сеть. Сначала я думал просто передать это openssl, но я пришел к выводу, что (по причинам, выходящим за рамки этого вопроса), я бы предпочел иметь дело с ключами DSA вручную. Хотя эта часть достаточно проста, остается одна проблема: как бы я отправил ключ publi c на сервер, убедившись, что MITM не перехватывает этот ключ и не заменяет его собственным?
Я был изучая алгоритм обмена ключами Хилмана Diff ie, но я не нашел способа реализовать это в своем коде, не изобретая колесо, и я изо всех сил пытаюсь найти для него существующую библиотеку, поэтому я решил отступить немного и просто спросите:
Существует ли библиотека или какой-либо другой метод, который позволяет мне безопасно обмениваться ключами, в то же время позволяя мне применять ключи вручную? По сути, я хочу сам выполнять шифрование / дешифрование ключами, но мне нужен надежный способ обмена задействованных ключей publi c.
Использование python 3.6.9 на linux. У меня есть доступ к openssl и обычным linux -инструментам.