Для целей генерации ключей шифрования Python random.Random
не является подходящим выбором; его основной алгоритм, Mersenne Twister, не является генератором случайных чисел cryptographi c.
Вместо этого существуют так называемые функции вывода ключей (KDF, также называемые солеными хэшами), которые принимают как семя, так и соль генерировать ключ шифрования. Соль необходима для того, чтобы смягчить атаки перед вычислением. И если начальное число относительно легко угадать (например, начальное число представляет собой пароль), некоторые KDF намеренно тратят заметное время и / или память для вычисления атак на словарь.
Если ваша цель - отправлять сообщения безопасно между двумя компьютерами (например, между Raspberry Pi и P C), вам трудно помочь вам дальше, так как правильное решение зависит от ваших потребностей. Например, существуют установленные протоколы для установки безопасного канала между двумя компьютерами, включая TLS, J-PAKE и другие. Алгоритмы одноразовых паролей включают одноразовые пароли на основе ha sh (HOTP), одноразовые пароли на основе времени (TOTP) и другие. Протоколы безопасности, в частности, далеко не просты в реализации, и к ним лучше всего обращаться в Python через выделенный пакет Python.