Есть ли модуль, который мой поиск не смог обнаружить, что позволит писать код следующим образом? Причина того, что вы хотите написать такой код, неважно. Все, что мне нужно - это код, который имеет простой API для генерации открытых и закрытых байтовых ключей и для легкого кодирования и декодирования данных с этими ключами.
import module, os
method, bits, data = 'RSA', 1024, os.urandom(1024)
public, private = module.generate_keys(method, bits)
assert isinstance(public, bytes) and isinstance(private, bytes)
assert module.decode(module.encode(data, private), public) == data
assert module.decode(module.encode(data, public), private) == data
Большая часть того, что кажется доступным, требует загрузки пакета и работает только на Python 2.x. Также довольно часто можно найти библиотеки, которые работают с файлами PEM или другими типами сертификатов. Я хотел бы избежать необходимости иметь дело с такими файлами, генерировать открытые и закрытые ключи "на лету" и быстро работать с данными в памяти.